时间特征正弦化
时间特征
https://blog.csdn.net/haolexiao/article/details/85003454
这几天对于时间序列的预测,需要时间这一特征值,月份,星期等等。对于这些时间序列特征需要怎么去刻画和表示嗯?
one-hot方法
一个直观想到的方法就是one-hot法,但是仔细考虑一下,one-hot真的适合表示时间序列吗?
one-hot适用于的特征应该是分类特征,而且不同类别之间的距离是没有差别的,比如红黄蓝三种颜色,汉字等等用one-hot表示是很好的。但是对于时间序列,5点和6点跟18点之间的距离明显是不同的,所以用one-hot来度量的话,会损失非常多的信息。
数字表示
那么第二种能想到的方法就是用数字去表示,比如1代表1点,4代表4点等等,但是面临的一个问题就是23点明明和0点距离很近,但是用这种方法会导致23点和0点距离太远,造成一些误差。
造成上述误差的因素在于时间序列有周期性,比如一天的24小时,一周的7天等等,那么我们将其做一个转换,将其转换成周期变量即可
变量周期变量周期(cos(\frac{2\pi 变量}{周期}), sin(\frac{2\pi 变量}{周期}))
(cos(
周期
2π变量
),sin(
周期
2π变量
))
如上所示,将一个时间变量变成一个二维平面圆周上的点。这样就能解决周期性因素。
参考文献:
Top 6 errors novice machine learning engineers make
Use of circular predictors in linear regression