R - Regressão Múltipla

A regressão múltipla é uma extensão da regressão linear no relacionamento entre mais de duas variáveis. Na relação linear simples, temos um preditor e uma variável de resposta, mas na regressão múltipla temos mais de uma variável preditora e uma variável de resposta.

A equação matemática geral para regressão múltipla é -

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

A seguir está a descrição dos parâmetros usados ​​-

  • y é a variável de resposta.

  • a, b1, b2...bn são os coeficientes.

  • x1, x2, ...xn são as variáveis ​​preditoras.

Criamos o modelo de regressão usando o lm()função em R. O modelo determina o valor dos coeficientes usando os dados de entrada. Em seguida, podemos prever o valor da variável de resposta para um determinado conjunto de variáveis ​​preditoras usando esses coeficientes.

Função lm ()

Esta função cria o modelo de relacionamento entre o preditor e a variável de resposta.

Sintaxe

A sintaxe básica para lm() função na regressão múltipla é -

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

A seguir está a descrição dos parâmetros usados ​​-

  • formula é um símbolo que apresenta a relação entre a variável de resposta e as variáveis ​​preditoras.

  • data é o vetor no qual a fórmula será aplicada.

Exemplo

Dados de entrada

Considere o conjunto de dados "mtcars" disponível no ambiente R. Ele fornece uma comparação entre diferentes modelos de carros em termos de quilometragem por galão (mpg), deslocamento do cilindro ("disp"), cavalos de força ("hp"), peso do carro ("wt") e mais alguns parâmetros.

O objetivo do modelo é estabelecer a relação entre "mpg" como uma variável de resposta com "disp", "hp" e "wt" como variáveis ​​preditoras. Criamos um subconjunto dessas variáveis ​​a partir do conjunto de dados mtcars para esse propósito.

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

Quando executamos o código acima, ele produz o seguinte resultado -

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

Crie um modelo de relacionamento e obtenha os coeficientes

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)

Quando executamos o código acima, ele produz o seguinte resultado -

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

Criar Equação para Modelo de Regressão

Com base na interceptação e nos valores dos coeficientes acima, criamos a equação matemática.

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

Aplicar equação para prever novos valores

Podemos usar a equação de regressão criada acima para prever a quilometragem quando um novo conjunto de valores para deslocamento, cavalos de força e peso é fornecido.

Para um carro com disp = 221, hp = 102 e wt = 2,91, a quilometragem prevista é -

Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104