机器学习算法竞赛实战-时间序列
机器学习算法竞赛实战-时间序列
第9章 时间序列
什么是时间序列
时间序列是按时间顺序索引(或列出或图示)的一系列数据点。组成时间序列的数据由相对确定的时间戳组成。
对时间序列的分析基于以下假设:数据文件中标签的数据值表示以等间隔时间进行的连续测量值。假设数据存在相关性,然后通过建模找到对应的相关性,并利用它预测未来的数据走向。
可以从变量角度将这些问题归纳为单变量时间序列和多变量时间序列
可以从预测目标角度将这些问题归纳为单步预测和多步预测
单变量时间序列仅具有单个时间相关变量,所以仅受时间因素的影响。这类问题重点在于分析数据的变化特点,受相关性、趋势性、周期性和循环性等因素的影响。
多变量时间序列具有多个时间相关变量,除了受时间因素的影响,还受其他变量的影响。需要考虑更多的因素,挑战也更大。
单步预测问题比较基础,仅在训练集的时间基础上添加一个时间单位便可以作为测试集
多步预测问题比较复杂,是在训练集的时间基础上添加多个时间单位作为测试集
交叉验证的时候为了保留时间相关性,需要采用滚动交叉验证的方式:
- 首先使用初始时间到t时刻的数据来训练模型
- 然后用从t到t+n时刻的数据进行线下验证,并计算评价指标的分数
- 将训练样本扩展到t+n时刻,用从t+n到t+2n时刻的数据进行验证
- 不断重复,直到达到最后一个可用的标签值
基本规则方法
加权平均:离当前时间点越近的数据的重要性越高
指数平滑:将每个时间单位的权重按照指数级进行衰减(指数平滑像是拥有无限记忆且权值呈指数级递减的移动平均法)
时间序列模式
趋势性:在很长一段时间内呈现的数据持续上升或持续下降的变动
周期性:在一段时间序列内重复出现的波动,是各种因素综合影响的结果。
相关性:在某一段序列往往存在正相关或负相关,前后时间点会有很大的关联
随机性:除了上述三种模式外的随机扰动
特征提取方式
历史平移:直接将历史记录作为特征
窗口统计:从多个序列单位中提取特征
序列熵特征:描述序列的确定性和不确定性
还有时间特征与统计特征
模型的多样性
传统的时序模型:ARIMA(差分自回归滑动平均模型)
树模型:对时间序列进行平稳性调整
深度学习模型
- 卷积神经网络
- 长短期记忆网络
第10章 实战案例
第11章 实战案例
机器学习算法竞赛实战-时间序列
https://zhangzhao219.github.io/2022/09/24/UCAS/machine-learning/machine-learning-competition-time/