НачатьНачать бесплатно

Сравнение смоделированных и исторических данных

Хорошая симуляция должна давать результаты, близкие к историческим данным. Было ли это справедливо для симуляции из видео? В этом упражнении вы изучите один из способов проверить результаты симуляции и убедиться в этом!

Сначала вы выполните симуляцию с использованием многомерного нормального распределения, а также вектора средних значений и ковариационной матрицы набора данных 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(____)
Редактировать и запускать код