เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เป้าหมายด้านสุขภาพ

มาสร้างโมเดลเพื่อดูว่าระดับกิจกรรมส่งผลต่อการลดน้ำหนักอย่างไร โดยใช้ข้อมูลจากเครื่องติดตามสุขภาพ ในวันที่ไปออกกำลังกายที่ฟิตเนส จะเดินเฉลี่ยประมาณ 15,000 ก้าว และประมาณ 5,000 ก้าวในวันอื่น โดยไปฟิตเนส 40% ของเวลาทั้งหมด ให้สร้างโมเดลจำนวนก้าวต่อวันเป็นตัวแปรสุ่มแบบ Poisson ที่มีค่าเฉลี่ย \(\lambda\) ขึ้นอยู่กับว่าได้ไปฟิตเนสหรือไม่

เพื่อความง่าย สมมติว่าเมื่อเดินได้มากกว่า 10,000 ก้าว จะมีโอกาส 80% ที่น้ำหนักจะลด 1 ปอนด์ และ 20% ที่น้ำหนักจะเพิ่ม 1 ปอนด์ ส่วนเมื่อเดินได้น้อยกว่า 8,000 ก้าว ความน่าจะเป็นจะสลับกัน และในกรณีอื่นจะมีโอกาสเพิ่มหรือลดน้ำหนักเท่ากัน จากข้อมูลทั้งหมดนี้ ให้หาความน่าจะเป็นที่น้ำหนักจะลดลงภายในหนึ่งเดือน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจำลองทางสถิติด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • จำลอง steps เป็นตัวแปรสุ่มแบบ Poisson สำหรับแต่ละวัน โดยอิงจากค่าของ lam
  • กำหนด prob เป็น [0.2, 0.8] ถ้า steps > 10000 หรือเป็น [0.8, 0.2] ถ้า steps < 8000 จากนั้นรวมน้ำหนักที่ลดหรือเพิ่มขึ้นตลอดหนึ่งเดือนไว้ใน w
  • คำนวณและแสดงสัดส่วนของการจำลองที่น้ำหนักรวมต่อเดือนใน outcomes มีค่าน้อยกว่า 0 บันทึกไว้เป็น weight_loss_outcomes_frac แล้วใช้ค่านั้นแสดงผลลัพธ์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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(____))
แก้ไขและรันโค้ด