m0_73835053 2023-07-18 17:54 采纳率: 66.7%
浏览 16
已结题

关于我遇到ARMA时间序列预测的一个小问题

img

img


我不太理解这里为什么编程时,t要从N-1开始取呢?
想了好久还是没有明白

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-20 10:49
    关注

    根据参考资料中的移动平均法原理分析,预测的公式为y^t+1=Mt(1)=1N(yt+yt−1+⋯+yt−N+1),其中N表示移动平均的项数。根据这个公式,可以看到预测的结果是过去N期的平均值,因此从N-1开始取t的值,是为了能够计算出未来一期的预测值。

    下面是使用MATLAB进行ARMA时间序列预测的示例代码:

    % 伪造时间序列数据
    data = [533.8, 574.6, 606.9, 649.8, 705.1, 772.0, 816.4, 892.7, 963.9, 1015.1, 1102.7];
    N = length(data);
    
    % 使用一次简单移动平均法预测下一期的销售收入
    prediction = zeros(1, N);
    for t = 4:N-1
        prediction(t+1) = (data(t) + data(t-1) + data(t-2) + data(t-3)) / 4;
    end
    
    % 输出预测结果
    disp("预测结果:");
    disp(prediction);
    
    % 计算预测标准误差
    S = sqrt(sum((prediction(5:end) - data(5:end)).^2) / (N-5));
    disp("预测标准误差:");
    disp(S);
    

    在上面的代码中,我们使用一次简单移动平均法预测下一期的销售收入。从第4期开始,依次计算移动平均的结果,然后将结果与实际的销售收入进行比较,计算预测标准误差。这个代码片段可以解决你的问题。

    希望能够帮助到你!如果还有其他问题,请随时提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 创建了问题 7月18日

悬赏问题

  • ¥20 如何实现关闭某一个应用程序后,自动运行一个批处理文件。
  • ¥15 关于 S7-PLCSIM Advanced 5.0本地TCP连接无法读写数据
  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB
  • ¥15 druid(相关搜索:数据库|防火墙)
  • ¥15 大一python作业
  • ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥60 如何鉴定微信小程序数据被篡改过
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据