Come creare un istogramma dei residui in r


Uno dei presupposti principali della regressione lineare è che i residui siano distribuiti normalmente.

Un modo per verificare visivamente questa ipotesi è creare un istogramma dei residui e osservare se la distribuzione segue o meno una “forma a campana” che ricorda la distribuzione normale .

Questo tutorial fornisce un esempio passo passo di come creare un istogramma di residui per un modello di regressione in R.

Passaggio 1: creare i dati

Innanzitutto, creiamo alcuni dati falsi con cui lavorare:

 #make this example reproducible
set.seed(0)

#createdata
x1 <- rnorm(n=100, 2, 1)
x2 <- rnorm(100, 4, 3)
y <- rnorm(100, 2, 3)
data <- data.frame(x1, x2, y)

#view first six rows of data
head(data)

        x1 x2 y
1 3.262954 6.3455776 -1.1371530
2 1.673767 1.6696701 -0.6886338
3 3.329799 2.1520303 5.8081615
4 3.272429 4.1397409 3.7815228
5 2.414641 0.6088427 4.3269030
6 0.460050 5.7301563 6.6721111

Passaggio 2: adattare il modello di regressione

Successivamente, adatteremo ai dati un modello di regressione lineare multipla :

 #fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=data)

Passaggio 3: crea un istogramma dei residui

Infine, utilizzeremo il pacchetto di visualizzazione ggplot per creare un istogramma dei residui del modello:

 #load ggplot2
library (ggplot2)

#create histogram of residuals
ggplot(data = data, aes (x = model$residuals)) +
    geom_histogram(fill = ' steelblue ', color = ' black ') +
    labs(title = ' Histogram of Residuals ', x = ' Residuals ', y = ' Frequency ')

Istogramma dei residui in R

Tieni presente che possiamo anche specificare il numero di contenitori in cui posizionare i residui utilizzando l’argomento bin .

Meno riquadri ci sono, più larghe saranno le barre nell’istogramma. Ad esempio, potremmo specificare 20 contenitori :

 #create histogram of residuals
ggplot(data = data, aes (x = model$residuals)) +
    geom_histogram(bins = 20 , fill = ' steelblue ', color = ' black ') +
    labs(title = ' Histogram of Residuals ', x = ' Residuals ', y = ' Frequency ') 

Istogramma residuo in R

Oppure potremmo specificare 10 contenitori :

 #create histogram of residuals
ggplot(data = data, aes (x = model$residuals)) +
    geom_histogram(bins = 10 , fill = ' steelblue ', color = ' black ') +
    labs(title = ' Histogram of Residuals ', x = ' Residuals ', y = ' Frequency ') 

Non importa quante caselle specifichiamo, possiamo vedere che i residui sono distribuiti approssimativamente normalmente.

Potremmo anche eseguire un test statistico formale come Shapiro-Wilk, Kolmogorov-Smirnov o Jarque-Bera per verificare la normalità.

Tuttavia, tieni presente che questi test sono sensibili alle grandi dimensioni del campione, ovvero spesso concludono che i residui non sono normali quando la dimensione del campione è grande.

Per questo motivo spesso è più semplice valutare la normalità creando un istogramma dei residui.

Aggiungi un commento

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