你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ForecastingSettings 类

预测 AutoML 作业的设置。

继承
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

构造函数

ForecastingSettings(*, country_or_region_for_holidays: str | None = None, cv_step_size: int | None = None, forecast_horizon: str | int | None = None, target_lags: str | int | List[int] | None = None, target_rolling_window_size: str | int | None = None, frequency: str | None = None, feature_lags: str | None = None, seasonality: str | int | None = None, use_stl: str | None = None, short_series_handling_config: str | None = None, target_aggregate_function: str | None = None, time_column_name: str | None = None, time_series_id_column_names: str | List[str] | None = None, features_unknown_at_forecast_time: str | List[str] | None = None)

参数

名称 说明
country_or_region_for_holidays
必需

用于生成节假日特征的国家/地区。 这些值应该是 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。

cv_step_size
必需

从一个 CV 折叠到下一个 CV 折叠的 origin_time 之间的周期数。 例如,如果对于每日数据 n_step = 3,则每个折叠的源时间将相隔 3 天。

forecast_horizon
必需

所需的最大预测范围,以时序频率为单位。 默认值为 1。

单位基于训练数据的时间间隔,例如,预测人员应每月、每周预测。当任务类型为 forecasting 时,此参数是必需的。 有关设置预测参数的详细信息,请参阅自动训练时序预测模型

target_lags
必需

滞后于目标列的过去周期数。 默认情况下将关闭滞后。

预测时,此参数表示基于数据频率滞后目标值的行数。 这表示为一个列表或整数。 默认情况下,在独立变量和依赖变量之间的关系不匹配或不关联时,应使用滞后。 例如,在尝试预测某产品的需求时,任何月份的需求可能取决于之前 3 个月特定商品的价格。 在此示例中,可将目标(需求)的滞后负 3 个月,以便针对正确的关系训练模型。 有关详细信息,请参阅自动训练时序预测模型

请注意自动检测目标滞后和滚动窗口大小。 请参阅滚动窗口部分中的相应注释。 我们使用下一算法来检测最佳目标滞后和滚动窗口大小。

  1. 估计回看功能选择的最大滞后时间顺序。 在我们的案例中,它是直至下一个日期频率粒度的周期数,即如果频率为每日,则为一周 (7) ,如果频率是一周,则为一月 (4)。 值乘以 2 是滞后/滚动窗口的最大可能值。 在我们的示例中,我们将分别考虑最大滞后顺序 14 和 8)。

  2. 通过添加趋势和残差分量创建去季节性序列。 该值将在下节中使用。

  3. 估计 (2) 上数据的 PACF - 部分自动关联函数,并搜索具有显著自动相关性的点,即其绝对值大于 1.96/square_root(最大滞后值),对应于 95% 的重要性。

  4. 如果所有点都重要,则我们认为它是强季节性,不会创建回看特征。

  5. 从开始扫描 PACF 值,第一个不重要的自动关联之前的值将指定滞后。 如果第一个重要元素(值与自身关联)后跟不重要的元素,则滞后将为 0,我们不会使用回看功能。

target_rolling_window_size
必需

用于创建目标列的滚动窗口平均值的过去周期数。

预测时,此参数表示用于生成预测值的 n 个历史周期,<=训练集大小。 如果省略,则 n 为完整训练集大小。 如果训练模型时只想考虑一定量的历史记录,请指定此参数。 如果设置为“auto”,则当 PACF 大于显著性阈值时,滚动窗口估计为最后一个值。 请查看 target_lags 部分了解详情。

frequency
必需

预测频率。

预测时,此参数表示预测所需的时间段,例如每日、每周、每年等。默认情况下,预测频率为数据集频率。 可以选择将其设置为比数据集频率大,不能比数据集频率小。 我们将聚合数据并生成预测频率的结果。 例如,对于每日数据,可以将频率设置为每日、每周或每月,但不能设置为每小时。 频率必须是 pandas 偏移别名。 有关详细信息,请参阅 pandas 文档:https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

feature_lags
必需

用于为带有“auto”或 None 的数字特征生成滞后的标志。

seasonality
必需

设置时序季节性为序列频率的整数倍数。 如果将季节性设置为“自动”,将推断出该季节性。 如果设置为 None,则假定时序为非季节性,这等效于季节性=1。

use_stl
必需

配置时序目标列的 STL 分解。 use_stl 可以取三个值:None(默认值)- 不进行 STL 分解;season - 仅生成季节组件;season_trend - 生成季节和趋势组件。

short_series_handling_config
必需

定义 AutoML 应如何处理短时序的参数。

可能的值:"auto"(默认)、"pad"、"drop" 和“无”。

  • auto 如果没有长时序,将会填充短时序,否则将删除短时序。
  • pad 所有短时序都将填充。
  • drop 所有短时序都将被删除。
  • None 不会修改短时序。 如果设置为“pad”,则表将使用回归量的零和空值以及给定时序 ID 的平均值等于目标值中值的目标随机值填充。如果中值大于或等于零,则最小填充值将被剪裁为零。 输入:

Date

numeric_value

string

目标

2020-01-01

23

green

55

输出假设最小值为 4:

Date

numeric_value

string

目标

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

2020-01-01

23

green

55

备注:我们有两个参数 Short_series_handling_configuration 和旧 short_series_handling。 如果同时设置了这两个参数,则将按下表中所示对其进行同步(为简洁起见,short_series_handling_configuration 和 short_series_handling 分别标记为 handling_configuration 和 handling)。

处理

处理配置

生成的处理

结果处理配置

True

auto

True

auto

True

True

auto

True

drop

True

auto

True

False

False

auto

False

False

False

False

drop

False

False

False

target_aggregate_function
必需
str

用于聚合时序目标列以符合用户指定频率的函数。 如果设置了 target_aggregation_function,但未设置 freq 参数,则会引发错误。 可能的目标聚合函数包括:“sum”、“max”、“min” 和 “mean”。

  • 目标列值将基于指定的运算进行聚合。 通常,sum 适用于大多数方案。

  • 数据中的数值预测器列会按总和、平均值、最小值和最大值进行聚合。 因此,自动 ML 会生成以聚合函数名称为后缀的新列,并应用所选的聚合运算。

  • 对于分类预测器列,数据会按模式(窗口中最醒目的类别)进行聚合。

  • 日期预测器列会按最小值、最大值和模式进行聚合。

频率

target_aggregation_function

数据正则固定机制

无(默认)

无(默认)

聚合未应用。 如果有效频率无法确定,则会引发错误。

某些值

无(默认)

聚合未应用。 如果符合给定频率网格的数据点数小于 90%,则将删除这些点,否则将引发错误。

无(默认)

聚合函数

引发有关缺少频率参数的错误。

某些值

聚合函数

使用provided 聚合函数聚合到频率。

time_column_name
必需

时间列的名称。 预测时需要使用此参数来指定输入数据中用于生成时序并推理其频率的日期/时间列。

time_series_id_column_names
必需

用于对时序进行分组的列的名称。 它可用于创建多个时序。 如果未定义时序 ID 列名,或者指定的标识符列未标识数据集中所有序列,则会自动为数据集创建时序标识符。

features_unknown_at_forecast_time
必需

可用于训练但预测/推理时未知的特征列。 如果features_unknown_at_forecast_time设置为空列表,则假定数据集中的所有特征列在推理时都是已知的。 如果未设置此参数,则不会启用对未来功能的支持。

仅限关键字的参数

名称 说明
country_or_region_for_holidays
必需
cv_step_size
必需
forecast_horizon
必需
target_lags
必需
target_rolling_window_size
必需
frequency
必需
feature_lags
必需
seasonality
必需
use_stl
必需
short_series_handling_config
必需
target_aggregate_function
必需
time_column_name
必需
time_series_id_column_names
必需
features_unknown_at_forecast_time
必需