由于缺少数据,AWS Forecast 无法训练预测器

AWS Forecast cannot train the predictor due to missing data

很接近,但并不能完全帮助我解决类似的问题,因为我使用的是单个数据集,没有相关的时间序列。

我正在使用 AWS Forecast 和单个时间序列数据集(没有相关数据,只有主 DS)。它是一个每日数据集,包含从 2010 年到 2020 年大约 10 年的数据。

我在原始数据集中有3572个数据点;我手动填充了缺失的数据,以确保在总共 3739 个数据点的日期范围内没有缺失的日期。我放弃了 2020 年的所有内容以创建验证数据集,然后为 180 天的预测配置了预测器。我不断收到以下错误:

Unable to evaluate this dataset because there is missing data in the evaluation window for all items. Ensure that there is complete data for at least one item in the evaluation window starting from 2019-03-07T00:00:00 up to 2020-01-01T00:00.

绝对没有遗漏数据,我对日期范围和数据填充进行了双重和三次检查,开始日期和结束日期之间的每一天都有一个数据点。我还尝试为 2020 年 1 月 1 日添加一个数据点(结束于 2019 年 12 月 31 日),但我仍然收到此错误。我不知道它在问我什么,除了也许我在数学上遗漏了一些关于预测 Horizo​​n 和 Backtest window offset?

的东西

数据集示例:

简要模型参数(如果我遗漏了相关内容,可以分享更多):

Total data points in training data: 3479
forecastHorizon = 180
create_predictor_response=forecast.create_predictor(PredictorName=predictorName, 
                                                  ForecastHorizon=forecastHorizon,
                                                  PerformAutoML= True,
                                                  PerformHPO=False,
                                                  EvaluationParameters= {"NumberOfBacktestWindows": 1, 
                                                                         "BackTestWindowOffset": 180}, 
                                                  InputDataConfig= {"DatasetGroupArn": datasetGroupArn},
                                                  FeaturizationConfig= {"ForecastFrequency": 'D'

我注意到您没有 6/24/10 的条目(顺便说一句,这种美国日期格式最糟糕)

我在遗漏天数(假设您以每日频率进行建模)时遇到了类似的问题,并且预测会自动将间隙填充到 nan 值(而不是 zero 这是默认值)。我建议你:

  • 在训练数据(和预测window,如果使用相关数据)范围内按字面意思预填每个日期
  • 选择zero作为自动填充缺失值的选项。我认为 mean 或任何其他浮点值也适用于此

如果可行,请告诉我!我也在使用 Forecast,跟踪可能出现的问题和解决方案很好