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

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

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

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

#create dataset
data <- data.frame(x = c(1, 1, 2, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
 y = c(13, 14, 17, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#fit simple linear regression model
model <- lm(y ~ x, data = data)

#create scatterplot of data
plot(data$x, data$y)

#add fitted regression line
abline(model)
Постройте простую линию линейной регрессии в R с диаграммой рассеяния

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

Вместо этого мы можем использовать графики с добавленными переменными (иногда называемые «графиками частичной регрессии»), которые представляют собой отдельные графики, отображающие взаимосвязь между переменной отклика и одной переменной-предиктором, при этом контролируя наличие других переменных-предикторов в модели .

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

Пример: построение результатов множественной линейной регрессии в R

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

#fit multiple linear regression model
model <- lm(mpg ~ disp + hp + drat, data = mtcars)

#view results of model
summary(model)

Call:
lm(formula = mpg ~ disp + hp + drat, data = mtcars)

Residuals:
 Min 1Q Median 3Q Max 
-5.1225 -1.8454 -0.4456 1.1342 6.4958 

Coefficients:
 Estimate Std. Error t value Pr(>|t|) 
(Intercept) 19.344293 6.370882 3.036 0.00513 \*\*
disp -0.019232 0.009371 -2.052 0.04960 \* 
hp -0.031229 0.013345 -2.340 0.02663 \* 
drat 2.714975 1.487366 1.825 0.07863.
---
Signif. codes: 0 ‘\*\*\*’ 0.001 ‘\*\*’ 0.01 ‘\*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.008 on 28 degrees of freedom
Multiple R-squared: 0.775, Adjusted R-squared: 0.7509 
F-statistic: 32.15 on 3 and 28 DF, p-value: 3.28e-09

Из результатов видно, что p-значения для каждого из коэффициентов меньше 0,1. Для простоты предположим, что каждая предикторная переменная значима и должна быть включена в модель.

Чтобы создать дополнительные графики переменных, мы можем использовать функцию avPlots() из пакета car :

#load car package
library(car)

#produce added variable plots
avPlots(model)
Построение множественной линейной регрессии в R

Вот как интерпретировать каждый сюжет:

  • На оси X отображается одна предикторная переменная, а на оси Y — переменная отклика.
  • Синяя линия показывает связь между переменной-предиктором и переменной ответа, при этом значение всех остальных переменных-предикторов остается постоянным .
  • Точки, отмеченные на каждом графике, представляют 2 наблюдения с наибольшими остатками и 2 наблюдения с наибольшим частичным рычагом.

Обратите внимание, что угол линии на каждом графике соответствует знаку коэффициента из расчетного уравнения регрессии.

Например, вот оценочные коэффициенты для каждой предикторной переменной из модели:

  • дисп : -0,019232
  • л.с.: -0,031229
  • цена: 2.714975

Обратите внимание, что угол линии положительный на графике добавленной переменной для drat и отрицательный для disp и hp , что соответствует знакам их оценочных коэффициентов:

Добавлен переменный график в R

Хотя мы не можем построить единственную подобранную линию регрессии на двумерном графике, поскольку у нас есть несколько переменных-предикторов, эти добавленные графики переменных позволяют нам наблюдать взаимосвязь между каждой отдельной переменной-предиктором и переменной отклика, сохраняя при этом другие переменные-предикторы постоянными.

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