多变量时间序列预测

"多变量时间序列预测(Multivariate Time Series Forecasting)""带有外生变量的时间序列预测(Time Series Forecasting with Exogenous Variables)" 两大研究主题。根据具体建模方式和问题语境,还可以进一步细分为动态回归(Dynamic Regression)VARX 模型条件预测(Conditional Forecasting) 等。下面从概念、经典方法、现代方法以及实际意义四个方面为你梳理。


一、核心概念界定

术语 说明
目标变量(Target) 你最终要预测的一维时间序列,例如明日的电力负荷。
外生变量(Exogenous Variable) 作为输入条件的其他时间序列(单维或多维),它们本身不被预测,但被认为对目标变量有解释或预测能力,例如温度、节假日标记、宏观经济指标。
内生变量(Endogenous Variable) 在多变量系统中,所有变量都是相互预测的,例如 VAR 模型中每个变量都依赖自身和彼此的滞后。

当你仅关心目标变量的未来值 ,却引入其他序列作为辅助特征 时,最贴切的术语是外生变量预测 ;当同时预测多个变量时,则是多变量预测。二者的界限有时是模糊的------多变量模型也可视为所有变量互为外生,但研究侧重点不同。


二、经典统计学派中的对应主题

  1. ARIMAX / SARIMAX

    • 在 ARIMA 模型的基础上加入外生回归项。

    • 公式:yt=βXt+ηtyt​=βXt​+ηt​,其中 ηtηt​ 服从 ARIMA 过程。

    • 文献中称为 "带有外生输入的自回归移动平均模型"

  2. 动态回归(Dynamic Regression)

    • 广义线性模型框架下,将目标变量的滞后项与其他解释变量的当前/滞后项组合。

    • 常与 ARIMA 误差结合,属于计量经济学中的经典主题。

  3. VARX(向量自回归模型与外生变量)

    • 当系统包含多个内生变量(如不同地区的销量)并同时加入外生变量(如整体经济指标)时使用。

    • 多变量时间序列分析的标准工具。


三、机器学习与深度学习中的对应范式

在当代数据科学中,这类思路通常被称为:

  1. 多输入单输出(Multi-input Single-output)时间序列预测

    • 模型接受多个特征序列(历史目标值 + 历史外生变量 + 未来已知外生变量)作为输入,输出未来目标值。

    • 常见模型:LSTM、TCN、Transformer(如 Informer)、N-BEATS(可扩展为外生变量输入)。

  2. 基于协变量的预测(Forecasting with Covariates)

    • 在深度学习时序库(如 GluonTS、PyTorch Forecasting)中,协变量通常分为:

      • 已知未来协变量(如日期、计划事件):可直接作为未来输入。

      • 历史协变量(如其他传感器读数):仅提供历史值,未来值需单独处理。

  3. 特征工程视角:特征增强(Feature Augmentation)

    • 将外生序列视为额外特征,与目标序列的滞后特征拼接,输入任意回归器。这属于监督学习范式下的时间序列预测

四、其他相关研究主题

  • 条件时间序列预测(Conditional Time Series Forecasting):强调在给定某些变量未来路径的前提下进行预测,常见于情景分析(Scenario Analysis)。

  • 多源信息融合(Multi-source Information Fusion):当外生变量来自不同传感器、不同领域时,重点研究异构数据的融合策略。

  • 迁移学习(Transfer Learning):如果辅助序列来自相关但不同的任务(如用 A 区域的负荷预测 B 区域的负荷),则属于时序迁移学习范畴。


五、实际应用举例

应用场景 目标变量 外生/辅助变量 所属主题
电力负荷预测 未来1小时负荷 温度、湿度、节假日、风速 带有外生变量的时序预测
股票价格预测 个股收盘价 大盘指数、行业指数、新闻情感得分 多变量/协变量预测
交通流量预测 某路段流量 相邻路段流量、天气、事件 多变量时空预测
供应链需求预测 某SKU销量 促销日历、竞争对手价格、GDP 动态回归/外生变量
相关推荐
架构源启6 小时前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取
java·人工智能·spring
大模型码小白10 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
名字还没想好☜11 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
音符犹如代码11 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·spring boot·guava
前端炒粉11 小时前
手撕小汇总
java·前端·javascript
唐青枫12 小时前
Java Kafka 实战指南:从 Topic、分区到 Spring Boot 可靠消息处理
java
脱胎换骨-军哥12 小时前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装
java·开发语言·c++
我是唐青枫13 小时前
Java Netty 实战指南:从 NIO 线程模型到 TCP 编解码和心跳机制
java·tcp/ip·nio
小白说大模型13 小时前
从向量嵌入到复杂 Agent:LLM、LangChain、LangGraph 完整科普
java·开发语言·人工智能·gpt·深度学习·langchain
风起洛阳@不良使14 小时前
springIOC创建对象的方式--spring容器中的注入
java·spring