Учебники

R — множественная регрессия

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

Общее математическое уравнение множественной регрессии —

y = a + b1x1 + b2x2 +...bnxn

Ниже приведено описание используемых параметров:

  • у — переменная ответа.

  • a, b1, b2 … bn — коэффициенты.

  • x1, x2, … xn — переменные предиктора.

у — переменная ответа.

a, b1, b2 … bn — коэффициенты.

x1, x2, … xn — переменные предиктора.

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

Функция lm ()

Эта функция создает модель отношений между предиктором и переменной ответа.

Синтаксис

Основной синтаксис функции lm () в множественной регрессии —

lm(y ~ x1+x2+x3...,data)

Ниже приведено описание используемых параметров:

  • формула — это символ, представляющий связь между переменной ответа и переменными предиктора.

  • Данные — это вектор, к которому будет применена формула.

формула — это символ, представляющий связь между переменной ответа и переменными предиктора.

Данные — это вектор, к которому будет применена формула.

пример

Входные данные

Рассмотрим набор данных «mtcars», доступный в среде R. Это дает сравнение между различными моделями автомобилей с точки зрения пробега на галлон (миль на галлон), рабочего объема цилиндра («disp»), лошадиных сил («л.с.»), веса автомобиля («wt») и некоторых других параметров.

Цель модели — установить связь между «mpg» в качестве переменной отклика с «disp», «hp» и «wt» в качестве переменных-предикторов. Для этого мы создаем подмножество этих переменных из набора данных mtcars.

Live Demo

input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))

Когда мы выполняем приведенный выше код, он дает следующий результат —

                   mpg   disp   hp    wt
Mazda RX4          21.0  160    110   2.620
Mazda RX4 Wag      21.0  160    110   2.875
Datsun 710         22.8  108     93   2.320
Hornet 4 Drive     21.4  258    110   3.215
Hornet Sportabout  18.7  360    175   3.440
Valiant            18.1  225    105   3.460

Создать модель отношений и получить коэффициенты

Live Demo

input <- mtcars[,c("mpg","disp","hp","wt")]

# Create the relationship model.
model <- lm(mpg~disp+hp+wt, data = input)

# Show the model.
print(model)

# Get the Intercept and coefficients as vector elements.
cat("# # # # The Coefficient Values # # # ","\n")

a <- coef(model)[1]
print(a)

Xdisp <- coef(model)[2]
Xhp <- coef(model)[3]
Xwt <- coef(model)[4]

print(Xdisp)
print(Xhp)
print(Xwt)

Когда мы выполняем приведенный выше код, он дает следующий результат —

Call:
lm(formula = mpg ~ disp + hp + wt, data = input)

Coefficients:
(Intercept)         disp           hp           wt  
  37.105505      -0.000937        -0.031157    -3.800891  

# # # # The Coefficient Values # # # 
(Intercept) 
   37.10551 
         disp 
-0.0009370091 
         hp 
-0.03115655 
       wt 
-3.800891 

Создать уравнение для регрессионной модели

На основе приведенного выше значения перехвата и коэффициента мы создаем математическое уравнение.

Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

Применить уравнение для прогнозирования новых значений

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

Для автомобиля с disp = 221, hp = 102 и wt = 2,91 прогнозируемый пробег составляет —