0

我正在 Jupyter Notebook 中训练DeepAR模型 ( arXiv )。我正在关注教程。

concat_df根据 DeepAR 方法的需要,我创建了一个时间序列 ( ) 集合:

在此处输入图像描述

每一行都是一个时间序列。该集合用于训练 DeepAR 模型。DeepAr 期望的输入格式是一系列的列表。所以我从上面的数据框中创建了这个:

time_series = []
for index, row in concat_df.iterrows():
    time_series.append(row)

使用这个时间序列列表,然后我设置freq,prediction_lengthcontext_length(注意我在第一个示例中将频率设置为 Daily ):

freq = "D"
prediction_length = 3
context_length = 3

...以及T-Naught,Data Length和:Number of Time SeriesPeriod

t0 = concat_df.columns[0]
data_length = concat_df.shape[1]
num_ts = concat_df.shape[0]
period = 12

我创建了训练集:

time_series_training = []
for ts in time_series:
    time_series_training.append(ts[:-prediction_length])

..并使用测试集将其可视化:

time_series[0].plot(label="test")
time_series_training[0].plot(label="train", ls=":")
plt.legend()
plt.show()

在此处输入图像描述

到目前为止一切顺利,一切似乎都与教程一致。

然后我使用剩余的代码来调用已部署的模型,如参考文章中所述:

list_of_df = predictor.predict(time_series_training[:5], content_type="application/json")

但是,如果我将频率更改为每月 ( freq = "M"),我会收到以下错误:

ValueError: Units 'M', 'Y', and 'y' are no longer supported, as they do not represent unambiguous timedelta values durations.

为什么不接受月度数据?如何在 DeepAR 上训练月度数据?有没有办法指定一些相当于每月数据的每日数据?

这似乎是某种 Pandas 错误,如此处所示

4

0 回答 0