ForecastingParameters 类
管理预测任务所使用的参数。
- 继承
-
builtins.objectForecastingParameters
构造函数
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。 单位基于训练数据的时间间隔,例如,预测人员应每月、每周预测。当任务类型为 forecasting 时,此参数是必需的。 有关设置预测参数的详细信息,请参阅自动训练时序预测模型。 默认值: 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 个历史周期,<=训练集大小。 如果省略,则 n 为完整训练集大小。 如果训练模型时只想考虑一定量的历史记录,请指定此参数。 如果设置为“auto”,则当 PACF 大于显著性阈值时,滚动窗口估计为最后一个值。 请查看 target_lags 部分了解详情。 默认值: None
|
holiday_country
|
默认值: None
|
seasonality
|
设置时序季节性为序列频率的整数倍数。 如果将季节性设置为“自动”,将推断出该季节性。 如果设置为 None,则假定时序为非季节性,这等效于季节性=1。 默认值: auto
|
country_or_region_for_holidays
|
用于生成节假日特征的国家/地区。 这些值应该是 ISO 3166 双字母国家/地区代码,例如“US”或“GB”。 默认值: None
|
use_stl
|
配置时序目标列的 STL 分解。 use_stl 可以取三个值:None(默认值)- 不进行 STL 分解;season - 仅生成季节组件;season_trend - 生成季节和趋势组件。 默认值: None
|
short_series_handling
|
为预测任务配置短序列处理。 默认值: True
|
short_series_handling_configuration
|
定义 AutoML 应如何处理短时间序列的参数。 可能的值:"auto"(默认)、"pad"、"drop" 和“无”。
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)。 处理 handling_configuration 生成的处理 生成的handling_configuration True auto True auto 正确 垫 True auto 正确 drop True auto 正确 无 False 无 错误 auto False 无 错误 垫 False 无 错误 drop False 无 False 无 False 无 默认值: 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%,则将删除这些点,否则将引发错误。 无(默认) 聚合函数 引发有关缺少频率参数的错误。 某些值 聚合函数 使用提供的聚合函数聚合到频率。 默认值: None
|
cv_step_size
|
从一个 CV 折叠到下一个 CV 折叠的 origin_time 之间的周期数。 例如,如果对于每日数据 n_step = 3,则每个折叠的源时间将相隔 3 天。 默认值: auto
|
validate_parameters
|
配置以验证输入参数。 默认值: True
|
features_unknown_at_forecast_time
|
默认值: None
|
_enable_future_regressors
|
默认值: False
|
方法
from_parameters_dict |
从 dict 构造 ForecastingParameters 类。 |
validate_parameters |
验证 ForecastingParameters 类中的参数。 |
from_parameters_dict
从 dict 构造 ForecastingParameters 类。
static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters
参数
名称 | 说明 |
---|---|
parameter_dict
必需
|
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 折叠到下一个 CV 折叠的 origin_time 之间的周期数。 例如,如果对于每日数据 n_step = 3,则每个折叠的源时间将相隔 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(默认值)- 不进行 STL 分解;season - 仅生成季节组件;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