Оцінювання якості моделі за R-squared

Моделювання даних у Tidyverse

Albert Y. Kim

Assistant Professor of Statistical and Data Sciences

R-squared

$R^2 = 1 - \frac{\text{Var}(\text{residuals})}{\text{Var}(y)}$

  • $R^2$ між 0 і 1
  • Менший $R^2$ ~ «гірше узгодження»
  • $R^2 = 1$ ~ «ідеальне узгодження», а $R^2 = 0$ ~ «немає узгодження»
Моделювання даних у Tidyverse

Приклад високого R-squared

$R^2 = 1 - \frac{\text{Var}(\text{residuals})}{\text{Var}(y)}$

Моделювання даних у Tidyverse

Високий R-squared: «ідеальне» узгодження

$R^2 = 1 - \frac{\text{Var}(\text{residuals})}{\text{Var}(y)}$

Моделювання даних у Tidyverse

Приклад низького R-squared

$R^2 = 1 - \frac{\text{Var}(\text{residuals})}{\text{Var}(y)}$

Моделювання даних у Tidyverse

Приклад низького R-squared

$R^2 = 1 - \frac{\text{Var}(\text{residuals})}{\text{Var}(y)}$

Моделювання даних у Tidyverse

Числове тлумачення

$$

Оскільки $\text{Var}(y) \geq \text{Var}(\text{residuals})$ і $$

$R^2 = 1 - \frac{\text{Var}(\text{residuals})}{\text{Var}(y)} = \frac{\text{Var}(y) - \text{Var}(\text{residuals})}{\text{Var}(y)}$

$$

Тлумачення $R^2$: частка загальної варіації вихідної змінної $y$, яку пояснює модель.

Моделювання даних у Tidyverse

Обчислення R-squared

# Модель 1: price як функція size і року побудови
model_price_1 <- lm(log10_price ~ log10_size + yr_built,
                    data = house_prices)

get_regression_points(model_price_1) %>%
  summarize(r_squared = 1 - var(residual)/var(log10_price))
# A tibble: 1 x 1
  r_squared
      <dbl>
1     0.483
Моделювання даних у Tidyverse

Обчислення R-squared

# Модель 3: price як функція size і condition
model_price_3 <- lm(log10_price ~ log10_size + condition,
                    data = house_prices)

get_regression_points(model_price_3) %>%
  summarize(r_squared = 1 - var(residual)/var(log10_price))
# A tibble: 1 x 1
  r_squared
      <dbl>
1     0.462
Моделювання даних у Tidyverse

Давайте потренуємось!

Моделювання даних у Tidyverse

Preparing Video For Download...