天气指数 - Amazon Forecast

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

天气指数

Amazon Forecast 天气指数是一项内置功能,可将历史和预测的天气信息整合到您的模型中。它对于零售用例特别有用,在这些用例中,温度和降水会显著影响产品需求。

启用天气指数后,Forecast 将天气特征仅应用于在预测器训练期间发现精度有所提高的时间序列。如果在回测期间用天气信息补充时间序列不能提高其预测准确性,则 Forecast 不会将天气指数应用于该特定的时间序列。

要应用天气指数,必须包括一个地理位置属性在您的目标时间序列数据集和任何相关的时间序列数据集中。此外,您还需要指定时区用于您的目标时间序列时间戳。有关数据集要求的更多信息,请参条件和限制.

Python 笔记

对于 a step-by-step 天气指数使用指南,请参阅纽约出租车:带天气指数的Amazon Forecast.

启用天气指数

天气指数在预测器训练阶段启用。使用时CreateAutoPredictor操作,天气指数包含在AdditionalDataset数据类型。

启用天气指数之前,必须在目标时间序列和相关时间序列数据集中包含地理位置属性,并为时间戳定义时区。有关更多信息,请参阅 。添加地理位置信息指定时区.

您可以使用预测控制台或Forecast 软件开发套件 (SDK) 启用天气指数。

Console

启用天气指数

  1. 在AWS Management Console然后打开 Amazon Forecast 控制台https://console.aws.amazon.com/forecast/.

  2. From数据组,选择您的数据集组。

  3. 在导航窗格中,选择预测变量.

  4. 选择训练新的预测变量.

  5. 选择启用天气指数.

SDK

启用天气指数

使用CreateAutoPredictor操作,通过添加启用天气指数"Name": "weather""Value": "true"在里面AdditionalDataset数据类型。

"DataConfig": { ... "AdditionalDatasets": [ ... { "Name": "weather", } ] },

向数据集添加地理位置信息

要使用天气指数,必须在目标时间序列和相关时间序列数据集中为每个项目添加地理位置属性。属性使用geolocation数据集架构中的属性类型。

数据集中的所有地理位置值必须完全位于单个区域内。这些地区是:美国(不包括夏威夷和阿拉斯加)、加拿大、南美洲、中美洲、亚太地区、欧洲以及非洲和中东。

使用以下两种格式之一指定地理位置属性:

  • 纬度和经度(所有区域)-以十进制格式指定纬度和经度(示例:47.61_-122.33)

  • 邮政编码(仅限美国)-指定国家代码(美国),后面加上 5 位数的邮政编码(示例:US_98121)

所有区域均支持 “纬度和经度” 格式。仅美国地区支持邮政编码格式。

纬度和经度边界

以下是可接受区域的纬度和纵向边界:

US Region

边界: 纬度 (24.6、50.0)、经度 (-126.0、-66.4)。

Canada Region

边界: 纬度 (41.0、75.0)、经度 (-142.0、-52.0)。

Europe Region

边界: 纬度 (34.8、71.8)、经度 (-12.6、44.8)。

South America Region

边界: 纬度 (-56.6、14.0)、经度 (-82.4、-33.00)。

Asia Pacific Region

边界: 纬度 (-47.8、55.0)、经度 (67.0、180.60)。

Central America Region

边界: 纬度 (6.80、33.20)、经度 (-118.80、-58.20)。

Africa & Middle East Region

边界: 纬度 (-35.60、43.40)、经度 (-18.80、-58.20)。

在数据集架构中包括地理位置

使用控制台或CreateDataset操作,在目标时间序列和任何相关时间序列的 JSON 架构中将位置属性类型定义为 “地理位置”。架构中的属性必须按照其在数据集中的显示顺序进行排序。

{ "Attributes":[ { "AttributeName": "timestamp", "AttributeType": "timestamp" }, { "AttributeName": "target_value", "AttributeType": "float" }, { "AttributeName": "item_id", "AttributeType": "string" }, { "AttributeName": "location", "AttributeType": "geolocation" } ] }

设置地理位置格式

地理位置属性的格式可以是邮政编码要么纬度和经度格式的日期和时间。您可以使用预测控制台或Forecast 软件开发套件 (SDK) 设置地理位置格式。

Console

向时间序列数据集添加地理位置属性

  1. 在AWS Management Console然后打开 Amazon Forecast 控制台https://console.aws.amazon.com/forecast/.

  2. 选择 Create dataset group (创建数据集组)

  3. 架构生成器,设置您的地理位置属性类型geolocation.

  4. 地理位置格式下拉列表中,选择您的位置格式。

您也可以以 JSON 格式定义您的属性,然后从中选择位置格式地理位置格式下拉列表。

SDK

向时间序列数据集添加地理位置属性

使用 CreateDatasetImportJob操作,设置值GeolocationFormat改为以下值之一:

  • 纬度和经度(所有区域):"LAT_LONG"

  • 邮政编码(仅限美国):"CC_POSTALCODE"

例如,要指定纬度和经度格式,请在中包括以下内容CreateDatasetImportJob请求

{ ... "GeolocationFormat": "LAT_LONG" }

指定时区

您可以让 Amazon Forecast 自动将您的时区信息与您的地理位置属性同步,也可以为整个数据集手动分配一个时区。

自动同步时区与地理位置

此选项非常适合包含多个时区的时间戳且这些时间戳以本地时间表示的数据集。Forecast 根据项目的地理位置属性为目标时间序列数据集中的每个项目分配一个时区。

您可以使用 Forecast 控制台或 Forecast SDK 自动将时间戳与地理位置属性同步。

Console

使用地理位置属性同步时区

  1. 在AWS Management Console然后打开 Amazon Forecast 控制台https://console.aws.amazon.com/forecast/.

  2. 在导航窗格中,选择创建数据集组.

  3. 数据集导入详细信息,选择将时区与位置同步.

SDK

使用地理位置属性同步时区

使用 CreateDatasetImportJob操作,"UseGeolocationForTimeZone""true".

{ ... "UseGeolocationForTimeZone": "true" }

手动选择单一时区

注意

您可以手动选择时区以外的时区美国地区,加拿大地区,南美,中美洲,亚太地区,欧洲区域,以及非洲和中东地区. 但是,所有地理位置值必须仍位于其中一个区域内。

此选项适用于所有时间戳都在单个时区内的数据集,或者如果所有时间戳都归一化为单个时区。使用此选项将相同的时区应用于数据集中的每个项目。

天气指数接受以下时区:

美国地区

  • America/Los_Angeles

  • 美国/菲尼克斯

  • 美国/丹佛

  • 美国/芝加哥

  • America/New_York

加拿大地区

  • 美国

  • 美国/埃德蒙顿

  • 美国/里贾纳

  • 美国/温尼伯

  • 美国/多伦多

  • 美国/哈利法克斯

  • 美国/圣约翰斯

欧洲区域

  • 欧洲/伦敦

  • 欧洲/巴黎

  • 欧洲/赫尔辛基

南美

  • 美国/布宜诺斯艾利斯

  • 美国/诺罗尼亚

  • 美国/加拉加斯

亚太地区

  • 亚洲/喀布尔

  • 亚洲/卡拉奇

  • 亚洲/加尔各答

  • 亚洲/加德满都

  • 亚洲/达卡

  • 亚洲/仰光

  • 亚洲/曼谷

  • 亚洲/新加坡

  • 亚洲/首尔

  • 利亚中部

  • 利亚中部/墨尔本

  • 澳大利亚/Lord_Howe

  • 澳大利亚/尤克拉

  • 太平洋/诺福克岛

  • 太平洋/奥克兰

中美洲

  • 美国/波多黎各

非洲和中东

  • 东部/内罗毕

  • 亚洲/德黑兰

  • 亚洲/迪拜

其他

  • 太平洋/中部/中部洲

  • 太平洋

  • 太平洋

  • 美国

  • 大西洋_佛得角

  • 亚洲/阿纳德尔

  • 太平洋/查塔姆群岛

  • 太平洋

  • 太平洋

从中选择一个时区其他如果您的数据集中的项目位于某个可接受区域内,但您的时间戳已标准化为该区域以外的某个时区,则会列出。

有关有效时区名称的完整列表,请参Joda-Time 图书馆.

您可以使用预测控制台或 Forecast SDK 为数据集手动设置时区。

Console

为数据集选择单时区

  1. 在AWS Management Console然后打开 Amazon Forecast 控制台https://console.aws.amazon.com/forecast/.

  2. 在导航窗格中,选择创建数据集组.

  3. 数据集导入详细信息,选择选择时区.

例如,使用以下方法将洛杉矶时间(太平洋标准时间)应用于您的数据集。

SDK

为数据集选择单时区

使用 CreateDatasetImportJob操作,"TimeZone"设置为有效时区。

例如,使用以下方法将洛杉矶时间(太平洋标准时间)应用于您的数据集。

{ ... "TimeZone": "America/Los_Angeles" }

条件和限制

使用天气指数时适用以下条件和限制:

  • 可用算法:如果使用传统预测器,则可以在使用 CNN-QR、Deepar+ 和 Prophet 算法训练预测变量时启用天气指数。天气指数不适用于 ARIMA、ETS 和 NPTS。

  • Forecast 频率:有效的预测频率为Minutely,Hourly,以及Daily.

  • Forecast:预测期限不能超过future 14 天。有关每种预测频率的预测展望期限制,请参阅以下列表:

    • 1 minute-5050

    • 5 minutes-5050

    • 10 minutes-5050

    • 15 minutes-5050

    • Hourly-330

    • Daily-14

  • 时间序列长:使用天气指数训练模型时,Forecast 会在 Forecast 天气数据集功能的开始日期之前截断所有带有时间戳的时间序列数据集。Forecast 天气数据集功能包含以下开始日期:

    • 美国地区:2018 年 7 月 2 日

    • 欧洲区域:2018 年 7 月 2 日

    • 亚太地区:2018 年 7 月 2 日

    • 加拿大地区:2019 年 7 月 2 日

    • 南美:2020 年 1 月 2 日

    • 中美洲:2020 年 9 月 2 日

    • 非洲和中东地区:2021 年 3 月 25 日

    启用天气索引后,预测器训练期间将不使用在开始日期之前带有时间戳的数据点。

  • 位置数:目标时间序列数据集不能超过 2000 个唯一位置。

  • 区域边界:数据集中的所有项目都必须位于单个区域内。

  • 最小时间序列长:由于测试天气指数时需要额外的数据,因此时间序列数据集的最小长度为:

    3 × ForecastHorizon + (BacktestWindows + 1) × BacktestWindowOffset

    如果您的时间序列数据集不符合此要求,请考虑减少以下内容:

    • ForecastHorizon-缩短预测范围。

    • BacktestWindowOffset-在回测期间缩短测试集的长度。

    • BacktestWindows-减少回测数。