我们是对整个时间序列应用傅里叶/小波变换还是仅对预测进行训练?

问题描述 投票:1回答:1

我正在尝试从论文A deep learning framework for financial time series using stacked autoencoders and long-short term memory 实现WSAE-LSTM模型。第一步,将小波变换应用于时间序列,尽管本文没有概述确切的实现方法。

本文暗示了将小波变换应用于整个数据集。我想知道这是否会将数据从测试泄漏到培训? This article也可以识别此问题。

摘自文章-

我确信您已经听到很多次了,每当您对ML模型的时间序列进行归一化以使其归一化器适合火车时,再将其应用于测试集。原因很简单,我们的ML模型的行为就像均值回复器,因此,如果我们一口气对整个数据集进行规范化,则基本上是为我们的模型提供了所需的均值。如果我们知道某个时间序列的未来均值,我们不需要机器学习来告诉我们要做什么,那我会给您一点提示。)

基本上与一次性完成训练和测试集的标准化完全一样。您正在将未来的信息泄漏到每个步骤中,甚至不会泄漏出去。实际上,您可以自己进行一些实验;您应用的水平小波变换越高,奇迹般地,ML模型的输出就越“准确”。

有人可以告诉我,小波变换是否“标准化”了数据集,这会在预测时导致数据泄漏?应该将其应用于整个数据集还是仅应用于训练数据集?

python machine-learning time-series wavelet pywavelets
1个回答
0
投票

您是正确的。将转换应用于整个数据集会引入“联系”(将来的泄漏),并使分析基本上毫无价值。

© www.soinside.com 2019 - 2024. All rights reserved.