Порівняння змодельованих і історичних даних
Якісна симуляція має давати результати, подібні до історичних даних. Чи було це справедливим для симуляції у відео? У цій вправі ви дослідите один зі способів перевірити результати симуляції й з'ясуєте це!
Спочатку ви виконаєте симуляцію, використовуючи багатовимірний нормальний розподіл і вектори середніх та матрицю коваріацій dia. Потім перевірите середні значення як для історичних даних, так і для змодельованих. Вони подібні?
Набір даних про діабет завантажено як датафрейм dia, а також для вас імпортовано такі бібліотеки: pandas як pd, numpy як np і scipy.stats як st.
Ця вправа є частиною курсу
Моделювання Монте-Карло в Python
Інструкції до вправи
- Виконайте симуляцію 10 000 разів, використовуючи багатовимірний нормальний розподіл та вектори середніх і матрицю коваріацій
dia. - Скористайтеся функцією
.mean()у pandas, щоб обчислити середні значення стовпцівbmiіtcв історичному наборі данихdiaта змодельованих результатівbmiіtcзdf_results, щоб оцінити, чи вони подібні. - Аналогічно, використайте
.cov()із pandas, щоб обчислити матрицю коваріацій стовпцівbmiіtcуdiaта змодельованих результатівbmiіtcзdf_results, щоб оцінити, чи вони подібні.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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(____)