Коэффициент детерминации 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(____))