Jak przewidzieć pojedynczą wartość za pomocą modelu regresji w r


Aby dopasować model regresji liniowej w R, możemy użyć funkcji lm() , która wykorzystuje następującą składnię:

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

Możemy następnie użyć następującej składni, aby użyć modelu do przewidzenia pojedynczej wartości:

 predict(model, newdata = new)

Poniższe przykłady pokazują, jak przewidzieć pojedynczą wartość za pomocą dopasowanych modeli regresji w R.

Przykład 1: Prognozuj za pomocą prostego modelu regresji liniowej

Poniższy kod pokazuje, jak dopasować prosty model regresji liniowej w 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)

Możemy użyć następującego kodu, aby przewidzieć wartość odpowiedzi dla nowej obserwacji:

 #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 

Model przewiduje, że odpowiedź na tę nową obserwację będzie wynosić 25,36364 .

Przykład 2: Przewidywanie przy użyciu modelu wielokrotnej regresji liniowej

Poniższy kod pokazuje, jak dopasować model regresji liniowej w języku 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)

Możemy użyć następującego kodu, aby przewidzieć wartość odpowiedzi dla nowej obserwacji:

 #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 

Model przewiduje, że wartość odpowiedzi na tę nową obserwację wyniesie 26,17073 .

Potencjalne błędy przy przewidywaniu nowych wartości

Najczęstszym błędem, jaki możesz napotkać podczas próby przewidzenia nowej wartości, jest sytuacja, gdy zbiór danych użyty do dopasowania modelu regresji nie ma takich samych nazw kolumn jak nowa obserwacja, którą próbujesz przewidzieć .

Załóżmy na przykład, że dopasowujemy następujący model regresji liniowej w 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)

Następnie załóżmy, że próbujemy użyć modelu do przewidzenia wartości odpowiedzi dla tej nowej obserwacji:

 #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

Otrzymaliśmy błąd, ponieważ nazwy kolumn nowej obserwacji (x_1, x_2) nie odpowiadają nazwom kolumn oryginalnej ramki danych (x1, x2), której użyliśmy do dopasowania modelu regresji.

Dodatkowe zasoby

Jak wykonać prostą regresję liniową w R
Jak wykonać wielokrotną regresję liniową w R
Jak utworzyć wykres rezydualny w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *