R - Regressione multipla
La regressione multipla è un'estensione della regressione lineare in relazione tra più di due variabili. Nella relazione lineare semplice abbiamo un predittore e una variabile di risposta, ma nella regressione multipla abbiamo più di una variabile predittore e una variabile di risposta.
L'equazione matematica generale per la regressione multipla è:
y = a + b1x1 + b2x2 +...bnxn
Di seguito la descrizione dei parametri utilizzati:
y è la variabile di risposta.
a, b1, b2...bn sono i coefficienti.
x1, x2, ...xn sono le variabili predittive.
Creiamo il modello di regressione utilizzando il lm()funzione in R. Il modello determina il valore dei coefficienti utilizzando i dati di input. Successivamente possiamo prevedere il valore della variabile di risposta per un dato insieme di variabili predittive utilizzando questi coefficienti.
Funzione lm ()
Questa funzione crea il modello di relazione tra il predittore e la variabile di risposta.
Sintassi
La sintassi di base per lm() funzione nella regressione multipla è -
lm(y ~ x1+x2+x3...,data)
Di seguito la descrizione dei parametri utilizzati:
formula è un simbolo che presenta la relazione tra la variabile di risposta e le variabili predittive.
data è il vettore su cui verrà applicata la formula.
Esempio
Dati in ingresso
Considera il set di dati "mtcars" disponibile nell'ambiente R. Fornisce un confronto tra diversi modelli di auto in termini di chilometraggio per gallone (mpg), cilindrata ("disp"), potenza del motore ("hp"), peso dell'auto ("wt") e alcuni altri parametri.
L'obiettivo del modello è stabilire la relazione tra "mpg" come variabile di risposta con "disp", "hp" e "wt" come variabili predittive. A questo scopo creiamo un sottoinsieme di queste variabili dal set di dati mtcars.
input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))
Quando eseguiamo il codice sopra, produce il seguente risultato:
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
Crea un modello di relazione e ottieni i coefficienti
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 eseguiamo il codice sopra, produce il seguente risultato:
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
Crea equazione per modello di regressione
Sulla base dei valori di intercetta e coefficiente di cui sopra, creiamo l'equazione matematica.
Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3
Applica equazione per prevedere nuovi valori
Possiamo utilizzare l'equazione di regressione creata sopra per prevedere il chilometraggio quando viene fornita una nuova serie di valori per spostamento, potenza e peso.
Per un'auto con disp = 221, hp = 102 e wt = 2,91 il chilometraggio previsto è -
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104