📗
TimeSeriesAnalysis101
  • 时间序列分析101:序言
  • 1. 概述
  • 2. 准备和处理时间序列数据
    • 2.1 准备数据集
    • 2.2 寻找时间轴
    • 2.3 时间序列可能遇到的问题
    • 2.4 清洗数据
      • 2.4.1 缺失值处理
      • 2.4.2 改变数据集时间频率
      • 2.4.3 平滑数据
  • 3. 探索式分析(EDA)
    • 3.1 针对时间序列的特殊方法
      • 3.1.1 理解平稳性
      • 3.1.2 寻找自相关
      • 3.1.3 虚假相关性
    • 3.2 常用的可视化图表
      • 3.2.1 1D可视化
      • 3.2.2 2D可视化
  • 4. 基于统计学的时间序列分析方法
    • 4.1 自回归模型(Autoregressive)
    • 4.2 移动平均模型(Moving Average)
    • 4.3 差分整合移动平均自回归模型(Autoregressive Integrated Moving Average)
    • 4.4 向量自回归模型(Vector Autoregression)
    • 4.5 基于统计学方法的优势与劣势
  • 5. 特征生成和特征选择
    • 5.1 特征工程的考虑
    • 5.2 常用的特征清单
    • 5.3 自动特征生成与选择
  • 6. 基于机器学习的时间序列分析方法
    • 6.1 时间序列分类问题
    • 6.2 时间序列聚类问题
  • 7. 基于深度学习的时间序列分析方法
    • 7.1 LSTM长短期记忆网络
      • 7.1.1 使用Pytorch搭建
      • 7.1.2 使用Darts调用
    • 7.2 CNN卷积神经网络
  • 8. 模型评估和性能考虑
    • 8.1 模型评估的考虑
    • 8.2 计算效率的考虑
Powered by GitBook
On this page

Was this helpful?

  1. 2. 准备和处理时间序列数据
  2. 2.4 清洗数据

2.4.2 改变数据集时间频率

通常我们会发现来自不同数据源的时间轴常常无法一一对应,此时就要用到改变时间频率的方法进行数据清洗。由于无法改变实际测量数据的频率,我们能做的是改变数据收集的频率,也就是本节提到的上采样(upsamping)和下采样(downsampling)。

下采样

下采样指的是减少数据收集的频率,也就是从原始数据中抽取子集的方式。

以下是一些下采样会用到的场景:

  • 数据原始的分辨率不合理:例如有一个记录室外温度的数据,时间频率是每秒钟一次。我们都知道,气温不会在秒钟这个级别有明显的变化,而且秒级的气温数据的测量误差甚至会比数据本身的波动还要大,因此这个数据集有着大量的冗余。在这个案例中,每隔n个元素取一次数据可能更合理一些。

  • 关注某个特定季节的信息:如果担心某些数据存在季节性的波动,我们可以只选择某一个季节(或月份)进行分析,例如只选择每年一月份的数据进行分析。

  • 进行数据匹配:例如你有两个时间序列数据集,一个更低频(年度数据),一个更高频(月度数据),为了将两个数据集匹配进行下一步的分析,可以对高频数据进行合并操作,如计算年度均值或中位数,从而获得相同时间轴的数据集。

上采样

上采样在某种程度上是凭空获得更高频率数据的方式,我们要记住的是使用上采样,只是让我们获得了更多的数据标签,而没有增加额外的信息。

以下是一些上采样会用到的场景:

  • 不规律的时间序列:用于处理多表关联中存在不规则时间轴的问题。

    例如现在有两个数据,一个记录了捐赠的时间和数量

    amt

    dt

    99

    2019-2-27

    100

    2019-3-2

    5

    2019-6-13

    15

    2019-8-1

    11

    2019-8-31

    1200

    2019-9-15

    另一个数据记录了公共活动的时间和代号

    identifier

    dt

    q4q42

    2019-1-1

    4299hj

    2019-4-1

    bbg2

    2019-7-1

    这时我们需要合并这两个表的数据,为每次捐赠打上标签,记录每次捐赠之前最近发生的一次公共活动,这种操作叫做rolling join,关联后的数据结果如下。

    identifier

    dt

    amt

    q4q42

    99

    2019-2-27

    q4q42

    100

    2019-3-2

    4299hj

    5

    2019-6-13

    bbg2

    15

    2019-8-1

    bbg2

    11

    2019-8-31

    bbg2

    1200

    2019-9-15

  • 进行数据匹配:类似下采样的场景,例如我们有一个月度的失业率数据,为了和其他数据匹配需要转换成日度的数据,如果我们假定新工作一般都是从每个月第一天开始的,那么可以推演认为这个月每天的失业率都等于该月的失业率。

通过以上的案例我们发现,即使是在十分干净的数据集中,由于需要比较来自不同维度的具有不同尺度的数据,也经常需要使用到上采样和下采样的方法。

Previous2.4.1 缺失值处理Next2.4.3 平滑数据

Last updated 3 years ago

Was this helpful?