ForecastingParameters 类
管理预测任务使用的参数。
构造函数
ForecastingParameters(time_column_name: str | None = None, forecast_horizon: str | int = 1, time_series_id_column_names: str | List[str] | None = None, group_column_names: str | List[str] | None = None, target_lags: List[int] | int | str | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, holiday_country: str | None = None, seasonality: str | int | None = 'auto', country_or_region_for_holidays: str | None = None, use_stl: str | None = None, short_series_handling: bool = True, short_series_handling_configuration: str | None = 'auto', freq: str | None = None, target_aggregation_function: str | None = None, cv_step_size: str | int | None = 'auto', features_unknown_at_forecast_time: str | List[str] | None = None, validate_parameters: bool = True, _enable_future_regressors: bool = False, **kwargs: Any)
参数
| 名称 | 说明 |
|---|---|
|
time_column_name
|
时间列的名称。 当预测在用于生成时序并推断其频率的输入数据中指定日期/时间列时,此参数是必需的。 默认值: None
|
|
forecast_horizon
|
所需最大预测范围(以时序频率单位为单位)。 默认值为 1。 单位基于训练数据的时间间隔,例如预测器应预测的每月、每周。预测任务类型时,此参数是必需的。 有关设置预测参数的详细信息,请参阅 自动训练时序预测模型。 默认值: 1
|
|
time_series_id_column_names
|
用于对时间序列进行分组的列的名称。 它可用于创建多个序列。 如果未定义时序 ID 列名称,或者指定的标识符列未标识数据集中的所有序列,则会自动为数据集创建时序标识符。 默认值: None
|
|
group_column_names
|
默认值: None
|
|
target_lags
|
要从目标列滞后的过去时间段数。 默认情况下,滞后时间处于关闭状态。 预测时,此参数表示根据数据频率滞后目标值的行数。 这表示为列表或单个整数。 默认情况下,当独立变量与从属变量之间的关系不匹配或关联时,应使用滞后时间。 例如,当尝试预测产品的需求时,任何月份的需求都可能取决于 3 个月前特定商品的价格。 在此示例中,你可能希望将目标(需求)负延迟 3 个月,以便模型在正确的关系上进行训练。 有关详细信息,请参阅 自动训练时序预测模型。 注意自动检测目标滞后和滚动窗口大小。 请参阅滚动窗口部分的相应注释。 我们使用下一个算法来检测最佳目标延迟和滚动窗口大小。
默认值: None
|
|
feature_lags
|
用于为具有“auto”或“None”的数字特征生成滞后的标志。 默认值: None
|
|
target_rolling_window_size
|
用于创建目标列的滚动窗口平均值的过去时间段数。 预测时,此参数表示用于生成预测 值的历史周期 , <= 定型集大小。 如果省略, 则 n 是完整的训练集大小。 如果只想在训练模型时考虑一定数量的历史记录,请指定此参数。 如果设置为“auto”,则滚动窗口将估计为 PACF 的上一个值,然后是重要性阈值。 有关详细信息,请参阅target_lags部分。 默认值: None
|
|
holiday_country
|
默认值: None
|
|
seasonality
|
将时序季节性设置为序列频率的整数倍数。 如果季节性设置为“auto”,则会推断它。 如果设置为“无”,则假定时序为非季节性,相当于季节性=1。 默认值: auto
|
|
country_or_region_for_holidays
|
用于生成假日功能的国家/地区。 这些代码应为 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。 默认值: None
|
|
use_stl
|
配置时序目标列的 STL 分解。 use_stl可以采用三个值:None (default) - 无 stl 分解,“季节”- 仅生成季节组件和season_trend - 生成季节和趋势组件。 默认值: None
|
|
short_series_handling
|
为预测任务配置短序列处理。 默认值: True
|
|
short_series_handling_configuration
|
定义 AutoML 如何处理短时序的参数。 可能的值:“auto”(默认值)、“pad”、“drop”和“None”。
日期 numeric_value 字符串 目标 2020-01-01 23 绿 55 假设最小值数为 4 的输出: 日期 numeric_value 字符串 目标 2019-12-29 0 那 55.1 2019-12-30 0 那 55.6 2019-12-31 0 那 54.5 2020-01-01 23 绿 55 注意: 我们有两个参数short_series_handling_configuration和旧版short_series_handling。 设置这两个参数时,我们将同步它们,如下表所示(short_series_handling_configuration和short_series_handling分别标记为handling_configuration和处理)。 处理 handling_configuration 生成的处理 生成的handling_configuration 真 实 自动 真 实 自动 真 实 垫 真 实 自动 真 实 删除 真 实 自动 真 实 没有 假 没有 假 自动 假 没有 假 垫 假 没有 假 删除 假 没有 假 没有 假 没有 默认值: auto
|
|
freq
|
预测频率。 预测时,此参数表示需要预测的时间段,例如每日、每周、每年等。默认情况下,预测频率为数据集频率。 可以选择将其设置为大于(但不小于)数据集频率。 我们将聚合数据,并按预测频率生成结果。 例如,对于每日数据,可以将频率设置为每日、每周或每月,但不能设置为每小时。 频率必须是 pandas 偏移别名。 有关详细信息,请参阅 pandas 文档: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects 默认值: None
|
|
target_aggregation_function
|
用于聚合符合用户指定频率的时序目标列的函数。 如果设置了target_aggregation_function,但未设置 freq 参数,则会引发错误。 可能的目标聚合函数包括:“sum”、“max”、“min”和“mean”。
频率 target_aggregation_function 数据规律性修复机制 无(默认值) 无(默认值) 未应用聚合。如果有效频率无法确定,将引发错误。 一些值 无(默认值) 未应用聚合。如果符合给定频率网格的数据点数小于,则将删除 90%these 点,否则将引发错误。 无(默认值) 聚合函数 引发有关缺少频率参数的错误。 一些值 聚合函数 使用提供的聚合函数聚合到频率。 默认值: None
|
|
cv_step_size
|
一个 CV 折叠的origin_time和下一个折叠之间的句点数。 例如,如果 n_step = 3 表示每日数据,则每个折叠的起始时间将相隔三天。 默认值: auto
|
|
validate_parameters
|
配置为验证输入参数。 默认值: True
|
|
features_unknown_at_forecast_time
|
默认值: None
|
|
_enable_future_regressors
|
默认值: False
|
方法
| from_parameters_dict |
从听写构造 ForecastingParameters 类。 |
| validate_parameters |
验证 ForecastingParameters 类中的参数。 |
from_parameters_dict
从听写构造 ForecastingParameters 类。
static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters
参数
| 名称 | 说明 |
|---|---|
|
parameter_dict
必需
|
听写包含所有预测参数。 |
|
validate_params
必需
|
是否验证输入参数。 |
|
show_deprecate_warnings
|
切换到显示已弃用的参数警告。 默认值: True
|
validate_parameters
验证 ForecastingParameters 类中的参数。
validate_parameters()
属性
country_or_region_for_holidays
用于生成假日功能的国家/地区。 这些代码应为 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。
cv_step_size
一个 CV 折叠的origin_time和下一个折叠之间的句点数。 例如,如果 n_step = 3 表示每日数据,则每个折叠的起始时间将相隔三天。
drop_column_names
要删除用于预测任务的列的名称。
dropna
在时间顺序数据转换器中配置 dropna。
feature_lags
用于生成数值特征滞后的标志。
features_unknown_at_forecast_time
可用于训练但预测/推理时间未知的功能的列名称。 如果未定义此功能,则假定所有功能列在预测时都是已知的。
forecast_horizon
所需最大预测范围(以时序频率单位为单位)。 默认值为 1。 单位基于训练数据的时间间隔,例如预测器应预测的每月、每周。
formatted_drop_column_names
要为预测任务删除的列的格式名称。
formatted_group_column_names
formatted_target_lags
要从目标列滞后的过去时间段的格式化数。
formatted_time_series_id_column_names
用于对时间序列进行分组的列的名称。 它可用于创建多个序列。 如果未定义time_series_id_column_names,则假定数据集为一个时序。
formatted_unknown_features
可用于训练但预测/推理时间未知的功能的列名称。 如果未定义此功能,则假定所有功能列在预测时都是已知的。 仅在 dnn/tcn 中受支持。 当用户未指定任何内容时,不会在 dnn 中启用将来的功能。 但是,如果它们提供空列表,则会启用将来的功能,并且假定所有功能列在预测时已知。
freq
数据集的频率。
group_column_names
holiday_country
用于生成假日功能的国家/地区。 这些代码应为 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。
overwrite_columns
在时间顺序数据转换器中配置overwrite_columns。
seasonality
时序季节性作为序列频率的整数倍数。
short_series_handling_configuration
如果应填充短粒度,则返回。
target_aggregation_function
返回目标聚合函数。
target_lags
要从目标列滞后的过去时间段数。
target_rolling_window_size
time_column_name
时间列的名称。 当预测在用于生成时序并推断其频率的输入数据中指定日期/时间列时,此参数是必需的。
time_series_id_column_names
用于对时间序列进行分组的列的名称。 它可用于创建多个序列。 如果未定义time_series_id_column_names,则假定数据集为一个时序。
transform_dictionary
在时间顺序数据转换器中配置transform_dictionary。
use_stl
配置时序目标列的 STL 分解。 use_stl可以采用三个值:None (default) - 无 stl 分解,“季节”- 仅生成季节组件和season_trend - 生成季节和趋势组件。
DEFAULT_TIMESERIES_VALUE
DEFAULT_TIMESERIES_VALUE = {'_enable_future_regressors': False, 'cv_step_size': 'auto', 'feature_lags': None, 'features_unknown_at_forecast_time': None, 'forecast_horizon': 1, 'freq': None, 'max_horizon': 1, 'seasonality': 'auto', 'short_series_handling': True, 'short_series_handling_configuration': 'auto', 'target_aggregation_function': None, 'target_lags': None, 'target_rolling_window_size': None, 'use_stl': None}
DEPRECATED_DICT
DEPRECATED_DICT = {'country': 'country_or_region_for_holidays', 'country_or_region': 'country_or_region_for_holidays', 'grain_column_names': 'time_series_id_column_names', 'holiday_country': 'country_or_region_for_holidays', 'max_horizon': 'forecast_horizon'}
EMPTY_TIME_COLUMN_NAME
EMPTY_TIME_COLUMN_NAME = '_EMPTY_TIME_COLUMN_NAME'
MAX_LAG_LENGTH
MAX_LAG_LENGTH = 2000