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

Коэффициент детерминации R²

Ранее мы рассматривали ещё одну меру качества модели — коэффициент детерминации R² — как отношение RSS к VAR. Если умножить числитель и знаменатель на 1/n, получим эквивалентную форму: отношение дисперсии остатков к дисперсии линейного тренда в моделируемых данных. Эту величину можно интерпретировать как долю дисперсии данных, которую «объясняет» модель, в противовес разбросу остатков (то есть тому, что остаётся после удаления линейного тренда).

Данные x_data, y_data и предсказания модели y_model для наилучшей подгонки уже загружены. Ваша задача — вычислить коэффициент R², чтобы оценить, насколько хорошо линейная модель описывает вариацию в данных.

Это упражнение является частью курса

Введение в линейное моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • Вычислите residuals (остатки), вычтя y_data из y_model, и deviations (отклонения), вычтя y_data из np.mean() от y_data.
  • Вычислите дисперсию residuals и дисперсию deviations, применив np.mean() и np.square() к каждой из величин.
  • Вычислите r_squared как 1 минус отношение var_residuals / var_deviations и выведите результат на экран.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data

# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))

# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))
Редактировать и запускать код