让我们假设我们有一个国家的货币汇率样本被评为外币,样本量是229,这里是这个样本的图表
在分析了时间序列之后,让我们假设结论是在最佳水平上拟合这个时间序列的模型是在一阶差分后具有阶数3的自回归模型,所以我创建了以下
Mdl = arima(3,1,0);
EstMdl = estimate(Mdl,y);
我的问题是如何在229之后进行预测?我知道matlab中有功能预测,我尝试了这种方法的不同变体,但我不知道应该使用哪一种?所以我需要在229之后预测,所以例如我想预测时间指数为230?例如在229之后的10天?我需要很少的matlab代码
已编辑:
p=forecast(Mdl,y,15)
The value of 'numPeriods' is invalid. Expected forecast horizon to be a scalar.
答案 0 :(得分:1)
您正在查看arima课程中的基本功能。一旦您进行了模型设置(即您已经对其进行了估算),您需要在估算的模型上运行预测,而不是模型本身。
试试这个,或者你想要的任何时期。
forecast(EstMdl, 12)
我生成了一组随机的Y变量来向您展示。
y=rand(100,1)
Mdl = arima(3,1,0);
EstMdl=estimate(Mdl,y)
查看Mdl变量,您会看到以下内容。
>> Mdl
Mdl =
ARIMA(3,1,0) Model:
--------------------
Distribution: Name = 'Gaussian'
P: 4
D: 1
Q: 0
Constant: NaN
AR: {NaN NaN NaN} at Lags [1 2 3]
SAR: {}
MA: {}
SMA: {}
Variance: NaN
但如果你看看EstMdl
>> EstMdl
EstMdl =
ARIMA(3,1,0) Model:
--------------------
Distribution: Name = 'Gaussian'
P: 4
D: 1
Q: 0
Constant: -0.00644614
AR: {-0.764413 -0.399603 -0.0888918} at Lags [1 2 3]
SAR: {}
MA: {}
SMA: {}
Variance: 0.108477
最后运行如下所示的代码可以显示汇率应该是多少。
>> forecast(EstMdl, 12)
ans =
-0.0064
-0.0080
-0.0107
-0.0139
-0.0167
-0.0195
-0.0224
-0.0252
-0.0281
-0.0309
-0.0338
-0.0367
另一方面,您应该考虑ARIMA模型是否是汇率模型的最佳形式。