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


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

В этом руководстве представлен пример того, как найти и интерпретировать R2 в регрессионной модели в 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    
---
Significant. 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *