Как найти коэффициент детерминации (R-квадрат) в R


Коэффициент детерминации (обычно обозначаемый как R 2 ) представляет собой долю дисперсии переменной отклика , которая может быть объяснена независимыми переменными в регрессионной модели.

В этом руководстве представлен пример того, как найти и интерпретировать R 2 в регрессионной модели в R.

Связанный:Что такое хорошее значение R-квадрата?

Пример: найти и интерпретировать R-квадрат в R

Предположим, у нас есть следующий набор данных, который содержит данные о количестве учебных часов, сданных подготовительных экзаменах и результатах экзаменов, полученных для 15 студентов:

#create data frame
df <- data.frame(hours=c(1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5, 3),
 prep_exams=c(1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4, 4),
 score=c(76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90, 82))

#view first six rows of data frame
head(df)

 hours prep_exams score
1 1 1 76
2 2 3 78
3 2 3 85
4 4 5 88
5 2 2 72
6 1 2 69

В следующем коде показано, как подобрать модель множественной линейной регрессии к этому набору данных и просмотреть выходные данные модели в R:

#fit regression model
model <- lm(score~hours+prep_exams, data=df)

#view model summary
summary(model)

Call:
lm(formula = score ~ hours + prep_exams, data = df)

Residuals:
 Min 1Q Median 3Q Max 
-7.9896 -2.5514 0.3079 3.3370 7.0352 

Coefficients:
 Estimate Std. Error t value Pr(>|t|) 
(Intercept) 71.8078 3.5222 20.387 1.12e-10 \*\*\*
hours 5.0247 0.8964 5.606 0.000115 \*\*\*
prep_exams -1.2975 0.9689 -1.339 0.205339 
---
Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.944 on 12 degrees of freedom
Multiple R-squared: 0.7237, Adjusted R-squared: 0.6776 
F-statistic: 15.71 on 2 and 12 DF, p-value: 0.0004454

R-квадрат модели (показан в самом низу вывода) оказывается равным 0,7237 .

Это означает, что 72,37% вариаций в экзаменационных баллах можно объяснить количеством часов обучения и количеством сданных подготовительных экзаменов.

Обратите внимание, что вы также можете получить доступ к этому значению, используя следующий синтаксис:

summary(model)$r.squared

[1] 0.7236545

Как интерпретировать значение R-квадрата

Значение R-квадрата всегда будет находиться в диапазоне от 0 до 1.

Значение 1 указывает, что независимые переменные могут полностью объяснить дисперсию переменной отклика, а значение 0 указывает на то, что независимые переменные не могут объяснить дисперсию переменной отклика.

В целом, чем больше значение R-квадрата регрессионной модели, тем лучше независимые переменные способны предсказать значение переменной отклика.

Прочтитеэту статью , чтобы узнать, как определить, считается ли данное значение R-квадрата «хорошим» для данной регрессионной модели.

Связанный: Как рассчитать скорректированный R-квадрат в R