Come creare grafici residui parziali in r
La regressione lineare multipla è un metodo statistico che possiamo utilizzare per comprendere la relazione tra più variabili predittive e una variabile di risposta .
Tuttavia, uno dei presupposti chiave della regressione lineare multipla è che esista una relazione lineare tra ciascuna variabile predittrice e la variabile di risposta.
Se questa ipotesi non viene soddisfatta, i risultati del modello di regressione potrebbero non essere affidabili.
Un modo per verificare questo presupposto è creare un grafico dei residui parziali , che mostri i residui di una variabile predittore rispetto alla variabile di risposta.
L’esempio seguente mostra come creare grafici dei residui parziali per un modello di regressione in R.
Esempio: come creare grafici residui parziali in R
Supponiamo di adattare un modello di regressione con tre variabili predittive in R:
#make this example reproducible set. seeds (0) #define response variable y <- c(1:1000) #define three predictor variables x1 <- c(1:1000)*runif(n=1000) x2 <- (c(1:1000)*rnorm(n=1000))^2 x3 <- (c(1:1000)*rnorm(n=1000))^3 #fit multiple linear regression model model <- lm(y~x1+x2+x3))
Possiamo utilizzare la funzione crPlots() del pacchetto auto in R per creare grafici residui parziali per ciascuna variabile predittrice nel modello:
library (car) #create partial residual plots crPlots(model)
La linea blu mostra i residui attesi se la relazione tra il predittore e la variabile di risposta fosse lineare. La linea rosa mostra i residui effettivi.
Se le due linee sono significativamente diverse, ciò indica una relazione non lineare.
Dai grafici sopra possiamo vedere che i residui per x2 e x3 appaiono non lineari.
Ciò viola il presupposto di linearità della regressione lineare multipla. Un modo per risolvere questo problema è utilizzare una trasformazione di radice quadrata o cubica sulle variabili predittive:
library (car) #fit new model with transformed predictor variables model_transformed <- lm(y~x1+sqrt(x2)+log10(x3^(1/3))) #create partial residual plots for new model crPlots(model_transformed)
Dai grafici dei residui parziali, possiamo vedere che x2 ora ha una relazione più lineare con la variabile di risposta.
La variabile predittrice x3 è ancora in qualche modo non lineare, quindi potremmo decidere di provare un’altra trasformazione o eventualmente rimuovere del tutto la variabile dal modello.
Risorse addizionali
I seguenti tutorial spiegano come creare altri grafici comuni in R:
Come creare grafici diagnostici in R
Come creare un grafico in scala e posizione in R
Come creare una trama residua in R