我是Matlab的初学者用户,我在尝试预测未来一步的价值时遇到了问题。任何帮助都将受到高度赞赏。
我有ARMA(1,0,1)流程,我想提前一步预测。
Mdl=arima(1,0,1)
EstMdl=estimate(Mdl,returns);
我尝试使用功能
[Y,YMSE] = forecast(Mdl,1)
但结果是错误信息:
Error using arima/forecast (line 273)
Additive constant must be specified
也许有人可以告诉我这里的错误是什么?
提前谢谢!
答案 0 :(得分:0)
快速浏览一下,我认为您的问题是forecast
的输入数量。您需要指定以前的值。
在MatLab的命令行中键入doc forecast
以获取帮助和示例...
答案 1 :(得分:0)
使用Forecast命令的方式存在两个问题。第一个是您必须以EstMdl作为第一个参数,而不是Mdl,第二个是,当预测ARMA模型的某些将来值(此处只有一个值)时,您必须指定时间序列的过去值。因此正确的命令应该是[Y,YMSE] = Forecast(Mdl,1,'Y0',y),其中'Y0'指定先前值的矩阵/矢量名称,y是存储它们的矩阵/矢量(代表时间序列的变量)。