在 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
)
Run Code Online (Sandbox Code Playgroud)
和估计器:
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)
Run Code Online (Sandbox Code Playgroud)
我正在寻找多个回归器所需的语法/配置。
是的,这是有支持的。首先,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)]
Run Code Online (Sandbox Code Playgroud)
在上面的 zip 函数中,
target:是包含目标信号的一维numpy数组,即形状为target(1,#of time steps)custom_ds_metadata['start']:是一个pandas日期变量,表示数据的开始feat_dynamic_real:是一个包含两个特征信号的二维numpy数组,即feat_dynamic_real具有形状(#of features, #number of time steps)| 归档时间: |
|
| 查看次数: |
1393 次 |
| 最近记录: |