0

让我们假设我们有一个国家的外币汇率样本,样本量是 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.
4

1 回答 1

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 模型是否是汇率模型的最佳形式。

于 2016-08-19T20:20:31.197 回答