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 )
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