当前位置: 首页 > article >正文

数据分析-50-时间序列信息编码之采用正余弦循环编码

文章目录

  • 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)&


http://www.kler.cn/a/400090.html

相关文章:

  • Macmini中普通鼠标与TrackPad联动问题解决
  • 图像基础算法学习笔记
  • workerman的安装与使用
  • RabbitMQ-死信队列(golang)
  • Android Osmdroid + 天地图 (一)
  • 李秀贤主演警匪片《蓝色霹雳火》
  • kafka-clients之max.block.ms
  • 【时间之外】IT人求职和创业应知【37】-AIGC私有化
  • 关于GCC内联汇编(也可以叫内嵌汇编)的简单学习
  • 基于GPU器件行为的创新分布式功能安全机制为智能驾驶保驾护航
  • 2. kafka 生产者
  • 【python】使用 DrissionPage 库进行网页自动化操作和数据提取
  • 【云原生后端开发流程及详细教程】
  • IDEA 开发工具常用快捷键有哪些?
  • zookeeper安装教程
  • openwebui使用
  • node.js 入门级基础应用
  • 【Java 集合】Collections 空列表细节处理
  • Spark_写ORALCE:ORA-01426 numeric overflow 问题解决
  • 在 Qt 中使用 OpenGL 详解
  • 动态规划入门(记忆化搜索)——爬楼梯(Leetcode 70题)
  • 【WPF】Prism学习(六)
  • PgSQL即时编译JIT | 第1期 | JIT初识
  • 【C++之STL】摸清 string 的模拟实现(上)
  • PlantUML——时序图
  • Python实现ARIMA模型