我有一个带有10000个样本的时间序列数组数据。我将数据分为训练,验证和测试数组,如下所示:
import numpy as np
import pywt
data = np.random.rand(10000,)
train = data[:8000]
validate = data[8000:9000]
test = data[9000:]
我想实施this篇论文。该论文的作者说:
原始数据被分解为 使用trous DWT的修改版本的一系列详细信息(DW) (,以便将来的数据值不会在计算中使用。)
2个问题:
1):当他说:以便在计算中不使用将来的数据值时,他是什么意思?? 他是否意味着我们应该尝试在火车上分别执行 SWT ,验证和测试集,如下所示?
[(cA_train,cD_train)] = pywt.swt(train, wavelet='db4', level=1)
[(cA_validate,cD_validate)] = pywt.swt(validate, wavelet='db4', level=1)
[(cA_test,cD_test)] = pywt.swt(test, wavelet='db4', level=1)
2)如果我对以下整个数据执行SWT,然后将其分为训练,验证和测试,这是错误的吗?
[(cA_data,cD_data)] = pywt.swt(data, wavelet='db4', level=1)