[算法]时间序列(介绍)

1/什么是时间序列数据?

时间序列数据 是按照固定时间间隔或连续时间点 ,按时间顺序排列的一系列观测值数据点。其核心特征是 "时间顺序" 本身就携带了至关重要的信息,数据点之间不是独立同分布的,而是存在相关性、趋势性或周期性

简单来说,如果你打乱数据点的顺序,那么, 其意义就会完全丧失或严重受损,那么这很可能就是时间序列数据。

核心特征:

  1. 时间依赖性(自相关性)当前的数据点与过去的数据点相关(例如,今天的温度与昨天、前天的温度有关)。
  2. 趋势:数据在长时间内呈现的上升或下降的方向(例如,公司销售额的长期增长)。
  3. 季节性:数据在固定周期内重复出现的规律模式(例如,每日的交通高峰、每年的冰淇淋销量高峰)。
  4. (可能的)周期性:非固定频率的波动模式(例如,由经济周期引起的波动)。

2/时间序列数据长什么样?

在数据结构上,它通常表现为一个带有时间戳的二维表格或一个有序的列表/数组。

典型结构:

时间戳 观测值 1 观测值 2 ...
t₁ x₁ y₁ ...
t₂ x₂ y₂ ...
t₃ x₃ y₃ ...
... ... ... ...
  • 最左边一列(或索引)时间索引 ,这是时间序列数据的"灵魂"。它可以是:
    • 等间隔的:2024-01-01 00:00, 2024-01-01 01:00, 2024-01-01 02:00...
    • 不等间隔的:事件发生的时间戳,如用户点击记录。
  • 每一行代表在某个特定时间点的"快照"。
  • 每一列 代表一个随时间变化的特征变量。可以是单变量(只有一列观测值),也可以是多变量(有多列观测值)。

3/几个具体的例子

1. 经典单变量时间序列:某城市每日气温

  • 目标:预测未来气温。

  • 数据示例

    日期 平均温度(°C)
    2024-01-01 5.2
    2024-01-02 4.8
    2024-01-03 6.1
    2024-01-04 7.3
    ... ...
    2024-12-31 3.5
  • 特点:只有一个数字序列随时间变化,有明显的季节性和趋势。

2. 金融多变量时间序列:股票分钟级数据

  • 目标:预测股价走势或进行交易策略分析。

  • 数据示例

    时间戳 开盘价 最高价 最低价 收盘价 成交量
    2024-05-10 09:30 150.00 150.50 149.80 150.20 100000
    2024-05-10 09:31 150.22 150.40 150.05 150.35 45000
    2024-05-10 09:32 150.36 150.60 150.30 150.50 52000
    ... ... ... ... ... ...
  • 特点:多个相关联的特征(价格、成交量)同时随时间变化,高频且波动剧烈。

3. 物联网传感器数据:智能工厂设备监控

  • 目标:设备故障预警或预测性维护。

  • 数据示例

    时间戳 设备ID 振动幅度 温度(°C) 电流(A) 压力(MPa)
    2024-05-10 10:00:00 Motor_A 2.1 65 10.5 0.85
    2024-05-10 10:00:01 Motor_A 2.2 65.1 10.6 0.86
    2024-05-10 10:00:02 Motor_A 5.8 70.3 15.2 0.92
    ... ... ... ... ... ...
  • 特点:通常由多个传感器产生,频率高,是异常检测和模式识别的重要数据源。

4. 业务与网络数据:网站每小时访问量

  • 目标:资源规划、广告投放。

  • 数据示例

    日期-小时 独立访客数 页面浏览量 服务器负载
    2024-05-09 20:00 10432 89210 0.65
    2024-05-09 21:00 12054 100345 0.72
    2024-05-09 22:00 15321 134567 0.85
    2024-05-10 09:00 8567 65432 0.45
    ... ... ... ...
  • 特点:具有强烈的周期性(日周期:白天高夜间低;周周期:工作日高周末低)。

5. 其他领域的例子:

  • 音频信号:振幅随时间变化的序列(时间间隔非常短且固定)。
  • 心电图(ECG):心脏电活动随时间变化的记录,用于检测异常心跳。
  • 语言文本:可以将一个句子看作单词在"时间步"上的序列(这里的"时间"是顺序位置)。

5. 在机器学习/深度学习中的应用

处理时间序列数据的模型需要能够捕捉其时间依赖性

  • 传统机器学习方法:需要手动构造特征,如滞后特征(前1小时的值、前1天的值)、滑动窗口统计量(过去7天的均值、方差)、季节指标等,然后使用回归、随机森林等模型。
  • 深度学习方法 :能自动学习时间模式,是当前的主流:
    • 循环神经网络(RNN)及其变体(LSTM, GRU):专为序列数据设计,具有"记忆"功能。
    • 时间卷积网络(TCN):使用因果卷积来捕获长期依赖。
    • Transformer模型:通过自注意力机制,能并行处理并捕获长距离依赖,现在也被广泛应用于时间序列预测(如Informer、Autoformer等模型)。

6. 总结

时间序列数据 就是带有时间戳、且顺序至关重要的数据。它广泛存在于我们生活的方方面面,从经济金融到工业制造,从日常天气到人体健康。

识别和理解你的数据是否具有时间序列特性,是选择正确分析方法和机器学习模型的第一步。

相关推荐
zheyutao39 分钟前
字符串哈希
算法
A尘埃1 小时前
保险公司车险理赔欺诈检测(随机森林)
算法·随机森林·机器学习
大江东去浪淘尽千古风流人物1 小时前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
努力学算法的蒟蒻2 小时前
day79(2.7)——leetcode面试经典150
算法·leetcode·职场和发展
2401_841495642 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
AC赳赳老秦2 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
2401_841495643 小时前
【LeetCode刷题】二叉树的直径
数据结构·python·算法·leetcode·二叉树··递归
budingxiaomoli3 小时前
优选算法-字符串
算法
qq7422349843 小时前
APS系统与OR-Tools完全指南:智能排产与优化算法实战解析
人工智能·算法·工业·aps·排程
A尘埃3 小时前
超市购物篮关联分析与货架优化(Apriori算法)
算法