Transform

在阅读本文档之前,建议先阅读 TSDataset 文档 ,以了解TSDataset的设计。 简单来说,TSDataset是PaddleTS中贯穿整个建模生命周期的、统一的时间序列数据结构。它引出了几个基本但重要的时间序列相关概念,例如待预测目标(过去目标、未来目标)以及协变量(观测协变量和未来已知协变量)。对这些概念的理解将有助于深入探究该文档并构建性能良好的模型。

PaddleTS 提供了一系列数据转换算子,它们提供填充缺失值、数据标准化、数据编码等能力。每个数据转换算子均实现了 fittransformfit_transform 方法。fit 方法可以为数据转换学习对应的参数(例如:均值、归一化标准差等);transform 方法将训练完成的数据转换模块应用于待转换的数据集;fit_transform 方法将 fit 和 transform 提供的能力合并到一步内完成。

目前PaddleTS支持以下时序数据转换能力:

1. 示例

以下代码使用 Onehot 作为一个具体的transform实例来阐述基本用法。

from paddlets import TSDataset
from paddlets.transform import OneHot

# 1 prepare the data
data = TSDataset.load_from_csv("/path/to/data.csv")

# 2 init the onehot encoder
encoder = OneHot(cols=["Gender"])

# 3 fit the encoder
encoder.fit(dataset=data)

# 4 do transformation with the learnt encoder
transformed_data = encoder.transform(data, inplace=False)

作为以上 fittransform 方案的替代选项,也可以通过调用 fit_transform 方法实现相同的目标:

from paddlets import TSDataset
from paddlets.transform import OneHot

# 1 prepare the data
data = TSDataset.load_from_csv("/path/to/data.csv")

# 2 init the onehot encoder transform instance.
encoder = Onehot(cols=["Gender"])

# 3 fit + transform simultaneously
transformed_data = encoder.fit_transform(dataset=data)