MulaiMulai sekarang secara gratis

Mengapa kita memerlukan simulasi?

Pada pelajaran sebelumnya, Anda menjalankan distribusi normal multivariat menggunakan mean dan matriks kovarians dari dia. Kini, Anda akan menjawab pertanyaan yang menarik menggunakan hasil simulasi!

Anda mungkin bertanya: mengapa kita melakukan simulasi jika kita punya data historis? Bukankah kita bisa langsung menggunakan datanya untuk menjawab pertanyaan yang menarik?

Pertanyaan ini sangat baik. Simulasi Monte Carlo didasarkan pada pemodelan menggunakan distribusi probabilitas, yang menghasilkan keseluruhan distribusi probabilitas untuk ditelaah (sejumlah besar sampel), bukan jumlah titik data yang terbatas pada data historis.

Sebagai contoh, Anda dapat mengajukan pertanyaan seperti berapa kuantil ke-0,1 dari variabel age untuk pasien diabetes dalam simulasi kita? Kita tidak dapat menjawab pertanyaan ini hanya dengan data historis dia: karena hanya memiliki 442 catatan, kita tidak bisa menghitung nilai ke-seribu. Sebagai gantinya, Anda dapat memanfaatkan hasil simulasi Monte Carlo—dan itulah yang akan Anda lakukan sekarang!

Himpunan data diabetes telah dimuat sebagai DataFrame, dia, dan pustaka berikut telah diimpor untuk Anda: pandas sebagai pd, numpy sebagai np, dan scipy.stats sebagai st.

Latihan ini adalah bagian dari kursus

Simulasi Monte Carlo di Python

Lihat Kursus

Petunjuk latihan

  • Hitung kuantil ke-0,1 (1.000 terbawah) dari variabel tc pada hasil simulasi.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

cov_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].cov()
mean_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].mean()

simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=10000, cov=cov_dia)

df_results = pd.DataFrame(simulation_results, columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])

# Calculate the 0.1st quantile of the tc variable
print(____)
Edit dan Jalankan Kode