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