Come tracciare i valori previsti in r (con esempi)


Spesso potresti voler tracciare i valori previsti di un modello di regressione in R per visualizzare le differenze tra i valori previsti e i valori effettivi.

Questo tutorial fornisce esempi di creazione di questo tipo di grafico in R e ggplot2.

Esempio 1: tracciamento dei valori previsti e reali in base R

Il codice seguente mostra come adattare un modello di regressione lineare multipla in R e quindi creare un grafico dei valori previsti ed effettivi:

 #create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

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

#plot predicted vs. actual values
plot(x=predict(model), y=df$y,
     xlab=' Predicted Values ',
     ylab=' Actual Values ',
     main=' Predicted vs. Actual Values ')

#add diagonal line for estimated regression line
abline(a= 0 , b= 1 )

Tracciare i valori previsti in R

L’asse X mostra i valori previsti dal modello e l’asse Y mostra i valori effettivi dal set di dati. La linea diagonale al centro del grafico è la linea di regressione stimata.

Poiché ciascuno dei punti dati si trova abbastanza vicino alla linea di regressione stimata, ciò ci dice che il modello di regressione sta facendo un buon lavoro nell’adattare i dati.

Possiamo anche creare un data frame che mostri i valori effettivi e previsti per ciascun punto dati:

 #create data frame of actual and predicted values
values <- data. frame (actual=df$y, predicted=predict(model))

#view data frame
values

   actual predicted
1 22 22.54878
2 24 23.56707
3 24 23.96341
4 25 24.98171
5 25 25.37805
6 27 26.79268
7 29 28.60366
8 31 30.41463
9 32 33.86585
10 36 34.88415

Esempio 2: tracciare i valori previsti e effettivi in ggplot2

Il codice seguente mostra come creare un grafico dei valori previsti ed effettivi utilizzando il pacchetto di visualizzazione dei dati ggplot2 :

 library (ggplot2) 

#create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

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

#plot predicted vs. actual values
ggplot(df, aes (x=predict(model), y=y)) + 
  geom_point() +
  geom_abline(intercept= 0 , slope= 1 ) +
  labs(x=' Predicted Values ', y=' Actual Values ', title=' Predicted vs. Actual Values ')

Ancora una volta, l’asse X mostra i valori previsti dal modello e l’asse Y mostra i valori effettivi dal set di dati.

Risorse addizionali

Come creare una trama residua in R
Come creare un istogramma dei residui in R
Come calcolare i residui standardizzati in R

Aggiungi un commento

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