Come prevedere un singolo valore utilizzando un modello di regressione in r


Per adattare un modello di regressione lineare in R, possiamo utilizzare la funzione lm() , che utilizza la seguente sintassi:

 model <- lm(y ~ x1 + x2, data=df)

Possiamo quindi utilizzare la seguente sintassi per utilizzare il modello per prevedere un singolo valore:

 predict(model, newdata = new)

Gli esempi seguenti mostrano come prevedere un singolo valore utilizzando modelli di regressione adattati in R.

Esempio 1: prevedere utilizzando un modello di regressione lineare semplice

Il codice seguente mostra come adattare un modello di regressione lineare semplice in R:

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

#fit simple linear regression model
model <- lm(y ~ x, data=df)

E possiamo usare il seguente codice per prevedere il valore di risposta per una nuova osservazione:

 #define new observation
new <- data. frame (x=c(5))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

       1 
25.36364 

Il modello prevede che questa nuova osservazione avrà un valore di risposta di 25.36364 .

Esempio 2: previsione utilizzando un modello di regressione lineare multipla

Il codice seguente mostra come adattare un modello di regressione lineare multipla in R:

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

E possiamo usare il seguente codice per prevedere il valore di risposta per una nuova osservazione:

 #define new observation
new <- data.frame(x1=c(5),
                  x2=c(10))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

       1 
26.17073 

Il modello prevede che questa nuova osservazione avrà un valore di risposta di 26.17073 .

Potenziali errori nella previsione di nuovi valori

L’errore più comune che potresti riscontrare quando provi a prevedere un nuovo valore è quando il set di dati utilizzato per adattare il modello di regressione non ha gli stessi nomi di colonna della nuova osservazione che stai tentando di prevedere .

Ad esempio, supponiamo di adattare il seguente modello di regressione lineare multipla in R:

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

Successivamente, supponiamo di provare a utilizzare il modello per prevedere il valore di risposta per questa nuova osservazione:

 #define new observation
new <- data.frame(x_1=c(5),
                  x_2=c(10))

#use the fitted model to predict the value for the new observation
predict(model, newdata = new)

Error in eval(predvars, data, env): object 'x1' not found

Abbiamo ricevuto un errore perché i nomi delle colonne della nuova osservazione (x_1, x_2) non corrispondono ai nomi delle colonne del frame di dati originale (x1, x2) che abbiamo utilizzato per adattare il modello di regressione.

Risorse addizionali

Come eseguire una regressione lineare semplice in R
Come eseguire la regressione lineare multipla in R
Come creare una trama residua in R

Aggiungi un commento

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