MulaiMulai sekarang secara gratis

Target kebugaran

Mari memodelkan bagaimana tingkat aktivitas memengaruhi penurunan berat badan menggunakan pelacak kebugaran modern. Pada hari ketika Anda pergi ke gym, Anda rata-rata sekitar 15 ribu langkah, dan sekitar 5 ribu langkah pada hari lainnya. Anda pergi ke gym 40% dari waktu. Mari memodelkan jumlah langkah dalam sehari sebagai peubah acak Poisson dengan rata-rata \(\lambda\) yang bergantung pada apakah Anda pergi ke gym atau tidak.

Untuk menyederhanakan, anggap Anda memiliki peluang 80% untuk turun 1 lb dan 20% untuk naik 1 lb ketika Anda melampaui 10 ribu langkah. Probabilitasnya berbalik ketika Anda kurang dari 8 ribu langkah. Selain itu, peluang naik atau turun 1 lb adalah sama besar. Dengan semua informasi ini, temukan probabilitas mengalami penurunan berat badan dalam sebulan.

Latihan ini adalah bagian dari kursus

Simulasi Statistik di Python

Lihat Kursus

Petunjuk latihan

  • Simulasikan steps sebagai peubah acak Poisson untuk hari tertentu berdasarkan nilai lam.
  • Atur prob menjadi [0.2, 0.8] jika steps > 10000 atau [0.8, 0.2] jika steps < 8000. Jumlahkan seluruh kenaikan atau penurunan berat badan dalam sebulan yang disimpan di w.
  • Hitung dan cetak fraksi simulasi ketika total berat untuk sebulan di outcomes kurang dari 0. Simpan sebagai weight_loss_outcomes_frac dan gunakan itu untuk mencetak hasil Anda.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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(____))
Edit dan Jalankan Kode