【问题标题】:Use Seasonal ARIMA model parameters in Matlab在 Matlab 中使用季节性 ARIMA 模型参数
【发布时间】:2019-12-05 06:08:54
【问题描述】:

我有一个家庭一年的每小时用电量。我通过在 R 中使用 auto.arima 确定了 ARIMA 订单,现在我想在 MATLAB 程序中使用收到的 ARIMA 订单来估计和预测接下来的 24 小时。

假设拟合模型是有序的:p = 2, d = 0, q = 2; P = 2,D = 1,Q = 0(频率 = 24)。所以一个 arima (2,0,2)(2,1,0)[24] 模型。如何将这些参数插入 Matlab 的 arima 函数中?到目前为止,我得到了:

%Create arima model
Mdl = arima(p,d,q);
Mdl.Seasonality = frequency;

%Estimate the coefficients
EstMdl = estimate(Mdl,past_data);

%Run the forecast for the next 24 hours
[yF,yMSE] = forecast(EstMdl,24,'Y0',past_data);

但这还不包括到目前为止的季节性参数。确实,我对 mathworks 提供的文档感到很困惑。

感谢您的任何建议!

最大

【问题讨论】:

  • 这个问题似乎更多地是关于 Arima 模型的一般理论而不是编程。可能更适合统计数据。
  • @Oliver 感谢您的建议。我最好问问 stackexchange 的第一部分。我尝试编辑问题以专注于 matlab 编码部分。

标签: matlab forecasting arima


【解决方案1】:

我没有 matlab 经验,但是查看documentation for arima 可能可以将模型指定为

c = 0;
p = 2;
d = 0;
q = 2;
S = 24;
P = 2;
D = 1;
Q = 0;
arima('constant', c, ...
      'ARLags', p, ...
      'D', d, ...
      'MALags', q, ...
      'Seasonality', D * S, ...
      'SARLags', D * P * S) %, ...
%      'SMALags', D * Q * S) %commented seasonal MA because D * Q * S = 0

这是基于上面链接中的创建 SARIMA 模型模板示例,并且似乎在他们的在线 IDE 中正确执行。请注意,由于我缺乏任何 matlab 经验,我没有检查比较模型估计的结果。还要注意'Seasonality''SARLags''SMALags'必须是正整数(或缺少),否则似乎返回错误。

【讨论】:

  • 感谢您的回答!请问您为什么将 SARLags 和 SMALags 与季节性相乘?提前致谢!
  • 这似乎是 Matlab arima 函数的一个小众。但从逻辑上讲,这并不难理解。季节性 ar 或 ma 类似于常规 ar 或 ma,除了在季节而不是单个时期执行。如果我们想要一个 sar2 模型,这只是转换为前两个季节期间具有 2 个系数的 ar 模型。 (可能过于简单了。我已经有一段时间没有研究时间序列理论了。)
猜你喜欢
  • 2016-10-31
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2018-08-24
  • 2023-03-24
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多