在 gluon-ts 中创建训练或测试数据时,我们可以在 DeepAREstimator
中指定一个额外的实值回归量。通过指定 feat_dynamic_real
.是否支持多个实值回归量?
有一个one_dim_target
标志在 gluonts.dataset.common.ListDataset
用于创建训练/测试数据对象。这似乎可能需要支持多个额外的回归量,但是我找不到关于预期用途的好例子。
这是使用一个额外的回归器创建训练数据的设置:
training_data = ListDataset(
[{"start": df.index[0], "target": df.values, "feat_dynamic_real": df['randomColumn'].values}],
freq = "5min", one_dim_target=False
)
和估算器:
from gluonts.model.deepar import DeepAREstimator
from gluonts.trainer import Trainer
estimator = DeepAREstimator(freq="5min", prediction_length=12, trainer=Trainer(epochs=10))
predictor = estimator.train(training_data=training_data)
我正在寻找多个回归器所需的语法/配置。
最佳答案
是的,有支持。首先,Gluon TS 将回归量称为特征,将我们试图预测的信号称为目标。因此,one_dim_target
您提到的标志与输出的维度有关,而不是与输入的维度有关。
下面是我用来将多维特征(输入)与每个目标信号相关联的代码(我使用一维目标)
train_ds = ListDataset([{FieldName.TARGET: target,
FieldName.START: start,
FieldName.FEAT_DYNAMIC_REAL: fdr}
for (target, start, fdr) in zip(
target,
custom_ds_metadata['start'],
feat_dynamic_real)]
在上面的 zip 函数中,
target
: 是包含目标信号的一维numpy数组,即target
的形状是 (1,#of time step) custom_ds_metadata['start']
: 是一个pandas日期变量,表示数据的开头feat_dynamic_real
:是一个包含两个特征信号的二维numpy数组,即feat_dynamic_real
具有形状(#of features,#number of time step)关于gluon - 如何在 gluon-ts 中使用 DeepAREstimator 和一个以上的额外回归器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56828955/