时间序列知识点综述
1.基本概念
1.1.时间序列基本概念
时间序列(Time Series):按照时间顺序排列的一组随机变量的集合,通常是在相等时间间隔内对某一过程的观测结果。
时间序列常见概念:
- 趋势(Trend):数据长期呈现的上升或下降趋势。
- 季节性(Seasonality):固定周期内的重复模式。
- 周期性(Cyclicality):不固定周期的波动模式。
- 随机波动(Irregularity):无法预测的随机变化。
1.2.时间序列类型
平稳时间序列:统计特性(如均值、方差等)不随时间变化。例如,白噪声序列,其均值为零,方差恒定,各时刻的值相互独立。
非平稳时间序列:统计特性随时间变化。例如,股票价格序列,其均值和方差可能随时间波动,存在趋势、季节性等成分。
季节性时间序列:存在周期性变化规律。例如,某地区每年冬季的用电量会增加,夏季用电量相对较低,这种周期性变化使得该地区的用电量序列具有季节性。
季节性时间序列是非平稳序列
季节性时间序列通常被视为非平稳时间序列。这是因为季节性引起的周期性波动导致序列的统计特性(如均值和方差)随时间变化,从而违反了平稳性的要求,即统计特性不随时间变化。例如,具有明显季节性成分的时间序列被称为非平稳的。
然而,某些情况下,季节性时间序列可以通过特定处理被视为平稳。如果时间序列的季节性模式稳定且可预测,且在每个季节周期内的统计特性保持不变,那么可以认为该序列在季节性周期内是平稳的。例如,如果一个时间序列在每年的相同时间点表现出一致的模式,并且这些模式的均值和方差在每个季节周期内保持恒定,则可以视为在季节周期内平稳。
在实践中,为了对季节性时间序列进行建模和预测,通常需要通过差分等方法去除季节性成分,将其转换为平稳序列。例如,季节性差分(即减去前一个季节周期的值)可以用于去除季节性影响,使序列达到平稳状态,从而适用于平稳性假设的模型,如 ARIMA 模型。
趋势性时间序列:存在长期的上升或下降趋势。例如,随着科技的发展,某产品的销量逐年增加,其销量序列呈现出明显的上升趋势。
混合型时间序列:同时包含多种特性,如趋势、季节性和随机波动等。实际中的很多时间序列都属于混合型,需要综合多种方法进行分析和建模。
2.常见的时间序列任务
预测
目标:根据历史时间序列数据预测未来的值。例如,预测未来一周的气温、未来几个月的销售额等。
方法:传统方法有 ARIMA 模型、指数平滑法等;深度学习方法有基于 RNN 的 LSTM、GRU,基于 CNN 的 TimeNet,基于 Transformer 的时间序列预测模型等。不同的方法适用于不同类型的时间序列和预测场景,需要根据具体问题选择合适的模型,下面是一个简单的分支:
1234567891011时间序列预测方法├── 统计方法:ARIMA / SARIMA / Holt-Winters / VAR├── 机器学习:KNN / RF / SVM / XGBoost / MLP├── 深度学习:│ ├── RNN / LSTM / GRU│ ├── CNN / TCN│ └── Transformer 系列:Informer / Autoformer / TimesNet├── 混合方法:ARIMA + ML / 小波 + LSTM├── 按输入:单变量 / 多变量├── 按预测:单步预测 / 多步预测时间序列预测任务的类型
时间序列预测可根据预测目标的不同分为点预测、概率预测和趋势预测三大类,每类方法在原理、模型选择和应用场景上存在显著差异。以下是具体分类及特点分析:
1)点预测(Point Forecasting)
定义:预测未来某一时间点的具体数值,是最常见的预测形式。
方法特点:
核心模型:
- 传统统计模型:如 ARIMA(基于平稳性假设的自回归移动平均模型)、指数平滑法(Holt-Winters 等,适用于趋势和季节性数据)。
- 机器学习模型:梯度提升回归(GBM、XGBoost 等)通过拟合条件均值输出预测值。
应用场景:
- 金融领域(股价预测)、供应链管理(产品需求预估)。
局限性:
- 仅输出单值,无法反映预测的不确定性;
- 假设未来数据分布与历史一致,忽略波动聚集和非正态分布等问题。
2)概率预测(Probabilistic Forecasting)
定义:预测未来值的概率分布或置信区间,量化不确定性。
方法特点:
核心模型:
统计学方法:
- 区间估计法:假设误差服从正态分布,通过验证集误差标准差构建置信区间。
- Bootstrap:通过重采样生成误差分位数,叠加至预测值形成区间。
机器学习方法:
- 分位数回归:通过分位数损失函数(如 0.05 和 0.95 分位)直接输出区间上下限。
- 概率分布预测:如 DeepAR 模型预测正态分布参数(均值和方差),通过蒙特卡洛模拟生成路径。
应用场景:
- 供应链补货优化(根据 95% 分位数确定库存);
- 金融风险评估(预测极端事件概率)。
优势:
- 提供风险边界,支持复杂决策;
- 适用于非平稳、厚尾分布数据。
3)趋势预测(Trend Forecasting)
定义:预测时间序列的长期变化方向(如上升、下降或周期性趋势)。
方法特点:
核心模型:
经典方法:
- Holt 线性趋势法:分离水平项和趋势项,捕捉线性趋势;
- ARIMA 差分处理:通过平稳化消除趋势,再预测差分序列。
深度学习方法:
- LSTM/GRU:通过时序记忆单元捕捉长期依赖关系;
- Prophet:分解趋势、季节性和节假日效应,适用于强趋势数据。
应用场景:
- 宏观经济指标(GDP 增长趋势);
- 产品销售周期分析(季节性趋势)。
挑战:
- 需处理趋势突变和多因素耦合影响;
- 复杂趋势需结合协变量(如政策事件、外部经济指标)。
三种预测类别的对比与选型思路:
类别 输出形式 适用场景 典型模型 点预测 单值 短期决策(如次日销量) ARIMA、GBM、Prophet 概率预测 区间/概率分布 风险管理(如库存水位设置) 分位数回归、蒙特卡洛模拟 趋势预测 长期方向性变化 战略规划(如市场扩张) Holt-Winters、LSTM 插补
目标:根据上下文预测填充某些中间缺失的值。例如,时序数据修复,传感器监测数据(温度、湿度、设备运行参数等)因设备故障、传输中断导致的中间时段数据缺失,需基于前后时序规律填充。
方法:传统方法有统计插值法,如线性插值、多项式插值、K 近邻(K-NN),也可用时序模型模型插补,如 ARIMA/SARIMA、指数平滑法,以及机器学习或深度学习构建的时间序列模型。
分类
目标:将时间序列划分为不同的类别。例如,对心电图信号进行分类,判断其是否正常;对客户购买行为的时间序列进行分类,识别不同类型的客户群体。
方法:常见的有基于距离的分类方法(如 K 近邻)、基于形状的分类方法(如动态时间弯曲距离 DTW)、基于特征提取的分类方法(提取时间序列的统计特征、频域特征等后使用传统分类算法)以及深度学习方法(如 CNN、RNN 等提取时间序列的特征后进行分类)。
聚类
目标:将相似的时间序列划分为同一簇,以发现数据中的内在结构和模式。例如,对股票价格序列进行聚类,找出具有相似走势的股票;对不同地区的气象数据进行聚类,分析不同气候区域的特征。
方法:基于距离的聚类方法(如 K-Means、层次聚类等)、基于密度的聚类方法(如 DBSCAN 等)、基于深度学习的聚类方法(如自编码器结合聚类算法等)。不同的聚类方法在处理时间序列数据时需要考虑时间序列的相似性度量和特征表示。
异常检测
目标:识别时间序列中的异常点或异常模式。例如,在工业生产中检测设备故障导致的异常数据;在网络流量监测中发现异常流量。
方法:基于统计的方法(如 Z-Score、IQR 等)、基于聚类的方法(如 K-Means、DBSCAN 等)、基于深度学习的方法(如自编码器、GAN 等)、基于概率模型预测误差作为异常分数(如 DeepAR)。这些方法通过建立正常数据的模型或特征表示,将与正常数据差异较大的点或模式识别为异常。
时序分割
目标:将序列分割为语义段,比如在语音信号处理中识别不同音节的分界点,在工业生产过程监控中确定不同操作阶段的切换点,在金融交易数据分析中划分不同市场趋势阶段的转折点等。
方法:基于变点检测(如贝叶斯在线变点检测)、基于动态规划的方法、基于谱聚类的方法、 基于深度学习模型的方法(如 CNN 滑动窗口、LSTM 建模)等。
3.时间序列常见的特征处理方法
数据预处理
- 缺失值处理:填补缺失值的方法有插值法(如线性插值、多项式插值等)、使用均值或中位数填充、基于模型的填充(如使用时间序列模型预测缺失值)等。选择合适的方法需要考虑数据的特性和缺失情况。
- 异常值处理:识别异常值后,可以对其进行修正、删除或保留(根据具体场景决定)。修正方法包括使用相邻值替代、基于模型预测等;删除异常值可能会导致信息丢失,但有时为了保证数据质量是必要的;在某些情况下,异常值可能包含有价值的信息,需要保留并进行特殊处理。
- 数据平滑:通过移动平均、指数平滑等方法对时间序列进行平滑处理,以减少噪声的影响,使数据更加平稳,便于后续分析和建模。
- 降维与标准化:使用 PCA、t-SNE 降维(用于可视化或减少计算量);Z-Score 归一化、Min-Max 缩放。
特征提取
时间特征提取:从时间戳中提取特征,如小时、星期几、月份等。
统计特征:计算时间序列的均值、方差、偏度、峰度、最大值、最小值、极差等统计指标,这些特征能够反映时间序列的分布特性。时序特征自动提取工具 TsFresh,自动生成数百种统计特征并进行筛选。
时域特征:包括自相关系数、偏自相关系数、差分、滞后值等。自相关系数和偏自相关系数可以反映时间序列的自相关性,为建立 ARIMA 模型等提供依据;可以通过计算差分来去除趋势性;滞后值可以用于捕捉时间序列的短期依赖关系。
频域特征:通过傅里叶变换等方法将时间序列从时域转换到频域,提取频率成分、功率谱等特征。频域特征能够反映时间序列的周期性特性,对于具有明显周期性的序列分析很有帮助。
常见的频域变换方法:
傅里叶变换原理
傅里叶变换是将时域信号分解为不同频率的正弦和余弦函数的线性组合。它的基本思想是任何满足一定条件的周期函数都可以表示为一系列正弦和余弦函数的叠加。对于非周期信号,可以通过极限的方法将其视为周期趋于无穷大的周期信号来处理。数学上,连续傅里叶变换对的定义为:
- 正变换:$$F(f)=\int_{-\infty}^{+\infty} f(t)e^{-i 2 \pi f t} d t$$
- 逆变换:$$f(t)=\int_{-\infty}^{+\infty} F(f)e^{i 2 \pi f t} d f$$
- 其中, $f(t)$是时域信号, $F(f)$ 是频率域表示, $f$ 表示频率。
快速傅里叶变换原理
快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的一种快速算法。DFT 的定义为:
- $$X[k] = \sum_{n=0}^{N-1} x[n]e^{-i\frac{2\pi}{N}kn},k = 0,1,…,N – 1$$
- 其中, $x[n]$ 是长度为 N 的离散序列, $X[k]$ 是其频域表示。
FFT 的基本原理是利用了 DFT 计算中的对称性和周期性,将一个大的 DFT 分解为多个小的 DFT 来计算,从而大大减少了计算量。例如,基 2 – FFT 算法要求序列点数 N 为 2 的幂次。它将 N 点的 DFT 分解为两个 N/2 点的 DFT,分别对应于原序列的偶数点和奇数点部分,递归地进行这种分解,使得计算效率得到显著提高。
短时傅里叶变换(STFT)原理
STFT 是一种对信号进行时频分析的方法。它的基本思想是:将整个时域信号划分成多个短时段(通过加窗函数来实现),然后对每个短时段内的信号进行傅里叶变换。数学上可以表示为:
- $$STFT(t,f)=\int_{-\infty}^{\infty}x(\tau)w(\tau-t)e^{-i2\pi f\tau}d\tau$$
- 其中, $x(\tau)$ 是时域信号, $w(\tau – t)$ 是窗函数,用于选取信号的短时段, $t$ 是窗函数的平移位置, $f$ 表示频率。
小波变换原理
小波变换是一种窗口大小固定的时频分析方法。其基本思想是使用小波函数(一种在时域和频域都具有局部化特性的函数)作为基函数,通过平移和缩放操作来分解信号。连续小波变换的定义为:
- $$W(a,b) = \frac{1}{\sqrt{|a|}} \int_{-\infty}^{+\infty} f(t)\psi^{*}\left(\frac{t – b}{a}\right)dt$$
- 其中, $f(t)$ 是待分析信号, $\psi(t)$ 是小波基函数, $a$ 是尺度因子(控制小波函数的伸缩), $b$ 是平移因子(控制小波函数的平移位置), $\psi^{*}$ 表示 $\psi$的复共轭。
- 小波变换的缩写可以是 WT(Wavelet Transform) 或 CWT(Continuous Wavelet Transform)(连续小波变换)和 DWT(Discrete Wavelet Transform)(离散小波变换)。
FT、FFT、SFTF、WT 对比:
区别点 傅里叶变换(FT) 快速傅里叶变换(FFT) 短时傅里叶变换(STFT) 小波变换(WT) 基本原理 将时域信号分解为不同频率的正弦和余弦函数的线性组合 是离散傅里叶变换的快速算法,利用对称性和周期性分解 DFT 将信号划分成短时段,对每个短时段信号进行傅里叶变换 使用小波函数通过平移和缩放操作分解信号,小波函数具有局部化特性 时频局部化能力 频域局部化好,时域局部化差,无法确定频率成分在时间轴上具体出现的位置 继承了傅里叶变换在频域的局部化特性,在时域方面的局部化能力也未改善 时域局部化有一定的改善,但窗函数大小固定,导致时频分辨率固定,无法同时兼顾时域和频域的高分辨率 时频两域都具有良好的局部化特性,能确定频率成分出现的时间位置,且可以通过调整尺度因子来改变时频分辨率 适用信号类型 适合分析平稳信号 同样适合分析平稳信号的离散频域特性 适合分析有一定时变特征的信号,但对时频分辨率要求不高的情况 适合分析非平稳信号,特别是具有突变特征和多尺度特征的信号 计算复杂度 对于连续傅里叶变换,计算复杂度相对较高(主要针对数值计算方法) 对于 N 点序列,计算复杂度为 O(N log N) 计算复杂度相对较高,因为需要对多个短时段进行傅里叶变换,但可以通过优化窗函数和变换算法来降低 计算复杂度相对较高,但由于小波变换在实际应用中有多种快速算法,其计算复杂度也在一定程度上得到优化 基函数 正弦和余弦函数,是全局的、非局部化的 同傅里叶变换,但处理的是离散序列的频域分解 正弦和余弦函数,但结合了窗函数来实现局部化 小波基函数,是局部化的,不同小波基函数具有不同的特性,可根据信号特点选择合适的小波基 应用场景 用于信号的频谱分析,如通信中的信号调制解调、音频信号的频谱分析等 在数字信号处理领域广泛应用,如数字图像处理中的频域滤波、音频信号的快速频谱分析等 用于语音信号处理(如语音识别中的特征提取)、音乐信号分析等对时间 – 频率局部化有一定要求的场景 在图像压缩(如 JPEG 2000 标准)、奇点检测(如在故障诊断中检测信号突变点)、语音识别等领域有广泛应用,特别是在处理非平稳信号时具有优势 时间序列分解:将复杂的时间序列拆解成几个更简单、更具解释性且通常具有不同物理意义的组成部分,然后利用这些组成部分或其衍生信息来构建对预测模型更有效的特征。这有助于模型更好地捕捉数据中的模式(趋势、季节性)和不确定性(残差/噪声),并降低原始序列的复杂度和噪声干扰。
常用的分解方法对比:
分解方法 原理摘要 适用场景 优点 缺点 STL 基于 LOESS 将时间序列分解为季节性 (Seasonal)、趋势 (Trend)、和残差 (Residual) 三部分。 具有长期趋势和明显季节性的数据 能有效处理多个季节周期,对季节性敏感 分解过程复杂,参数选择对结果影响较大 VMD 变分模态分解,基于变分理论分解为多个 IMF,通过优化确定各模态函数中心频率和带宽 非平稳信号,多频率成分复杂信号 自适应性好,精度高,无模态混叠 计算量可能较大,对参数的选择需要一定经验 EMD 经验模态分解,基于数据驱动的筛分过程分解为 IMF 和残差 非线性、非平稳信号 完全数据驱动,适应性广 存在模态混叠问题,受噪声影响较大 - 优先 STL:当数据具有明确季节模式且需直观解释时(如零售销售预测)
- 优先 VMD:处理复杂频率成分的工程信号(如故障诊断)
- 优先 EMD:快速分析非线性特征且计算资源有限时(如现场设备监测)
形状特征:使用动态时间弯曲距离(DTW)等方法计算时间序列之间的形状相似性,或者提取时间序列的形状特征,如波峰、波谷的数量、位置等。形状特征对于时间序列的分类、聚类等任务具有重要意义。
深度学习特征提取:利用深度学习模型(如 CNN、RNN、Transformer 等)自动提取时间序列的特征表示。这些模型能够学习到时间序列中的复杂模式和依赖关系,提取的特征具有更好的表示能力和泛化能力,适用于各种时间序列任务。
4.传统时间序列模型
ARIMA 模型:
- 原理:将时间序列分解为自回归(AR)部分、差分(I)部分和移动平均(MA)部分。AR 部分表示当前值与过去若干时刻的值的线性关系;I 部分通过差分操作使非平稳序列平稳化;MA 部分表示当前值与过去若干时刻的误差项的线性关系。
- 适用场景:适用于平稳或可通过差分平稳化的时间序列,能够较好地捕捉序列的短期依赖关系。
- 局限性:对于非线性关系和长序列依赖关系的建模能力有限,且对模型阶数的选择较为敏感。
Prophet:
- 原理:加法模型(趋势+季节+节假日效应),基于分段线性或逻辑曲线。Prophet 能够自动化处理缺失值和异常点。
- 适合场景:Prophet 适合具有规律性、季节性和节假日效应的业务场景、
- 局限性:在复杂模式、长期预测和多源数据融合上存在不足
指数平滑法:
- 原理:加权平均历史观测值,近期数据权重更高。通过赋予不同时间点的数据以不同的权重,对时间序列进行平滑处理。常见的有简单指数平滑、Holt 线性趋势法和 Holt-Winters 季节性方法等。简单指数平滑适用于无明显趋势和季节性的序列;Holt 线性趋势法适用于有趋势但无季节性的序列;Holt-Winters 季节性方法适用于同时具有趋势和季节性的序列。
- 适用场景:适用于具有趋势和/或季节性的时间序列,能够对序列进行平滑预测,对近期数据赋予更高的权重,使预测结果更具时效性。
- 局限性:在处理复杂的非线性关系和长序列依赖时效果不佳,且对于参数的选择需要一定的经验和试错。
状态空间模型:
- 原理:将时间序列的观测值表示为状态变量的函数,状态变量遵循一定的动态方程。通过建立观测方程和状态方程,利用卡尔曼滤波等算法对状态变量进行估计和更新,从而实现对时间序列的建模和预测。
- 适用场景:适用于具有明确状态转移关系和观测关系的系统,能够灵活地处理多种类型的时间序列,包括非平稳序列、季节性序列等。
- 局限性:模型的建立和参数估计较为复杂,需要对系统的状态空间结构有较深入的了解,且在高维状态空间下计算成本较高。
5.深度学习时间序列模型
根据下图的骨干框架1,现有模型分为五类:多层感知器(MLP)、循环神经网络(RNN)、卷积神经网络(CNN)、图神经网络(GNN)和自注意力模型(Transformer):
5.1.多层感知机(MLP)分支
多层感知机是传统时序模型的代表,过往的相关工作没有任何特定于时间序列的知识来捕获时间序列中的时序模式,目前有几项工作已经尝试使用 MLP 来建模时间和变量之间的依赖关系。TSMixer 包含交错的时间混合和特征混合 MLP,以从不同角度提取信息。为了更好地建模时间序列数据中的全局依赖关系,FreTS 研究了在系列间和系列内尺度上操作的频率域 MLP 学习的模式,以捕获多元数据中的通道级和时间级依赖关系。最近的工作已经超越了在离散时间点使用简单的线性层。TimeMixer 提出,时间序列在不同的采样尺度上表现出不同的模式,并提出一个多尺度混合架构,该架构基于多层感知器。
TSMixer:
- 原理:包含交错的时间混合和特征混合 MLP。时间混合 MLP 对时间维度上的信息进行处理,捕捉时间序列在时间轴上的变化模式;特征混合 MLP 则关注不同特征之间的关系,提取特征之间相互作用所产生的信息。通过这种交错混合的方式,从不同角度全面地提取时间序列中的信息,从而更好地建模时间和变量之间的依赖关系。
- 特点:摒弃了传统的时序模型中复杂的结构,仅使用简单的 MLP 进行组合,模型结构相对简单,易于实现和理解。同时,通过交错混合能够有效地捕捉时间序列中的多种依赖关系。
- 应用场景:适用于时间序列中时间和特征之间存在复杂交互关系的场景,如多变量时间序列的预测和分类任务。
FreTS:
- 原理:研究在系列间和系列内尺度上操作的频率域 MLP 学习的模式。将时间序列转换到频率域,通过在频率域进行操作,能够更清晰地捕捉多元数据中的通道级和时间级依赖关系。不同频率成分反映了时间序列中不同周期性的变化,从而实现对全局依赖关系的建模。
- 特点:利用频率域分析的优势,能够有效地捕捉时间序列中的周期性和全局依赖关系,为建模多元时间序列提供了新的视角。通过在频率域的操作,可以更高效地处理具有复杂周期性和相关性的多元时间序列数据。
- 应用场景:在多元时间序列分析中,尤其是当数据中存在明显的周期性成分和复杂的通道间相关性时,FreTS 能够发挥其优势,如电力系统的负荷预测、金融市场的多变量分析等。
TimeMixer:
- 原理:提出时间序列在不同的采样尺度上表现出不同的模式,因此基于多层感知器构建一个多尺度混合架构。通过在不同采样尺度上对时间序列进行建模,捕捉时间序列在不同时间尺度上的特征和模式,从而更全面地理解时间序列的特性。
- 特点:多尺度的建模方式使得 TimeMixer 能够同时捕捉时间序列中的短期和长期依赖关系,以及不同时间尺度上的变化模式。这种架构能够更好地适应时间序列中复杂多变的特性,提高模型的建模能力和预测精度。
- 应用场景:适用于具有多尺度特性和复杂变化模式的时间序列数据,如气候数据分析、生物医学信号处理等,这些领域的数据往往在不同时间尺度上都包含重要信息。
5.2.递归神经网络(RNN)分支
递归神经网络特别适用于建模序列数据。由于时间序列本质上也是串行的,因此循环神经网络已经成为分析时间序列数据的流行选择。现有的基于循环神经网络的深度时间序列模型专注于解决基本循环结构引起的梯度消失问题并建模多元变量之间的相关性。先前的工作使用循环神经网络变体来建模时序依赖关系。目前,一些工作尝试将经典状态空间模型与深度神经网络融合。代表性的如深度状态空间模型,使用循环神经网络来参数化特定的线性状态空间模型,并利用结构假设来学习复杂的模式。结构化的状态空间序列模型 (S4) 通过条件矩阵为低秩校正,引入了状态空间模型的一种新参数化方法,使其能够稳定地对角化,从而赋予该模型更好的长期建模能力。与 S4 类似,LS4 是一个生成模型,其潜在空间遵循状态空间常微分方程 (ODE) 的演变。最近关于 Mamba 的工作证明了它是一种强大的方法,用于在序列长度线性扩展的情况下建模长上下文序列数据。通过使用一个简单的选择机制来基于输入参数化状态空间模型参数,Mamba 可以像注意力机制一样区分信息的重要性,这可能成为一种有效的序贯建模方式。
LSTM(长短期记忆网络):
- 原理:为了解决基本循环神经网络中的梯度消失问题,通过引入输入门、遗忘门和输出门等特殊结构来控制信息的流动。输入门决定当前时刻的信息有多少被写入到细胞状态中;遗忘门决定上一时刻的细胞状态有多少被保留;输出门决定当前时刻的细胞状态有多少被输出到隐藏状态。这些门的引入使得 LSTM 能够有效地控制信息的长期依赖关系,避免了梯度消失问题。
- 特点:能够有效地捕捉长期依赖关系,在处理具有长时间间隔的依赖信息时表现出色。其特殊的结构使其在序列建模任务中具有较强的记忆能力和信息选择能力,成为了处理序列数据的经典模型之一。
- 应用场景:广泛应用于各种时间序列预测、自然语言处理、语音识别等领域,尤其是在需要对长期依赖关系进行建模的任务中,如文本生成、机器翻译、股票价格预测等。
GRU(门控循环单元):
- 原理:在 LSTM 的基础上进行了简化,将遗忘门和输入门合并为一个更新门,同时将细胞状态和隐藏状态合并为一个单一的状态。更新门决定了上一时刻的状态和当前时刻的输入对当前状态的更新程度,重置门则决定了上一时刻的状态对当前状态的影响程度。通过这两个门的控制,GRU 能够有效地调节信息的流动,缓解梯度消失问题。
- 特点:结构相对简单,减少了模型的参数数量和计算复杂度,提高了模型的训练效率。同时,GRU 仍然能够有效地捕捉时间序列中的长期依赖关系,具有较好的建模效果,在一些任务中性能与 LSTM 相当甚至更优。
- 应用场景:适用于各种需要对时间序列进行建模的任务,尤其在资源有限或需要较快训练速度的场景下,如移动设备上的语音识别、实时数据流的预测分析等。
深度状态空间模型(DeepSSM):
- 原理:使用循环神经网络来参数化特定的线性状态空间模型。将传统的线性状态空间模型与深度神经网络相结合,利用循环神经网络的强大拟合能力来学习复杂的非线性状态转移和观测函数,从而能够更好地建模时间序列中的动态特性。
- 特点:融合了状态空间模型的结构优势和深度学习的非线性建模能力,能够处理复杂的非线性时间序列数据。通过深度神经网络的参数化,可以自动地学习到时间序列中的复杂模式和依赖关系,提高了模型的建模精度和适应性。
- 应用场景:在需要对时间序列进行深入动态建模的领域具有广泛应用,如机器人控制、系统辨识、生物医学信号分析等,这些领域中的时间序列往往具有复杂的动态特性和非线性关系。
结构化的状态空间序列模型(S4):
- 原理:通过条件矩阵为低秩校正,引入了状态空间模型的一种新参数化方法,使其能够稳定地对角化。这种方法使得模型在训练过程中更加稳定,能够有效地捕捉时间序列中的长期依赖关系,从而赋予该模型更好的长期建模能力。
- 特点:通过新的参数化方法提高了状态空间模型的稳定性和建模效果,能够在长序列建模中表现出色。其低秩校正的条件矩阵设计使得模型在捕捉长期依赖关系的同时,减少了模型的参数量和计算成本,提高模型的效率和可扩展性。
- 应用场景:适用于需要对长序列进行建模和预测的任务,如气候预测、宏观经济分析等,这些任务中的时间序列往往具有较长的时间跨度和复杂的长期趋势。
时序生成隐状态间模型 (LS4):
- 原理:LS4 是一种连续时间的潜在变量生成模型,其潜在变量遵循状态空间 ODE 进行演算。该模型以近期提出的深度状态空间模型(S4)为灵感,通过采用一种卷积表示方式,绕过了对隐藏状态的明示评估,从而实现加速。这一创新解决了传统 ODE 模型在学习具有急剧变化的序列数据时面临的数值优化挑战,并降低了因明确计算隐藏状态而产生的高计算成本。
- 特点:LS4 在边际分布、分类和预测等方面显著优于以往的连续时间生成模型,并且能够对具有剧烈时间变化的高度随机数据进行建模。其创新的架构不仅大大改进了平均的平方差,还提供了更紧的变分下界,尤其在不规则采样数据集上表现优异。此外,LS4 在长序列处理上速度比其他基线快 100 倍,在 Monash 预测库上的真实世界数据集取得了 sot 的性能。其核心在于借助 S4 的启发,采用创新的卷积表示,避免了传统 ODE 模型在处理具有急剧变化的序列数据时面临的数值挑战和高计算成本,提高了模型的效率和准确性。
- 应用场景:LS4 适用于各种时间序列建模和预测任务,包括那些需要处理具有剧烈变化的高度随机数据的场景。由于其在长序列处理上的速度优势和对不规则采样数据的出色处理能力,LS4 特别适合需要高效、准确地分析和预测复杂时间序列的应用,如金融市场的波动分析、气候科学中的天气预测等。
Mamba:
- 原理:通过使用一个简单的选择机制来基于输入参数化状态空间模型参数。类似于注意力机制,这种选择机制能够根据输入数据的重要性和相关性,动态地调整状态空间模型的参数,从而区分信息的重要性,有效地建模长上下文序列数据。
- 特点:引入类似注意力机制的选择机制,使得模型能够自适应地关注重要的信息,提高了对长序列的建模能力。该方法在序列长度线性扩展的情况下,仍然能够保持较好的建模效果,具有较高的效率和可扩展性。
- 应用场景:适用于处理长序列数据和需要对信息进行重要性区分的场景,如文本分析中的长文档处理、生物信息学中的长序列基因分析等。
5.3.卷积神经网络(CNN)分支
卷积神经网络以其捕获局部特征和模式识别的能力成为了一种有竞争力的基本架构。考虑到时间序列数据的时间连续性,先前的工作应用一维卷积神经网络来捕捉时间序列数据的局部模式。除了 1D 空间之外,受时间序列数据周期性属性的启发,TimesNet 在每个 TimeBlock 中根据估计的周期长度将 1D 时间序列数据 转换为一组 2D 张量。
一维卷积神经网络(1D-CNN):
- 原理:考虑到时间序列数据的时间连续性,应用一维卷积神经网络来捕捉时间序列数据的局部模式。通过卷积核在时间轴上滑动,对局部时间窗口内的数据进行卷积操作,提取时间序列中的局部特征,如趋势、周期性等。
- 特点:能够有效地捕捉时间序列的局部特征和模式,具有较强的特征提取能力。卷积操作的局部性和参数共享特性使得模型在处理时间序列数据时具有较高的效率和鲁棒性,同时能够避免过拟合。
- 应用场景:广泛应用于时间序列的分类、预测和异常检测等任务中,特别是在数据具有明显局部特征和模式的情况下,如心电图信号分类、机械故障诊断等。
TimesNet:
- 原理:受时间序列数据周期性属性的启发,在每个 TimeBlock 中根据估计的周期长度将 1D 时间序列数据转换为一组 2D 张量。通过这种方式,将时间序列的周期性特征显式地融入到模型输入中,然后应用卷积神经网络对 2D 张量进行处理,提取时间和特征维度上的信息。
- 特点:充分利用了时间序列的周期性属性,能够更好地捕捉时间序列中的周期性模式和长期依赖关系。将 1D 时间序列转换为 2D 张量的创新方式,使得卷积神经网络能够更有效地处理时间序列数据,提高了模型的性能和泛化能力。
- 应用场景:适用于具有明显周期性的时间序列数据,如气象数据中的日周期、季节周期分析,能源消耗的周期性预测等,能够更好地利用周期性信息提高模型的预测和分析效果。
5.4.图神经网络(GNN)分支
图神经网络被广泛应用于时间序列分析中。通过将多变量数据建模为一个空间时间图,其中每个节点表示一个变量,图神经网络可以提取邻居节点之间的关系,并捕获节点属性随时间推移而演变的过程,从而为理解多变量时间序列的潜在动力学提供了一个鲁棒的框架。
时空间图卷积网络(STGCN):
- 原理:将多变量时间序列建模为一个时空图,其中每个节点表示一个变量,节点之间的边表示变量之间的关系。通过图卷积网络对节点的特征进行聚合和更新,同时结合时间序列的时间维度,捕捉节点特征随时间的演变过程。
- 特点:能够有效地建模多变量时间序列中变量之间的空间关系和时间依赖关系,为理解多变量时间序列的潜在动力学提供了一个鲁棒的框架。图神经网络的架构使得模型能够充分利用变量之间的先验关系结构,提高模型的建模效果和可解释性。
- 应用场景:在交通流量预测、智能电网分析、社交网络舆情分析等场景中广泛应用,这些场景中的数据往往具有明显的时空相关性,通过建模时空图结构能够更好地捕捉数据中的复杂关系和动态变化。
图注意力网络(GAT)与时间序列:
- 原理:结合图注意力机制和时间序列建模,通过注意力机制动态地学习节点之间的相关性权重,从而更好地捕捉变量之间的重要关系。在时间序列的每个时间步,利用图注意力网络对节点特征进行加权聚合,更新节点的特征表示,同时考虑时间维度的变化。
- 特点:注意力机制的引入使得模型能够自适应地学习变量之间的相关性,无需事先定义图结构,提高了模型的灵活性和适应性。能够突出重要节点和关系对时间序列的影响,提高了模型的建模精度和泛化能力。
- 应用场景:适用于变量之间关系较为复杂且动态变化的多变量时间序列分析任务,如金融市场的股票相关性分析、基因表达网络的动态建模等,能够更好地捕捉变量之间的复杂交互关系。
5.5.Transformer 分支
Transformers受益于自注意机制,基于 Transformer 的模型可以捕捉长期的时间依赖性和复杂的多变量相关性。现有基于 Transformer 的时间序列模型可以根据注意力机制中使用的表示粒度进行分类,点级,块级,序列级。
基于 Transformer 的模型:
- 原理:受益于自注意力机制,能够捕捉时间序列中不同时间步之间的长期依赖关系。自注意力机制通过计算每个时间步与其他时间步的相关性权重,对时间序列进行加权求和,从而生成每个时间步的特征表示。这种机制使得模型能够并行地处理所有时间步的信息,提高了训练和推理效率。
- 特点:强大的长期依赖关系建模能力,能够有效地处理长序列数据。具有良好的并行性,适合在大规模数据上进行训练。通过多头注意力机制和前馈神经网络的结合,能够捕捉时间序列中的复杂模式和多尺度特征。
- 应用场景:在各种时间序列任务中表现出色,如长期预测、高维时间序列建模等,尤其是在需要捕捉长期依赖和复杂模式的任务中具有显著优势,如自然语言处理中的文本生成、机器翻译,以及时间序列领域的电力负荷预测、金融市场分析等。
Informer:
- 原理:针对长序列预测任务,提出了概率稀疏自注意力机制,通过稀疏化自注意力矩阵来降低计算复杂度,使得模型能够高效地处理超长序列。同时,引入了生成式解码器和自回归循环,提高了预测的精度和效率。
- 特点:在处理超长序列时具有较高的效率和精度,能够有效地捕捉长期依赖关系。通过创新的自注意力机制和解码器结构,Informer 在长序列预测任务中取得了显著的性能提升,尤其是在大规模数据集上表现优异。
- 应用场景:适用于需要对超长序列进行预测的场景,如气候预测、宏观经济的长期趋势分析等,这些任务中的时间序列往往具有较长的时间跨度和复杂的历史依赖关系。
PatchTST:
- 原理:从视觉任务中获得灵感,将时间序列划分为多个小片段(patch),然后通过 Transformer 对这些片段进行编码和处理。通过这种方式,模型能够在更高的抽象层次上捕捉时间序列的特征和模式,同时减少了计算量。
- 特点:patch 划分策略使得模型能够更高效地处理时间序列数据,减少了对长序列的直接建模难度。能够充分利用 Transformer 的强大建模能力,同时提高了模型的效率和可扩展性。
- 应用场景:在时间序列分类和预测任务中,特别是当数据量较大且序列较长时,PatchTST 能够提供高效且准确的建模方案,如工业物联网中的设备故障预测、智能医疗中的生理信号分类等。
5.6.综合对比
分支 | 代表性方法 | 介绍 |
---|---|---|
多层感知机(MLP) | TSMixer | 包含交错的时间混合和特征混合 MLP,从不同角度提取信息,建模时间和变量之间的依赖关系。 |
FreTS | 在频率域进行操作,研究系列间和系列内的模式,捕获多元数据中的通道级和时间级依赖关系。 | |
TimeMixer | 提出多尺度混合架构,基于多层感知器捕捉时间序列在不同采样尺度上的模式。 | |
递归神经网络(RNN) | LSTM | 通过输入门、遗忘门和输出门等结构,缓解梯度消失问题,捕捉长期依赖关系。 |
GRU | 在 LSTM 基础上简化,通过更新门和重置门控制信息流动,提高训练效率。 | |
深度状态空间模型 | 使用循环神经网络参数化特定的线性状态空间模型,学习复杂模式。 | |
S4 | 引入条件矩阵为低秩校正的新参数化方法,稳定地对角化,提升长期建模能力。 | |
LS4 | 潜在空间遵循状态空间常微分方程(ODE)演变的生成模型。 | |
Mamba | 基于输入参数化状态空间模型参数,区分信息重要性,有效建模长上下文序列数据。 | |
卷积神经网络(CNN) | 一维卷积神经网络 | 捕捉时间序列数据的局部特征和模式,如趋势和周期性,适用于分类和预测任务。 |
TimesNet | 将一维时间序列转换为二维张量,利用卷积网络提取信息,高效处理周期性数据。 | |
图神经网络(GNN) | 时空间图卷积网络(STGCN) | 将时间序列转化为图结构,利用图卷积网络捕捉空间关系和时间依赖。 |
图注意力网络(GAT)与时间序列 | 结合注意力机制动态学习节点权重,突出重要节点对时间序列的影响。 | |
Transformer 分支 | 基于 Transformer 的模型 | 利用自注意力机制捕捉长期依赖关系,适用于长序列预测和分类。 |
Informer | 采用概率稀疏自注意力机制,提高长序列预测的效率和精度。 | |
PatchTST | 将时间序列划分为片段,通过 Transformer 高效处理,减少计算量。 |
5.7.排名
到 2024 年 3 月,五个不同任务的前三名模型是2:
ModelRanking | Long-termForecastingLook-Back-96 | Long-termForecastingLook-Back-Searching | Short-termForecasting | Imputation | Classification | AnomalyDetection |
---|---|---|---|---|---|---|
🥇 1st | TimeXer | TimeMixer | TimesNet | TimesNet | TimesNet | TimesNet |
🥈 2nd | iTransformer | PatchTST | Non-stationaryTransformer | Non-stationaryTransformer | Non-stationaryTransformer | FEDformer |
🥉 3rd | TimeMixer | DLinear | FEDformer | Autoformer | Informer | Autoformer |
6.时间序列问题中的难点和解决思路
6.1.难点
- 长序列建模:传统的 RNN 及其变体(如 LSTM、GRU)在处理长序列时,尽管能够缓解梯度消失问题,但在极端长序列的情况下,仍可能出现梯度消失或爆炸,且计算成本较高。此外,长序列中的长期依赖关系难以有效捕捉。
- 非线性关系建模:时间序列数据中往往存在复杂的非线性关系,传统的线性模型(如 ARIMA)难以有效建模这些非线性特性,导致预测和分析的准确性受限。
- 多变量时间序列建模:多变量时间序列数据中变量之间的相互关系复杂,包括直接的、间接的、时滞的相关性等。如何有效地建模这些多变量之间的复杂关系是一个挑战。
- 数据稀疏性与噪声:在实际应用中,时间序列数据可能存在缺失值、异常值等问题,导致数据稀疏和噪声干扰。这会影响模型的训练和预测效果,需要有效的数据预处理和特征提取方法来缓解。
- 模型可解释性:深度学习模型通常被视为 “黑盒” 模型,其决策过程难以解释。对于一些需要可解释性的时间序列分析场景(如医疗、金融等领域),如何提高模型的可解释性是一个关键问题。
- 时间序列分布漂移和策略变化的影响:在时间序列预测中,当历史数据由旧的控制策略生成,而当前策略已发生变化时,直接使用历史数据训练模型可能导致偏差。
6.2.解决思路
长序列建模:
- 深度架构与并行计算:采用深度神经网络架构,增加网络的深度以提高模型的表达能力。同时,利用并行计算和优化算法(如 Adam 优化器)来加速模型的训练过程,提高对长序列的处理效率。
- 记忆增强机制:引入记忆增强机制,如外部记忆单元或记忆网络,以增强模型对长期依赖关系的捕捉能力。这些机制可以存储和检索重要的历史信息,帮助模型更好地处理长序列。
非线性关系建模:选用非线性建模能力强的深度学习模型,如 MLP、CNN、RNN 及其变体、Transformer 等。通过多层神经网络的非线性变换,能够有效捕捉时间序列中的非线性关系。同时,可以结合核方法、小波变换等技术,将时间序列数据映射到高维空间,进一步增强非线性建模能力。
多变量时间序列建模:
- 图神经网络(GNN):将多变量时间序列建模为一个空间时间图,利用 GNN 提取变量之间的关系和动态演变过程。通过构建图结构,能够有效地建模多变量之间的复杂关系和相互作用。
- 多变量深度学习模型:设计专门用于多变量时间序列的深度学习模型,如深度状态空间模型、Mamba 等。这些模型能够同时考虑多个变量的时间依赖关系和变量之间的相互关系,提高对多变量时间序列的建模效果。
数据稀疏性与噪声处理:
- 数据预处理与增强:采用插值法、基于模型的填充方法等处理缺失值;使用统计方法、基于聚类的方法或深度学习方法(如自编码器)进行异常值检测和处理。同时,可以通过数据增强技术(如添加噪声、时间序列的切割与拼接等)来增加数据的多样性和鲁棒性。
- 鲁棒特征提取与模型设计:提取对噪声具有鲁棒性的特征,如统计特征、频域特征等。在模型设计方面,选择对噪声不敏感的模型(如基于树的模型)或在模型中添加正则化项、噪声鲁棒性训练策略等,提高模型对噪声的抵抗能力。
模型可解释性提升:
- 特征重要性分析:通过分析模型对输入特征的敏感性,确定关键特征及其对预测结果的影响。例如,在基于树的模型中,可以通过特征重要性分数来评估每个特征的贡献;在深度学习模型中,可以使用梯度-based 方法(如 Grad-CAM)或 LIME 等解释性工具来解释模型的决策过程。
- 模型结构优化与可视化:设计具有可解释性的模型结构,如将深度学习模型与传统的可解释模型(如线性模型、决策树)相结合。同时,利用可视化技术(如时间序列的可视化、特征的可视化等)来展示模型的输入、中间层输出和预测结果,帮助理解模型的内部工作机制。
- 领域知识融合:将领域知识融入模型的建模过程中,通过设计符合领域知识的模型结构、约束条件或解释方法,提高模型的可解释性。例如,在医学时间序列分析中,结合医学专业知识来解释模型的预测结果和决策依据。
时间序列分布漂移和策略变化的解决方案:
在时间序列预测中,当历史数据由旧的控制策略生成,而当前策略已发生变化时,直接使用历史数据训练模型可能导致偏差。以下是系统化的解决方案,分为关键步骤和技术方法:
1)理解策略差异与影响分析
目标:明确新旧策略对数据的因果影响。
方法:
- 策略变量识别:确定哪些变量直接受策略控制(如价格、生产阈值、广告投放规则)。
- 因果分析:通过因果图(DAG)或领域知识,区分策略变量与其他协变量(如季节性、外部经济因素)。
- 数据分布对比:统计新旧策略下数据的分布差异(如均值、方差、相关性)。
2)数据层面的调整
2.1)反事实数据生成
目标:假设历史数据是在当前策略下生成,会是什么样?
方法:
- 因果推断:使用双重机器学习(Double ML)、合成控制法(Synthetic Control)或结构方程模型(SEM)估计策略变量的因果效应,生成反事实数据。
- 示例:若旧策略限制了促销频率,可通过模型估计 “若无限制” 的销量,生成调整后的历史数据。
2.2)领域适配(Domain Adaptation)
目标:将历史数据(源域)映射到当前策略(目标域)的特征空间。
方法:
- 特征重加权:使用重要性采样(Importance Weighting)调整历史样本权重,使其分布接近当前策略。
- 对抗训练:通过领域对抗网络(DANN),让模型无法区分数据来自新旧策略,从而学习策略无关特征。
3)模型层面的优化
3.1)迁移学习
步骤:
- 预训练:在历史数据上训练基础模型,捕捉时间序列的通用模式(如周期、趋势)。
- 微调:用当前策略下的少量新数据微调模型,适应新分布。
技巧:冻结底层网络(如 LSTM 的前几层),仅微调顶层。
3.2)动态模型融合
方法:
- 集成学习:分别用历史数据(旧策略)和新数据(新策略)训练模型,通过动态加权(如基于时间衰减)融合预测结果。
- 情景建模:训练模型同时接收策略标识(Policy ID)作为输入,使其自动区分不同策略模式。
3.3)鲁棒性增强
方法:
- 正则化:添加领域不变正则化项,约束模型对策略变化的敏感性。
- 对抗训练:联合优化预测任务和策略判别任务,迫使模型忽略策略差异。
4)在线学习与反馈闭环
目标:逐步适应策略变化,减少历史数据偏差。
方法:
- 在线更新:使用新策略下的实时数据持续更新模型(如在线梯度下降)。
- 强化学习:将策略变化视为环境动态,用强化学习(RL)框架优化预测模型(如 DQN、PPO)。
5. 验证与评估
关键问题:如何验证模型在新策略下的效果?
方法:
- 合成验证:通过反事实数据模拟新策略场景,评估模型性能。
- 渐进验证:划分时间窗口,逐步引入新策略数据测试模型泛化性。
- 因果交叉验证:基于因果图划分训练集和测试集,确保测试集反映策略干预效果。
案例示例:电商销量预测
旧策略:每月仅允许 1 次促销,历史数据包含低促销频率下的销量。
新策略:允许每周促销,需预测高频促销下的销量。
解决方案:
- 反事实生成:用因果模型估计历史数据在每周促销下的潜在销量。
- 迁移学习:预训练模型学习非促销因素(如季节性),微调时加入新促销数据。
- 对抗训练:让模型无法区分数据来自低频或高频促销,学习促销无关特征(如品牌忠诚度)。
总结:技术选型建议
- 数据丰富性:若新策略数据极少 → 侧重反事实生成 + 迁移学习。
- 策略复杂性:若策略影响非线性 → 使用因果森林或深度结构方程模型。
- 实时性要求:高 → 在线学习 + 轻量级模型(如 LightGBM)。
通过以上方法,可最大化历史数据的价值,同时减少策略变化带来的分布偏移影响。
7.时序大模型的实现思路
时间序列大模型是当前 AI 研究的热点,其核心思路是通过借鉴自然语言处理(NLP)中大模型的成功经验(如 Transformer 架构、预训练范式),解决时序数据中的长期依赖、多任务泛化、跨领域迁移等挑战。以下是关键技术点及代表性工作,结合最新研究进展梳理:
7.1.基础架构创新:从专用模型到统一框架
Decoder-Only 生成式架构
思路:将时间序列视为 “时序语言”,通过下一词预测(Next Token Prediction)自回归生成未来值。
技术点:
- Lag-Llama:基于解码器 Transformer,以滞后值(lagged values)作为协变量,支持概率预测,在零样本泛化中超越传统模型。
- Timer-XL:引入多维时序注意力(TimeAttention),通过掩码机制建模变量间依赖关系,支持任意长度序列预测,在长上下文任务中误差降低 36%。
优势:避免 Encoder 架构的置换不变性问题,更适配滚动预测和长序列建模。
多任务统一架构
- UniTS:融合序列/变量注意力机制,动态线性操作符,同一模型支持预测、分类、填补、异常检测等任务,在 38 个数据集上超越任务专用模型。
- 关键设计:将异构时序数据转换为统一格式(如单序列序列 S3),实现端到端多任务处理。
轻量化与高效扩展
- TIME-MOE:基于混合专家(MoE)的稀疏架构,在 Time-300B 数据集上预训练,参数量达 24 亿,计算效率提升 50%。
- AutoTimes:仅需 0.1% 可训练参数,通过投影层将时序嵌入对齐到 LLM 空间,推理速度提升 5 倍。
7.2.模态对齐技术:激活 LLM 的时序理解能力
语境对齐(Context-Alignment)
思路:将时序数据作为整体语言成分(而非离散词汇)融入 LLM 的语义结构,通过图网络显式建模逻辑关系。
技术实现:
- 双尺度图结构:细粒度节点保留时序细节,粗粒度节点表示模态整体性,通过有向边连接 prompt 与时序节点(如 “预测未来” 指向历史数据节点)。
- FSCA(Few-Shot Context-Alignment):结合示例样本(如历史数据分段)提升任务理解,在零样本预测中误差降低 13.3%。
重编程(Reprogramming)
Time-LLM:
- 文本原型(Text Prototypes):将时序 patch 映射为自然语言描述(如 “缓慢上升”),通过 cross-attention 对齐文本嵌入空间。
- 提示做前缀(Prompt-as-Prefix):注入领域统计特征(趋势、周期性)和任务指令,引导 LLM 推理,少样本性能提升 6.7%。
标记化与词表映射
- Chronos:缩放和量化时序值,转换为固定词表的离散 token,直接使用 T5 架构训练概率预测模型。
- TEST:将时序嵌入与文本词库(如 rise/fall/periodic)对齐,生成软提示输入冻结 LLM。
7.3.训练策略与数据工程
大规模预训练数据集
MOMENT:构建跨域 Time series Pile 数据集,解决数据稀疏性问题。
MOIRAI:在 270 亿条数据的 LOTSA 上训练,突破 “一数据集一模型” 限制。
合成数据增强:
- ChatTS:基于属性生成合成时序数据,结合 Evol-Instruct 生成多样化 QA 对,增强模型推理能力。
- Chronos:用高斯过程生成合成数据提升泛化性。
预训练目标设计
- 生成式预训练:Timer 通过下一词预测统一预测、填补、异常检测任务,少样本场景下仅需 1% 数据超越 SOTA。
- 分布外(OOD)缩放定律:验证模型在 ID/OOD 数据上的对数似然缩放行为,指导架构选择(如仅编码器在 ID 数据扩展性更优)。
7.4.高效推理与轻量化
参数高效微调(PEFT)
- Adapter/Projection 层:如 AutoTimes 仅训练轻量投影层,冻结 LLM 主干。
- 联邦学习:TIME-FFM 结合联邦策略与提示自适应,处理医疗等隐私敏感数据。
模型压缩
- 利用时序表示冗余性进行修剪(如块状冗余),提升推理效率。
- TTM:百万级参数实现高效零/少样本预测。
7.5.应用场景与挑战
垂直领域优化
- 医疗:MOTOR 针对电子病历事件时间预测,提升跨站点鲁棒性。
- 工业:Timer-XL 内置 IoTDB,支持异常检测、填补、预测一体化。
- 金融:News to Forecast 融合新闻事件增强预测解释性。
未解难题
- 概率预测:Lag-Llama 等虽支持概率输出,但置信度校准仍需改进。
- 多模态融合:医疗事件流、视频时序等多模态对齐仍是挑战(如 Event Stream GPT)。
- 可解释性:如何通过文本解释时序模式(如 “周期性波动原因”)尚未成熟。
7.6.代表性模型综合对比
模型 | 核心技术 | 优势场景 | 开源 |
---|---|---|---|
Time-LLM | 文本原型重编程 + PaP | 零样本/少样本预测 | https://github.com/KimMeen/Time-LLM |
Timer-XL | 多维时序注意力 + 长上下文 Decoder | 多变量滚动预测 | https://github.com/thuml/Timer-XL |
FSCA | 双尺度语境对齐图 | 分类/预测任务泛化 | https://github.com/tokaka22/ICLR25-FSCA |
Chronos | 时序值标记化 + T5 架构 | 概率预测开箱即用 | https://github.com/amazon-science/chronos-forecasting |
未来方向包括:更长上下文支持(如 100K+点)、因果机制集成(如 KAN 用于格兰杰因果)、多模态基础模型(视频+时序)。当前技术已推动时间序列分析从 “专用小模型” 向 “预训练-提示” 范式转型,但轻量化、可解释性、跨模态对齐仍是关键突破点。
8.多机多卡大规模分布式模型训练框架和方案
以下是多机多卡大规模分布式训练模型的几种常见框架方案:
框架方案 | Slurm | DDP | Horovod | DeepSpeed |
---|---|---|---|---|
功能侧重 | 作业调度与资源管理 | 数据并行训练 | 数据并行训练 | 大模型训练优化 |
核心优势 | 集中管理资源,灵活分配策略 | 易用,与 PyTorch 集成好,通信效率高 | 易用,通信效率高,支持多框架 | 多种优化策略,降低显存占用,支持大规模模型 |
局限性 | 侧重资源调度,对训练过程优化不足,配置管理复杂 | 主要支持数据并行,单卡显存不足时受限 | 主要支持数据并行,复杂模型并行策略支持有限 | 需学习配置,对环境要求高 |
典型应用场景 | 多用户共享集群,多任务调度 | 纯数据并行场景,模型可容纳单卡显存 | 大规模数据并行训练,适中模型 | 超大规模模型训练,如 GPT-3 等 |
使用框架 | 与多种深度学习框架集成 | PyTorch | TensorFlow、PyTorch 等 | PyTorch 等 |
8.1.Slurm
Slurm 是一种功能强大的作业调度系统,常用于管理和调度大规模集群中的作业,在多机多卡分布式训练中,它可对训练任务进行统一管理和分配资源。
- 工作原理 :管理员先定义资源分配策略,用户提交作业时,Slurm 的控制器根据策略为作业分配相应的计算节点和 GPU 卡等资源,并通过调度器启动作业,同时能监控作业运行状态,合理分配资源以保障作业高效执行。
- 使用场景 :适用于多用户共享的大型集群环境,如高校科研集群、企业大规模 AI 计算平台等,可满足多个用户同时提交不同规模训练任务的需求,按优先级和资源需求分配资源。
- 优势 :可集中管理大规模集群资源,灵活配置资源分配策略,支持多种作业调度算法,满足不同用户和任务需求;能有效监控资源使用情况,提高资源利用率。
- 局限性 :主要侧重于资源调度管理,对训练过程的具体优化,如模型并行、混合精度训练等支持不足;配置和管理相对复杂,需专业人员维护。
8.2.DistributedDataParallel(DDP)
DDP 是 PyTorch 中用于多机多卡分布式训练的内置模块,基于数据并行策略,可实现高效的分布式训练。
- 工作原理 :在多机多卡环境下,DDP 为每个进程复制模型,并在每个进程内自动分割数据批处理,各进程独立计算梯度,再通过 all-reduce 操作汇总梯度以更新模型参数,实现数据并行,加速训练。
- 使用场景 :适用于纯数据并行场景,当模型可容纳在单卡显存中,通过数据并行扩大训练批量可提升训练效率,常用于计算机视觉、自然语言处理等领域的大规模数据训练任务。
- 优势 :与 PyTorch 深度集成,使用便捷,只需对代码稍作修改,如初始化分布式环境、包装模型等,即可实现分布式训练;通信效率高,可通过 NCCL 等后端优化通信性能。
- 局限性 :主要支持数据并行,对模型并行等复杂并行策略支持有限;当模型规模过大导致单卡显存不足时,数据并行可能无法有效解决问题。
8.3.Horovod
Horovod 是 Uber 开源的分布式深度学习框架,基于 MPI 实现,支持 TensorFlow、PyTorch 等多种深度学习框架,以数据并行为核心策略。
- 工作原理 :训练时,Horovod 会为每个 GPU 启动一个进程,各进程独立计算梯度,再通过 all-reduce 操作在所有进程间同步梯度,从而实现数据并行训练,提高训练效率。
- 使用场景 :适用于需要在多机多卡上进行大规模数据并行训练的场景,尤其在训练数据量大、模型结构相对适中的情况下表现良好,如图像分类、目标检测等领域的大数据训练任务。
- 优势 :易于使用,只需简单安装和代码修改,即可将单机单卡程序转化为分布式训练程序;通信效率高,基于 MPI 的实现可高效利用高速网络进行梯度同步;支持多种深度学习框架,通用性强。
- 局限性 :主要聚焦于数据并行,对于模型并行等其他并行策略支持不足;在处理极其复杂的模型结构或需要特殊并行策略的场景时,可能无法满足需求。
8.4.DeepSpeed
DeepSpeed 是微软开发的深度学习优化库,为大模型分布式训练提供多种优化策略,在多机多卡环境下表现出色。
- 工作原理 :除了传统的数据并行,还引入了 ZeRO 等参数分片策略,可将模型参数、梯度等在不同 GPU 间进行分片存储和计算,大大减少了单卡显存占用;同时支持流水线并行等策略,进一步提升训练效率和扩展性。
- 使用场景 :专为大规模模型训练设计,当模型规模巨大、单卡显存无法容纳时,如 GPT-3 等超大语言模型的训练,DeepSpeed 的 ZeRO 分片策略可有效解决问题,实现高效分布式训练。
- 优势 :提供多种优化策略,可显著降低显存占用,提升训练速度,支持大规模模型训练;与 PyTorch 等主流框架兼容性好,使用灵活,通过配置文件即可调整训练参数和优化策略。
- 局限性 :由于提供了丰富的优化特性,首次使用时可能需要一定时间学习配置和调优;对硬件和软件环境要求较高,需确保相关依赖正确安装和配置。
9.参考文献
© 本文链接:https://lumingdong.cn/overview-of-time-series-knowledge-points.html
学习了!总结得太好了