Обобщенная линейная регрессия на языке R
Автор: Рыжкина Д.А.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Основной раздел
Статья в выпуске: 12 (30), 2017 года.
Бесплатный доступ
В статье описывается построение линейной регрессионной модели на языке R в R-STUDIO.
Линейная регрессия, регрессионная модель, язык r
Короткий адрес: https://sciup.org/140270543
IDR: 140270543
Текст научной статьи Обобщенная линейная регрессия на языке R
Регрессия заключается в построении функции независимых переменных (также называемых предикторами) для прогнозирования зависимой переменной (также называемой откликом). Например, банки оценивают риск претендентов на ипотечное кредитование на основании их возраста, доходов, расходов, профессий, количества иждивенцев, общего кредитного лимита и т. д.
Обобщенная линейная модель (GLM) обобщает линейную регрессию, позволяя линейной модели быть связанной с переменной отклика через функцию связи и позволяя величину отклонения каждого измерения быть функцией его предсказанного значения. Он объединяет различные другие статистические модели, включая линейную регрессию, логическую регрессию и регрессию Пуассона. Функция glm () используется для обобщения линейных моделей, определяемых путем предоставления символического описания линейного предсказателя и описания распределения ошибок.
Обобщенная линейная модель построена ниже с glm() по данным bodyfat.
-
> data("bodyfat", package="mboost")
-
> myFormula <- DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth
-
> bodyfat.glm <- glm(myFormula, family = gaussian("log"), data = bodyfat)
-
> summary(bodyfat.glm)
Call:
glm(formula = myFormula, family = gaussian("log"), data = bodyfat)
Residuals: |
|||
Min |
1Q Median |
3Q |
Max |
-11.5688 Coefficients: |
-3.0065 0.1266 Estimate Std. Error t value Pr(>|t|) |
2.8310 |
10.0966 |
(Intercept) Age |
0.734293 0.308949 2.377 0.02042 0.002129 0.001446 1.473 0.14560 |
* |
|
waistcirc |
0.010489 0.002479 4.231 7.44e-05 |
*** |
|
hipcirc elbowbreadth |
0.009702 0.003231 3.003 0.00379 0.002355 0.045686 0.052 0.95905 |
** |
|
kneebreadth |
0.063188 0.028193 2.241 0.02843 |
* |
Signif. codes: 0 ´S***ˇS 0.001 ´S**ˇS 0.01 ´ S*ˇS 0.05 ´ S.ˇS 0.1 ´ S ˇS 1
Null deviance: 8536.0 on 70 degrees of freedom Residual deviance: 1320.4 on
65 degrees of freedom AIC: 423.02
Number of Fisher Scoring iterations: 5
-
> pred <- predict(bodyfat.glm, type="response")
В приведенном выше коде тип указывает тип требуемого прогноза. Значение по умолчанию находится на шкале линейных предикторов, а альтернативный «ответ» находится в масштабе переменной ответа.
-
> plot(bodyfat$DEXfat, pred, xlab="Observed Values", ylab="Predicted Values")
> abline(a=0, b=1)

Рисунок 1 - Прогнозирование с помощью обобщенной модели линейной регрессии
В приведенном выше коде, если используется family = gaussian («identity»), построенная модель будет похожа на линейную регрессию. Можно также сделать его логистической регрессией, установив семейство в биномиальное («logit»).
Список литературы Обобщенная линейная регрессия на языке R
- [R] regression [Электронный ресурс]. - Режим доступа: http://charlieya.tistory.com/10 - (Дата обращения: 26.12.2017)