Bắt đầu ngayBắt đầu miễn phí

Mục tiêu thể hình

Hãy mô phỏng cách mức độ vận động ảnh hưởng đến việc giảm cân bằng các thiết bị theo dõi sức khỏe hiện đại. Vào những ngày bạn đến phòng gym, bạn đi trung bình khoảng 15k bước, và khoảng 5k bước vào những ngày còn lại. Bạn đến gym 40% thời gian. Hãy mô hình hóa số bước trong một ngày như một biến ngẫu nhiên Poisson với trung bình \(\lambda\) phụ thuộc vào việc bạn có đến gym hay không.

Để đơn giản, giả sử bạn có 80% khả năng giảm 1lb và 20% khả năng tăng 1lb khi đi hơn 10k bước. Xác suất sẽ đảo ngược khi bạn đi ít hơn 8k bước. Còn lại, khả năng tăng hoặc giảm 1lb là như nhau. Với tất cả thông tin này, hãy tìm xác suất giảm cân trong một tháng.

Bài tập này là một phần của khóa học

Mô phỏng Thống kê bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Mô phỏng steps như một biến ngẫu nhiên Poisson cho một ngày dựa trên giá trị lam.
  • Gán prob[0.2, 0.8] nếu steps > 10000 hoặc [0.8, 0.2] nếu steps < 8000. Cộng dồn toàn bộ cân nặng tăng hoặc giảm trong một tháng được lưu trong w.
  • Tính và in ra tỷ lệ mô phỏng mà tổng cân nặng trong một tháng trong outcomes nhỏ hơn 0. Lưu là weight_loss_outcomes_frac và dùng giá trị đó để in kết quả của bạn.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Simulate steps & choose prob 
for _ in range(sims):
    w = []
    for i in range(days):
        lam = np.random.choice([5000, 15000], p=[0.6, 0.4], size=1)
        ____ = np.random.poisson(____)
        if steps > 10000: 
            prob = ____
        elif steps < 8000: 
            prob = ____
        else:
            prob = [0.5, 0.5]
        w.append(np.random.choice([1, -1], p=prob))
    outcomes.append(sum(w))

# Calculate fraction of outcomes where there was a weight loss
weight_loss_outcomes_frac = ____
print("Probability of Weight Loss = {}".format(____))
Chỉnh sửa và Chạy Mã