赵煜的时序建模学习手札——三种路线概览(统计学/机器学习/深度学习)

时序建模属实是一个令人困惑的抽象概念,因为它被不分场合的混用 (统计学、机器学习、深度学习),术语定义也较为模糊。

1、什么是时序建模?

时序建模就是处理带有时间顺序的数据,并且利用时间顺序处理问题(预测、分类和异常检测)。

需要满足的关键特征(满足以下几点审稿人就很难攻击你的工作不是时序建模):

  • 数据点之间不是独立存在的
  • 顺序很重要
  • 存在时间依赖关系

2、三种时序建模

时序建模主要分为三种:统计学、机器学习和深度学习。
2.1 统计学

这是最经典的时序建模,关注统计规律:自回归模型(AR)、移动平均模型(MA)、ARIMA和状态空间模型。

特点:参数少,可解释性强,适合线性关系
2.2 机器学习

引入更多特征工程和传统算法,将时序问题转化为监督学习问题。例如:特征工程 (提取滞后特征、滑动窗口统计、季节性特征)、算法(线性回归、XGBoost/LightGBM、SVM)

特点:需要大量特征工程,非线性能力有限
2.3 深度学习

能够进一步的处理更加复杂的非线性问题(其实2.1~2.3也就是一个非线性应对能力增长的过程,从2.1统计学的线性回归,到2.3的非线性模型)例如:RNN/LSTM/GRU、TCN、Tranformer

时序建模的核心任务类型

cpp 复制代码
时序建模任务
├── 预测任务(最常见)
│   ├── 单步预测:预测下一个时间点
│   ├── 多步预测:预测未来多个时间点
│   ├── 序列到序列:输入序列 → 输出序列
│   └── 滚动预测:不断用新观测值更新预测
│
├── 分类任务
│   ├── 序列分类:整条时间序列的类别(如心电图分类)
│   └── 时间点分类:每个时间点的类别(如动作识别)
│
├── 异常检测
│   ├── 点异常:单个时间点的异常
│   └── 集体异常:连续时间段的异常
│
└── 生成任务
    ├── 数据增强:生成类似的时间序列
    └── 补全任务:填补缺失的时间点

实际项目中的时序建模流程

cpp 复制代码
1. 问题定义
   ↓
2. 数据探索和预处理
   │   - 处理缺失值
   │   - 平稳性检验
   │   - 季节性分析
   ↓
3. 构建监督学习数据集
   │   - 创建滞后特征
   │   - 定义时间窗口
   │   - 划分训练/验证/测试集(按时间顺序!)
   ↓
4. 模型选择
   │   - 简单任务:传统方法(ARIMA)
   │   - 中等复杂度:树模型(XGBoost)
   │   - 复杂序列:深度学习(LSTM/Transformer)
   ↓
5. 模型训练和评估
   │   - 使用时间序列交叉验证
   │   - 评估指标:MAE, RMSE, MAPE
   ↓
6. 部署和监控

后记

本人在摸索学习的过程中踩过不少奇奇怪怪的坑,大部分都是自己一厢情愿和固有认知导致的左脚绊右脚,例如:

时序建模不仅仅是预测未来的曲线走向,还能完成其他任务;深度学习不一定比统计学好,例如数据量不足和规律明显时就别硬上(造创新点不算);注意避免数据泄露让代码陪着自己骗自己(哈哈);RNN/LSTM/GRU这几个卧龙凤雏是一起的,Transformer和他们不一样。

相关推荐
小鸡吃米…1 小时前
机器学习的商业化变现
人工智能·机器学习
学电子她就能回来吗2 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
Coder_Boy_2 小时前
TensorFlow小白科普
人工智能·深度学习·tensorflow·neo4j
大模型玩家七七2 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
kkzhang3 小时前
Concept Bottleneck Models-概念瓶颈模型用于可解释决策:进展、分类体系 与未来方向综述
深度学习
木非哲4 小时前
机器学习--随机森林--从一棵树的直觉到一片林的哲学
人工智能·随机森林·机器学习
程序员打怪兽4 小时前
详解YOLOv8网络结构
人工智能·深度学习
A尘埃5 小时前
保险公司车险理赔欺诈检测(随机森林)
算法·随机森林·机器学习
饭饭大王6666 小时前
CANN 生态中的轻量化部署利器:`lite-inference` 项目实战解析
深度学习
MSTcheng.6 小时前
CANN ops-math:AI 硬件端高效数学运算的算子设计与工程化落地方法
人工智能·深度学习·cann