Множественная регрессия является продолжением линейной регрессии в связи между более чем двумя переменными. В простом линейном отношении у нас есть один предиктор и одна переменная ответа, но в множественной регрессии мы имеем более одной переменной предиктора и одну переменную ответа.
Общее математическое уравнение множественной регрессии —
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.
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
Создать модель отношений и получить коэффициенты
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 прогнозируемый пробег составляет —