Özet istatistikler

Python ile Monte Carlo Simülasyonları

Izzy Weber

Curriculum Manager, DataCamp

Yaşa göre sonuçlar

İlk ve dördüncü yaş çeyrek dilimindeki kişiler için sonuç farkı nedir? simüle sonuçlarda Age değişkeninin histogramı

Python ile Monte Carlo Simülasyonları

Yaşa göre sonuçlar

print(np.quantile(df_summary["age"], 0.25))
print(np.quantile(df_summary["age"], 0.75))
39.78584463094688
57.52092642086441
Python ile Monte Carlo Simülasyonları

Yaşa göre sonuçlar

age_q25 = np.quantile(df_summary["age"], 0.25)
age_q75 = np.quantile(df_summary["age"], 0.75)


mean_age_q75_outcome = np.mean(df_summary[df_summary["age"] > age_q75]["predicted_y"]) mean_age_q25_outcome = np.mean(df_summary[df_summary["age"] < age_q25]["predicted_y"])
mean_age_q75_outcome - mean_age_q25_outcome
34.09429663553621
Python ile Monte Carlo Simülasyonları

Yaş ve bmi'a göre sonuç farkları

  • bmi ve yaşın birinci ve dördüncü çeyrek dilimlerinde olanlar için sonuç farkı nedir?
  • Bu fark için yüzde 95 güven aralığı ve standart sapma nedir?
Python ile Monte Carlo Simülasyonları

Yaş ve bmi'a göre sonuç farkları

y_diffs = []
for i in range(1000):
    simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=1000, 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_sum = pd.concat([df_results, df_y], axis=1)
age_q25 = np.quantile(df_sum["age"], 0.25) age_q75 = np.quantile(df_sum["age"], 0.75) bmi_q25 = np.quantile(df_sum["bmi"], 0.25) bmi_q75 = np.quantile(df_sum["bmi"], 0.75)
q75_outcome = np.mean(df_sum[(df_sum["bmi"] > bmi_q75) & (df_sum["age"] > age_q75)]["predicted_y"]) q25_outcome = np.mean(df_sum[(df_sum["bmi"] < bmi_q25) & (df_sum["age"] < age_q25)]["predicted_y"])
y_diff = q75_outcome - q25_outcome y_diffs.append(y_diff)
Python ile Monte Carlo Simülasyonları

Yaş ve bmi'a göre sonuç farkları

  • Ortalama:
    np.mean(y_diffs)
    
132.4948511247819
  • %95 güven aralığı:
    np.quantile(y_diffs,0.025)
    
120.73340800299707
np.quantile(y_diffs,0.975)
144.1344994507557
  • Standart sapma:
    np.std(y_diffs)
    
5.9322225537128
  • Sonuçların histogramı:
    sns.histplot(y_diffs)
    
    y_diffs histogramı
Python ile Monte Carlo Simülasyonları

Hadi pratik yapalım!

Python ile Monte Carlo Simülasyonları

Preparing Video For Download...