Модель полиномиальной регрессии для прогнозирования значений для переменной с 500 строками - PullRequest
0 голосов
/ 23 октября 2018

Есть около 500 значений planned, и на основании этого я должен предсказать новые значения actual.

Пожалуйста, помогите мне с кодированием, здесь я показываю, что я делаю вручную:

predict(poly_reg, data.frame(planned= 48.80000,
                             Level2 = 48.80000^2,
                             Level3 = 48.80000^3))

lin_reg = lm(formula = actual ~ ., data = dataset)
summary(lin_reg)
# Fitting Polynomial Regression to the dataset
dataset$Level2 = dataset$planned^2
dataset$Level3 = dataset$planned^3
dataset$Level4 = dataset$Planned_FTM^0.25000
poly_reg = lm(formula = actual~ ., data = dataset)
# Visualising the Linear Regression results
# install.packages('ggplot2')
library(ggplot2)
ggplot() + geom_point(aes(x = dataset$planned, y = dataset$actual), colour = 'red') + geom_line(aes(x = dataset$planned, y = predict(lin_reg, newdata = dataset)), colour = 'blue') + ggtitle('Truth or Bluff (Linear Regression)') + xlab('planned') + ylab('actual')

# Predicting a new result with Linear Regression
predict(lin_reg, data.frame(planned= 48.80000))
# Predicting a new result with Polynomial Regression
predict(poly_reg, data.frame(planned= 48.80000, Level2 = 48.80000^2, Level3 = 48.80000^3)) 

1 Ответ

0 голосов
/ 23 октября 2018

Попробуйте использовать poly на planned для любого многочлена порядка, который вы используете (я использовал 4):

# Fitting Linear Regression to the dataset
lin_reg = lm(formula = actual ~ planned, data = dataset)

# Fitting Polynomial Regression to the dataset
poly_reg = lm(formula = actual ~ poly(planned, 4), data = dataset)

# Predicting a new result with Linear Regression
predict(lin_reg)

# Predicting a new result with Polynomial Regression
predict(poly_reg)
...