Как извлечь коэффициенты регрессии из функции lm() в R


Вы можете использовать следующие методы для извлечения коэффициентов регрессии из функции lm() в R:

Метод 1: извлечение только коэффициентов регрессии

model$coefficients

Метод 2: извлечение коэффициентов регрессии со стандартной ошибкой, T-статистикой и P-значениями

summary(model)$coefficients

В следующем примере показано, как использовать эти методы на практике.

Пример. Извлечение коэффициентов регрессии из lm() в R

Предположим, мы подгоняем следующую модель множественной линейной регрессии в R:

#create data frame
df <- data.frame(rating=c(67, 75, 79, 85, 90, 96, 97),
 points=c(8, 12, 16, 15, 22, 28, 24),
 assists=c(4, 6, 6, 5, 3, 8, 7),
 rebounds=c(1, 4, 3, 3, 2, 6, 7))

#fit multiple linear regression model
model <- lm(rating ~ points + assists + rebounds, data=df)

Мы можем использовать функцию summary() для просмотра всей сводки регрессионной модели:

#view model summary
summary(model)

Call:
lm(formula = rating ~ points + assists + rebounds, data = df)

Residuals:
 1 2 3 4 5 6 7 
-1.5902 -1.7181 0.2413 4.8597 -1.0201 -0.6082 -0.1644 

Coefficients:
 Estimate Std. Error t value Pr(>|t|) 
(Intercept) 66.4355 6.6932 9.926 0.00218 \*\*
points 1.2152 0.2788 4.359 0.02232 \* 
assists -2.5968 1.6263 -1.597 0.20860 
rebounds 2.8202 1.6118 1.750 0.17847 
---
Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.193 on 3 degrees of freedom
Multiple R-squared: 0.9589, Adjusted R-squared: 0.9179 
F-statistic: 23.35 on 3 and 3 DF, p-value: 0.01396

Чтобы просмотреть только коэффициенты регрессии, мы можем использовать коэффициенты модели $ следующим образом:

#view only regression coefficients of model
model$coefficients

(Intercept) points assists rebounds 
 66.435519 1.215203 -2.596789 2.820224

Мы можем использовать эти коэффициенты, чтобы написать следующее подобранное уравнение регрессии:

Рейтинг = 66,43551 + 1,21520(очки) – 2,59678(ассисты) + 2,82022(подборы)

Чтобы просмотреть коэффициенты регрессии вместе с их стандартными ошибками, t-статистикой и p-значениями, мы можем использовать итоговые (модельные) $ коэффициенты следующим образом:

#view regression coefficients with standard errors, t-statistics, and p-values
summary(model)$coefficients

 Estimate Std. Error t value Pr(>|t|)
(Intercept) 66.435519 6.6931808 9.925852 0.002175313
points 1.215203 0.2787838 4.358942 0.022315418
assists -2.596789 1.6262899 -1.596757 0.208600183
rebounds 2.820224 1.6117911 1.749745 0.178471275

Мы также можем получить доступ к определенным значениям в этом выводе.

Например, мы можем использовать следующий код для доступа к p-значению для переменной points :

#view p-value for points variable
summary(model)$coefficients[" points", " Pr(>|t|) "]

[1] 0.02231542

Или мы могли бы использовать следующий код для доступа к p-значению для каждого из коэффициентов регрессии:

#view p-value for all variables
summary(model)$coefficients[, " Pr(>|t|) "]

(Intercept) points assists rebounds 
0.002175313 0.022315418 0.208600183 0.178471275

Значения p показаны для каждого коэффициента регрессии в модели.

Вы можете использовать аналогичный синтаксис для доступа к любым значениям в выходных данных регрессии.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как выполнить простую линейную регрессию в R
Как выполнить множественную линейную регрессию в R
Как создать остаточный график в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.