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)

appezzamenti residui parziali in R

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *