BaşlayınÜcretsiz başlayın

Neden simülasyonlara ihtiyaç duyarız?

Son derste, dia'nın ortalama ve kovaryans matrisini kullanarak çok değişkenli normal dağılımdan örnekleme yaptın. Şimdi, simülasyon sonuçlarını kullanarak ilgi çekici soruları yanıtlayacaksın!

Aklına şu gelebilir: elimizde tarihsel veriler varken neden simülasyon yapıyoruz? İlgi duyduğumuz soruları doğrudan verinin kendisiyle yanıtlayamaz mıyız?

Bu harika bir soru. Monte Carlo simülasyonları, olasılık dağılımlarını kullanan bir modellemeye dayanır ve tarihsel verideki sınırlı sayıdaki gözlem noktası yerine inceleme için tüm olasılık dağılımını (çok sayıda örnek) sunar.

Örneğin, şu soruyu sorabilirsin: simülasyonumuzdaki diyabet hastaları için age değişkeninin binde birinci (0.1'inci) kantili nedir? Bu soruyu tarihsel veri dia ile yanıtlayamayız: sadece 442 kayıt olduğu için binde birinci değeri hesaplayamayız. Bunun yerine, şimdi yapacağın gibi, bir Monte Carlo simülasyonunun sonuçlarından yararlanabilirsin!

Diyabet veri kümesi bir DataFrame olarak dia ismiyle yüklendi ve şu kütüphaneler senin için içe aktarıldı: pandas pd olarak, numpy np olarak ve scipy.stats st olarak.

Bu egzersiz, kursun bir parçasıdır

Python ile Monte Carlo Simülasyonları

Kursa Göz Atın

Egzersiz talimatları

  • Simülasyon sonuçlarında tc değişkeninin 0.1'inci kantilini (en alt binde 1) hesapla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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(____)
Kodu Düzenle ve Çalıştır