当前位置: 首页 > news >正文

【MATLAB第115期】基于MATLAB的多元时间序列的ARIMAX的预测模型

【MATLAB第115期】基于MATLAB的多元时间序列的ARIMAX的预测模型

‌一、简介

ARIMAX‌(Autoregressive Integrated Moving Average with eXogenous inputs)模型是一种结合自回归(AR)、差分(I)、移动平均(MA)和外生变量的时间序列预测方法。其核心公式为:
在这里插入图片描述
‌AR§‌:利用历史值的线性组合
‌I(d)‌:差分处理非平稳序列
‌MA(q)‌:建模误差项的移动平均
‌X‌:外生变量(如X1~X7等外部因素)

二、数据准备与预处理

1. 数据导入
数据格式:最后一列为目标变量,其他列为外生变量

data = xlsread('数据集.xlsx'); % 读取Excel数据

2. 数据预处理
‌目标变量处理‌:

y = data(:, end); 
y(1) = []; % 删除首项以对齐差分后的外生变量

‌外生变量处理‌:

IX = data(:, 1:end-1); 
X = diff(IX, 1); % 一阶差分使序列平稳

数据常具趋势性,差分可消除非平稳性,使模型更准确。

三、滚动时间窗口创建

1. 参数设置

P = 2;  % AR阶数
D = 1;  % 差分次数
WindowSize = 31; % 训练窗口大小
ForecastPeriod = numel(y) - WindowSize - P - D; % 预测期数

2. 初始化存储矩阵
‌目标变量‌:

yyT = zeros(ForecastPeriod, WindowSize + P + D + 1);

‌外生变量‌:

for i = 1:size(X, 2)eval(['XX', num2str(i), ' = zeros(ForecastPeriod, WindowSize+1);']);
end

3. 窗口数据填充

for nYear = 1:ForecastPeriod% 目标变量窗口yyT(nYear, :) = transpose(y(m:m + WindowSize + P + D));% 外生变量窗口for i = 1:size(X, 2)eval(['XX', num2str(i), '(nYear,:) = ...']);endm = m + 1; % 窗口滑动
end

四、ARIMAX模型训练与预测

1. 模型参数设置

Mdl = arima(P, D, 2); % 创建ARIMAX(2,1,2)模型

2. 递归预测流程

% 模型估计
Mdl = estimate(Mdl, sY(1:end-1), 'Y0', yy0(t+1,:)', 'X', sX(1:end-1, :));

‌关键参数解析‌:

Y0:模型初始条件(差分后的初始值)
X0:外生变量初始条件
XF:预测期的外生变量值

五、预测结果可视化

figure;
axH = axes;
plot(axH, 1:ForecastPeriod, y(end-ForecastPeriod+1:end), 'Color', [0.9290 0.6940 0.1250], 'LineWidth', 1.2);
hold on;
plot(axH, 1:ForecastPeriod, eGNPR, 'Color', [0 0.4470 0.7410], 'LineWidth', 1.2);
legend(["Actual", "Forecasted"]);
title('ARIMAX(2,1,2)模型预测效果对比');

在这里插入图片描述

六、代码获取

1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,私信回复“115期”以及相应指令,即可获取对应下载方式。

相关文章:

  • js原型链prototype解释
  • Nature Communications 面向形状可编程磁性软材料的数据驱动设计方法—基于随机设计探索与神经网络的协同优化框架
  • Qt绘制可选择范围的日历
  • 未来教育风向标 | 教育学顶流985高校,华东师范大学《AIGC技术赋能教育数字化转型的机遇与挑战》,13所大学deepseek
  • 深度解析MQTT源码架构与AIGC场景融合实战
  • 三生原理与现有密码学的核心区别?
  • 洗车小程序系统前端uniapp 后台thinkphp
  • AI大模型:(二)2.3 预训练自己的模型
  • chili3d调试笔记8 打印零件属性
  • VSCode 用于JAVA开发的环境配置,JDK为1.8版本时的配置
  • C++继承(最详细)
  • PDF转换Word深度评测 - ComPDFKit Conversion SDK V3.0
  • Oracle--SQL性能优化与提升策略
  • PowerQuery逆透视将二维表转换为一维表
  • 全面介绍AVFilter 的添加和使用
  • Neo4j 可观测性最佳实践
  • STM32单片机入门学习——第45节: [13-2] 修改频主睡眠模式停止模式待机模式
  • 详解Node.js中的setImmediate()函数
  • Android自动化功能-使用Appium获取android页面节点元素信息
  • IDEA中如何统一项目名称/复制的项目如何修改根目录名称
  • 宝马董事长:继续倡导自由贸易和开放市场,坚信全球性挑战需要多协作而非对立,将引入DeepSeek
  • 4月语言学联合书单|法庭审判话语的态度表达及人际功能研究
  • 著名水声学家陆佶人逝世,曾参加我国第一代核潜艇主动声纳研制
  • 读懂城市丨“花木之乡”沭阳,一场持续五年的“诚信实验”
  • 新质观察|解构低空经济产业集群发展战略
  • 人民日报刊文:美国滥施关税及中国反制措施的法理视角透析