Как найти коэффициент детерминации (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-квадрата «хорошим» для данной регрессионной модели.