Обчисліть R-squared
Тепер, коли ви обчислили RMSE для передбачень вашої моделі, перевірте, наскільки добре модель узгоджується з даними, тобто яку частку варіації вона пояснює. Це можна зробити за допомогою \(R^2\).
Нехай \(y\) — справжній результат, \(p\) — передбачення моделі, а \(res = y - p\) — залишки передбачень.
Тоді загальна сума квадратів \(tss\) ("загальна варіація") даних дорівнює:
$$ tss = \sum{(y - \overline{y})^2} $$
де \(\overline{y}\) — середнє значення \(y\).
Сума квадратів залишкових помилок моделі \(rss\) дорівнює: $$ rss = \sum{res^2} $$
\(R^2\) (коефіцієнт детермінації), тобто «пояснена варіація» моделлю, дорівнює:
$$ 1 - \frac{rss}{tss} $$
Після обчислення \(R^2\) ви порівняєте отримане значення з \(R^2\), яке повертає glance() (docs). glance() повертає датафрейм з одним рядком; для лінійної регресійної моделі одна з колонок містить \(R^2\) моделі на тренувальних даних.
Датафрейм unemployment уже завантажено й він містить колонки predictions і residuals, які ви обчислили в попередній вправі. Також доступна змінна unemployment_model.
Ця вправа є частиною курсу
Кероване навчання в R: регресія
Інструкції до вправи
- Обчисліть середнє
female_unemploymentі запишіть його у зміннуfe_mean. - Обчисліть загальну суму квадратів і запишіть її у змінну
tss. - Обчисліть суму квадратів залишків і запишіть її у змінну
rss. - Обчисліть \(R^2\). Це добра узгодженість (коли \(R^2\) близьке до 1)?
- Використайте
glance()щоб отримати \(R^2\) з моделі. Чи збігається воно з тим, що ви обчислили?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# unemployment is available
summary(unemployment)
# unemployment_model is available
summary(unemployment_model)
# Calculate and print the mean female_unemployment: fe_mean
(fe_mean <- ___)
# Calculate and print the total sum of squares: tss
(tss <- ___((___ - ___)^2))
# Calculate and print residual sum of squares: rss
(rss <- ___)
# Calculate and print the R-squared: rsq
(rsq <- ___)
# Get R-squared from glance and print it
(rsq_glance <- ___(___)$___)