BKİ sonuçlarını değerlendirme
Tahmin edilen hastalık ilerlemesindeki (yanıt, y) fark, BKİ'si en yüksek %10'luk dilimde olan hastalar ile en düşük %10'luk dilimde olan hastalar arasında nedir? Bu soruyu yanıtlamak için çok değişkenli normal dağılımdan örnekleyen bir simülasyonun sonuçlarını kullanacaksın!
Simülasyon senin için zaten çalıştırıldı: görevin df_results içindeki simülasyon sonuçlarını değerlendirmek.
Ş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ı
Egzersiz talimatları
- Simülasyon sonuçlarındaki
bmiiçin 10. ve 90. yüzdelikleri hesaplamak üzerenp.quantile()kullan vebmi_q10ilebmi_q90olarak kaydet. df_summary'yi filtrelemek ve tahmin edilen y değerlerini elde etmek içinbmi_q10vebmi_q90'ı kullan.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=20000, cov=cov_dia)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
predicted_y = regr_model.predict(df_results)
df_y = pd.DataFrame(predicted_y, columns=["predicted_y"])
df_summary = pd.concat([df_results,df_y], axis=1)
# Calculate the 10th and 90th quantile of bmi in the simulated results
bmi_q10 = np.quantile(df_summary["bmi"], ____)
bmi_q90 = np.quantile(df_summary["bmi"], ____)
# Use bmi_q10 and bmi_q90 to filter df_summary and obtain predicted y values
mean_bmi_q90_outcome = np.mean(df_summary[____]["predicted_y"])
mean_bmi_q10_outcome = np.mean(df_summary[____]["predicted_y"])
y_diff = mean_bmi_q90_outcome - mean_bmi_q10_outcome
print(y_diff)