【发布时间】:2016-11-10 15:34:30
【问题描述】:
正在尝试使用 R 中的多项式回归来预测样本的未来值。样本中的 y 值形成一个波动模式。 例如
x = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
y= 1,2,3,4,5,4,3,2,1,0,1,2,3,4,5,4
但是,当为未来值绘制图表时,生成的 y 值与预期的完全不同。得到的不是波浪模式,而是y 值不断增加的图表。
futurY = 17,18,19,20,21,22
尝试了不同程度的多项式回归,但futurY 的预测结果与预期大不相同
以下是用于获取结果的示例 R 代码
dfram <- data.frame('x'=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16))
dfram$y <- c(1,2,3,4,5,4,3,2,1,0,1,2,3,4,5,4)
plot(dfram,dfram$y,type="l", lwd=3)
pred <- data.frame('x'=c(17,18,19,20,21,22))
myFit <- lm(y ~ poly(x,5), data=dfram)
newdata <- predict(myFit, pred)
print(newdata)
plot(pred[,1],data.frame(newdata)[,1],type="l",col="red", lwd=3)
这是用于预测未知未来 y 值的正确技术还是应该使用其他技术,如预测?
【问题讨论】:
-
尝试使用五阶多项式进行预测看起来注定会失败或混淆。您可能想对拟合三角函数进行一些搜索。
标签: r regression prediction forecasting