Porównanie danych symulowanych z historycznymi
Dobra symulacja powinna dawać wyniki zbliżone do danych historycznych. Czy tak było w przypadku symulacji z filmu? W tym ćwiczeniu sprawdzisz jeden ze sposobów oceny wyników symulacji!
Najpierw przeprowadzisz symulację z wykorzystaniem wielowymiarowego rozkładu normalnego oraz średniej i macierzy kowariancji zbioru dia. Następnie porównasz średnie wartości danych historycznych i symulowanych. Czy są do siebie podobne?
Zbiór danych dotyczący cukrzycy został wczytany jako DataFrame dia. Zaimportowano dla ciebie następujące biblioteki: pandas jako pd, numpy jako np oraz scipy.stats jako st.
To ćwiczenie jest częścią kursu
Symulacje Monte Carlo w Pythonie
Instrukcje do ćwiczenia
- Przeprowadź symulację 10 000 razy, korzystając z wielowymiarowego rozkładu normalnego oraz średniej i macierzy kowariancji zbioru
dia. - Użyj funkcji
.mean()z biblioteki pandas, aby obliczyć średnie wartości kolumnbmiitcw historycznym zbiorze danychdiaoraz w symulowanych wynikach zdf_results– sprawdź, czy są do siebie podobne. - Podobnie, użyj
.cov()z pandas, aby obliczyć macierz kowariancji dla kolumnbmiitcw zbiorzediaoraz w symulowanych wynikach zdf_results– oceń, czy wyniki są zbliżone.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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()
# Complete the code to perform the simulation
simulation_results = st.multivariate_normal.rvs(____)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
# Calculate bmi and tc means for the historical and simulated results
print(dia[["bmi","tc"]].____)
print(____)
# Calculate bmi and tc covariances for the historical and simulated results
print(____)
print(____)