Začněte nyníZačněte zdarma

Proč potřebujeme simulace?

V poslední lekci jsi provedl/a vícerozměrné normální rozdělení pomocí průměru a kovarianční matice datasetu dia. Teď využiješ výsledky simulace k zodpovězení zajímavých otázek!

Možná tě napadne: proč vlastně simulace provádíme, když máme historická data? Nemůžeme je použít přímo k zodpovězení otázek?

To je skvělá otázka. Monte Carlo simulace jsou založeny na modelování pomocí pravděpodobnostních rozdělení, která poskytují celé pravděpodobnostní rozdělení ke zkoumání (velký počet vzorků) – na rozdíl od omezeného počtu datových bodů dostupných v historických datech.

Můžeš se například ptát: jaký je 0,1. kvantil proměnné age u pacientů s diabetem v naší simulaci? Na tuto otázku nelze odpovědět přímo z historických dat dia: ta obsahují jen 442 záznamů, takže z nich tisící hodnotu jednoduše nevyčteme. Místo toho můžeš využít výsledky Monte Carlo simulace – a přesně to teď uděláš!

Dataset diabetes je načten jako DataFrame dia a následující knihovny jsou za tebe naimportovány: pandas jako pd, numpy jako np a scipy.stats jako st.

Toto cvičení je součástí kurzu

Monte Carlo simulace v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej 0,1. kvantil (spodní tisícinu) proměnné tc ve výsledcích simulace.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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(____)
Upravit a spustit kód