在matlab中预测ARMA过程。错误消息

时间:2015-05-31 09:13:27

标签: matlab forecasting

我是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

也许有人可以告诉我这里的错误是什么?

提前谢谢!

2 个答案:

答案 0 :(得分:0)

快速浏览一下,我认为您的问题是forecast的输入数量。您需要指定以前的值。

在MatLab的命令行中键入doc forecast以获取帮助和示例...

答案 1 :(得分:0)

使用Forecast命令的方式存在两个问题。第一个是您必须以EstMdl作为第一个参数,而不是Mdl,第二个是,当预测ARMA模型的某些将来值(此处只有一个值)时,您必须指定时间序列的过去值。因此正确的命令应该是[Y,YMSE] = Forecast(Mdl,1,'Y0',y),其中'Y0'指定先前值的矩阵/矢量名称,y是存储它们的矩阵/矢量(代表时间序列的变量)。