时间序列数据的预处理
时间序列数据随处可见,要进行时间序列分析,我们必须先对数据进行预处理。时间序列预处理技术对数据建模的准确性有重大影响。
在本文中,我们将主要讨论以下几点:
- 时间序列数据的定义及其重要性。
- 时间序列数据的预处理步骤。
- 构建时间序列数据,查找缺失值,对特征进行去噪,并查找数据集中存在的异常值。
首先,让我们先了解时间序列的定义:
时间序列是在特定时间间隔内记录的一系列均匀分布的观测值。
时间序列的一个例子是黄金价格。在这种情况下,我们的观察是在固定时间间隔后一段时间内收集的黄金价格。时间单位可以是分钟、小时、天、年等。但是任何两个连续样本之间的时间差是相同的。
在本文中,我们将看到在深入研究数据建模部分之前应执行的常见时间序列预处理步骤和与时间序列数据相关的常见问题。
时间序列数据预处理
时间序列数据包含大量信息,但通常是不可见的。与时间序列相关的常见问题是无序时间戳、缺失值(或时间戳)、异常值和数据中的噪声。在所有提到的问题中,处理缺失值是最困难的一个,因为传统的插补(一种通过替换缺失值来保留大部分信息来处理缺失数据的技术)方法在处理时间序列数据时不适用。为了分析这个预处理的实时分析,我们将使用 Kaggle 的 Air Passenger 数据集。
时间序列数据通常以非结构化格式存在,即时间戳可能混合在一起并且没有正确排序。另外在大多数情况下,日期时间列具有默认的字符串数据类型,在对其应用任何操作之前,必须先将数据时间列转换为日期时间数据类型。让我们将其实现到我们的数据集中:
import pandas as pd passenger = pd.read_csv('AirPassengers.csv') passenger['Date'] = pd.to_datetime(passenger['Date']) passenger.sort_values(by=['Date'], inplace=True, ascending=True)
时间序列中的缺失值
处理时间序列数据中的缺失值是一项具有挑战性的任务。传统的插补技术不适用于时间序列数据,因为接收值的顺序很重要。为了解决这个问题,我们有以下插值方法:
插值是一种常用的时间序列缺失值插补技术。它有助于使用周围的两个已知数据点估计丢失的数据点。这种方法简单且最直观。处理时序数据时可以使用以下的方法:
- 基于时间的插值
- 样条插值
- 线性插值
完整文章
https://www.overfit.cn/post/9274a9c482b0431a802f5318c15cd76d