文章目录
- 1 基本概念
- 1.1 虚拟变量的缺点
- 1.2 循环编码原理
- 2 模拟数据
- 2.1 日期序列
- 2.2 目标序列
- 3 编码循环变量
- 3.1 按月划分周期
- 3.2 按天划分周期
- 3.3 正余弦散点图
- 4 拟合模型
- 4.1 构建数据集(每月编码)
- 4.2 构建数据集(每日编码)
- 5 参考附录
1 基本概念
1.1 虚拟变量的缺点
因为时间序列特征本质上是周期性的。
以时间为例当时钟敲响24:00(凌晨12点),新的一天开始,下一个小时是1:00(凌晨1点)。虽然数字1和24实际上是距离最远的数字,但1和23一样接近24,因为它们在一个循环中。
当我们用One-hot编码时,编码将日期时间值转换为分类特征(就像使用one-hot编码一样),上述这种信息就丢失了。
另一种用数字表示时间序列特征的方法是将时间戳转换成正弦和余弦变换。这种方式会告诉你一天中的时间,一周中的时间,或者一年中的时间。
(1)循环编码将它们转换为数值特征,其中一些值更接近(例如12AM和1AM),而其他值则更远(例如12AM和12PM)。
(2)当我们纳入观察到的购买者消费月份的信息时,如果连续两个月之间存在更强的联系,是有道理的。按照这个逻辑,12月和1月之间以及1月和2月之间的联系很强。相比之下,1月和7月之间的联系就并不那么紧密。这道理同样适用于其他与时间相关的信息。
1.2 循环编码原理
正弦和余弦来自单位圆,可以映射时间戳在这个圆上的位置,用正弦和余弦坐标表示。将圆圈的右侧视为起点(在下面的图表中以0表示)或真正的24小时时间刻度上的00:00 (12AM)&