Сравнение смоделированных и исторических данных
Хорошая симуляция должна давать результаты, близкие к историческим данным. Было ли это справедливо для симуляции из видео? В этом упражнении вы изучите один из способов проверить результаты симуляции и убедиться в этом!
Сначала вы выполните симуляцию с использованием многомерного нормального распределения, а также вектора средних значений и ковариационной матрицы набора данных dia. Затем вы сравните средние значения исторических и смоделированных данных — насколько они совпадают?
Набор данных о диабете загружен в виде DataFrame под именем dia. Также импортированы следующие библиотеки: pandas как pd, numpy как np и scipy.stats как st.
Это упражнение является частью курса
Симуляции Монте-Карло на Python
Инструкции к упражнению
- Выполните симуляцию 10 000 раз, используя многомерное нормальное распределение, а также вектор средних значений и ковариационную матрицу набора данных
dia. - С помощью функции
.mean()из pandas вычислите средние значения столбцовbmiиtcв историческом наборе данныхdiaи в смоделированных результатахdf_results, чтобы оценить их сходство. - Аналогично используйте
.cov()из pandas, чтобы вычислить ковариационные матрицы столбцовbmiиtcв наборе данныхdiaи в смоделированных результатах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(____)