Mulai sekarangMulai 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 merupakan bagian dari kursus

Simulasi Monte Carlo di Python

Lihat Kursus

Instruksi latihan

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

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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