时间序列预测中特征构建

本文探讨时间序列预测中的特征构建,包括时间戳特征(如年、月、日、时),时域特征(如窗口统计特征和滞后特征),频域特征,类别编码以及交叉特征。介绍了各种特征在传统统计学习方法、现代机器学习方法和深度学习方法中的应用,并讨论了特征构建中的注意事项,如信息冗余和滞后特征的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传统统计学习方法: naive approach, moving average, Holt linear, exponential smoothing, ARIMA, and Prophet
现代机器学习方法: 树模型等
深度学习方法: LSTM、Seq2seq、Transform-XL等

树模型需要人为构建特征,同时预测值不可超越区间内取值的上限。
深度学习网络,可以发现输入数据之间的交互关系,同时可以发现趋势。

根据数据可以尝试不同的方法,选择较优的方法。下面是树模型的构造特征的方法。

1. 时间戳特征

也是时点特征。

  • 年、月、日、时、分、星期等。
    由此扩展出来的是否周末(销量等差异)、节假日(销量差异)、白昼(温度差异)、是否发薪日等(月中、月末购买意向)、月份的第几周(上半月、下半月之类)等。

  • 小时0-23特征,0与23的差距并不像数值上的那么大,通过sin,cos处理将小时处理成循环取值。

  • 日期特征当做类别特征还是数值特征?
    对于趋势明显的,把其视为数值比类别效果好,这个我在M5上做过验证。解释如下:

    • 时间序列短期有周期性,长期整体呈现增长趋势。这样一来,时间特征的取值就有了可比较大小的意义。
    • 将时间直接作为类别特征,会有一些问题。LGBM原生支持类别特征,它是这么处理的:利用many-vs-many切分方式将类别特征切到两个子集,不断穷举从而实现类别特征最优划分。穷举太慢,Fisher将时间复杂度由 O ( 2 k ) O(2^k) O(2k)优化到 O ( k l o g k ) O(klogk) O(klogk)。也就是,类别特征会不断地尝试分两堆,这两堆极可能不是时间连续的。总之,就是类别失去了取值大小比较的意义。
      【(扩展。不用one-hot,因为one-vs-rest的两大缺点:1)one-hot其实是某一特征是某一个值与不是某一个值,特征取值很多时,会特稀疏,势必造成类别取值不进货表,用LGBM特征选择时用的增益体现不了,几乎都是整体的。2)决策不准。因为第一个样本不均衡带来的,LGBM的决策依赖于数据的统计信息,不均衡,势必造成统计信息不准确,效果可能很差)。】

2. 时域特征

2.1 窗口统计特征

以上是时间点特征,这里是时间段特征。
个人解释,时间序列的预测在长期或短期内存在规律包括周期性等,这种规律性通过窗口内统计特征体现。

  • 均值
  • 中位数
  • 分位数
  • 最大/小值
  • 标准差
  • 偏度
  • 峰度
  • 极差
  • 四分位差
  • 0个数
  • 不同取值个数(nunique)

以上特征就相当于另类编码,或离散化。涉及到平均情况以及离散程度等。

2.2 滞后特征

时间序列之所以可以预测,因为我们研究时间序列很重要的一个应用(或者出发点),是希望通过时间序列的历史数据来得到其未来的一些预测。换句话说,我们希望时间序列在历史数据上的一些性质,在将来保持不变,这不就是时间平移的不变性么?反过来想,如果时间序列不是平稳的,由历史数据得到的统计性质对未来毫无意义,那么研究时间序列还有什么意义呢?参考
这也就为滞后特征带来了意义。其实可以这样理解,当前或者未来所处的片段,是过去的一个缩影。
滞后1期、2期、3期。。。其实,

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值