ÎncepețiÎncepe gratuit

De ce avem nevoie de simulări?

În ultima lecție, ai realizat o distribuție normală multivariată folosind media și matricea de covarianță a setului de date dia. Acum vei răspunde la întrebări de interes folosind rezultatele simulării!

Poate te întrebi: de ce realizăm simulări când avem deja date istorice? Nu putem oare folosi direct datele pentru a răspunde la întrebările de interes?

Întrebare excelentă. Simulările Monte Carlo se bazează pe modelare cu distribuții de probabilitate, care furnizează întreaga distribuție de probabilitate pentru analiză (un număr mare de eșantioane), în loc să se limiteze la numărul redus de puncte de date disponibile în datele istorice.

De exemplu, poți pune întrebări de genul: care este cuantila 0,1 a variabilei age pentru pacienții cu diabet din simularea noastră? Nu putem răspunde la această întrebare folosind direct datele istorice dia: deoarece acesta conține doar 442 de înregistrări, nu putem calcula care este a o-mia valoare. În schimb, poți valorifica rezultatele unei simulări Monte Carlo — exact asta vei face acum!

Setul de date despre diabet a fost încărcat ca DataFrame, dia, iar următoarele biblioteci au fost importate pentru tine: pandas ca pd, numpy ca np și scipy.stats ca st.

Acest exercițiu face parte din cursul

Simulări Monte Carlo în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează cuantila 0,1 (cel mai de jos 1.000-lea) a variabilei tc din rezultatele simulării.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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(____)
Editează și rulează codul