Jämföra simulerade och historiska data
En bra simulering bör ge resultat som liknar de historiska data. Stämde det för simuleringen i videon? I den här övningen undersöker du ett sätt att granska simuleringsresultaten och ta reda på det!
Först utför du en simulering med den multivariata normalfördelningen och medelvärdes- och kovariansmatrisen för dia. Sedan jämför du medelvärdena för de historiska och simulerade data. Är de lika?
Diabetesdatamängden har laddats in som en DataFrame, dia, och följande bibliotek har importerats åt dig: pandas som pd, numpy som np och scipy.stats som st.
Den här övningen är en del av kursen
Monte Carlo-simuleringar i Python
Övningsinstruktioner
- Utför simuleringen 10 000 gånger med den multivariata normalfördelningen och medelvärdes- och kovariansmatrisen för
dia. - Använd funktionen
.mean()i pandas för att beräkna medelvärdena för kolumnernabmiochtci den historiska datamängdendiaoch de simuleradebmi- ochtc-resultaten fråndf_results, för att bedöma om de är lika. - Använd på samma sätt
.cov()från pandas för att beräkna kovariansmatrisen för kolumnernabmiochtcidiaoch de simuleradebmi- ochtc-resultaten fråndf_results, för att bedöma om de är lika.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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(____)