Come interpretare un grafico dei residui curvi (con esempio)


I grafici dei residui vengono utilizzati per valutare se i residui di un modello di regressione sono distribuiti normalmente e se presentano o meno eteroschedasticità .

Idealmente, si vorrebbe che i punti in un grafico residuo fossero sparsi in modo casuale attorno a un valore pari a zero, senza uno schema chiaro.

Se incontri un grafico residuo in cui i punti del grafico hanno uno schema curvo, probabilmente significa che il modello di regressione specificato per i dati non è corretto.

Nella maggior parte dei casi, ciò significa che si è tentato di adattare un modello di regressione lineare a un set di dati che segue invece un trend quadratico.

L’esempio seguente mostra come interpretare (e correggere) nella pratica un diagramma residuo curvo.

Esempio: interpretazione di un grafico dei residui curvo

Supponiamo di raccogliere i seguenti dati sul numero di ore lavorate settimanalmente e sul livello di felicità riportato (su una scala da 0 a 100) per 11 persone diverse in un ufficio:

Se creassimo un semplice grafico a dispersione delle ore lavorate rispetto al livello di felicità, ecco come apparirebbe:

Supponiamo ora di voler adattare un modello di regressione utilizzando le ore lavorate per prevedere i livelli di felicità.

Il codice seguente mostra come adattare un modello di regressione lineare semplice a questo set di dati e produrre un grafico dei residui in R:

 #create dataframe
df <- data. frame (hours=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                 happiness=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))
#fit linear regression model
linear_model <- lm(happiness ~ hours, data=df)

#get list of residuals 
res <- resid(linear_model)

#produce residual vs. fitted plot
plot(fitted(linear_model), res, xlab=' Fitted Values ', ylab=' Residuals ')

#add a horizontal line at 0 
abline(0,0)

diagramma residuo curvo

L’asse x mostra i valori adattati e l’asse y mostra i residui.

Dal grafico, possiamo vedere che esiste uno schema curvo nei residui, indicando che un modello di regressione lineare non fornisce un adattamento adeguato a questo set di dati.

Il codice seguente mostra come adattare un modello di regressione quadratica a questo set di dati e produrre un grafico dei residui in R:

 #create dataframe
df <- data. frame (hours=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                 happiness=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))
#define quadratic term to use in model
df$hours2 <- df$hours^2

#fit quadratic regression model
quadratic_model <- lm(happiness ~ hours + hours2, data=df)

#get list of residuals 
res <- resid(quadratic_model)

#produce residual vs. fitted plot
plot(fitted(quadratic_model), res, xlab=' Fitted Values ', ylab=' Residuals ')

#add a horizontal line at 0 
abline(0,0) 

Ancora una volta, l’asse x mostra i valori adattati e l’asse y mostra i residui.

Dal grafico possiamo vedere che i residui sono sparsi in modo casuale attorno allo zero e non esiste una tendenza chiara nei residui.

Questo ci dice che un modello di regressione quadratica fa un lavoro molto migliore nell’adattare questo set di dati rispetto a un modello di regressione lineare.

Ciò dovrebbe avere senso dato che abbiamo visto che la vera relazione tra le ore lavorate e i livelli di felicità sembrava essere quadratica piuttosto che lineare.

Risorse addizionali

I seguenti tutorial spiegano come creare grafici dei residui utilizzando diversi software statistici:

Come creare manualmente un percorso residuo
Come creare una trama residua in R
Come creare un grafico residuo in Excel
Come creare un grafico residuo in Python

Aggiungi un commento

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