ForecastingPipelineWrapperBase 类
预测模型包装器的基类。
- 继承
-
ForecastingPipelineWrapperBase
构造函数
ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)
参数
名称 | 说明 |
---|---|
ts_transformer
|
默认值: None
|
y_transformer
|
默认值: None
|
metadata
|
默认值: None
|
方法
align_output_to_input |
将转换后的输出数据帧与输入数据帧对齐。 注意:转换后的项将按引用进行修改,不会创建任何副本。 :param X_input:输入数据帧。 :param transformed:转换后的数据帧。 :returns:转换后的数据帧及其原始索引,但按 X_input 中的方式排序。 |
fit |
使用输入 X 和 y 拟合模型。 |
forecast |
对数据帧 X_pred 执行预测。 |
forecast_quantiles |
从拟合的管道获取预测和分位数。 |
is_grain_dropped |
如果要删除粒度,则返回 True。 |
preaggregate_data_set |
聚合预测数据集。 注意:此方法不保证会聚合数据集。 只有当数据集包含重复时间戳或网格外日期时,才发生这种情况。 :param df:要聚合的数据集。 :patam y:目标值。 :param is_training_set:如果为 True,则数据表示训练集。 :return:如果不需要聚合,则为聚合或完整的数据集。 |
preprocess_pred_X_y |
预处理预测 X 和 y。 |
rolling_evaluation |
“基于给定测试集对滚动原点生成预测。 每次迭代都对当前原点的下一个“max_horizon”周期进行预测,然后按时间范围持续时间推进原点。 设置每个预测的预测上下文,以便预测器使用当前源时间之前的实际目标值来构造滞后特征。 此函数返回与测试集中的实际值相结合的滚动预测的串联 DataFrame。 此方法已弃用,并将在将来的版本中删除。 请改用 rolling_forecast () 。 |
rolling_forecast |
对测试集的滚动原点生成预测。 每次迭代使用当前原点的信息预测未来最大地平线周期,然后按“步长”时间段推进原点。 设置每个预测的预测上下文,以便预测程序使用当前原点时间之前的实际目标值来构造回溯特征。 此函数返回与测试集中的实际值联接的滚动预测的数据帧。 返回的数据帧中的列如下所示:
|
short_grain_handling |
如果为模型启用了短粒度或缺失粒度处理,则返回 true。 |
static_preaggregate_data_set |
聚合预测数据集。 注意:此方法不保证会聚合数据集。 只有当数据集包含重复时间戳或网格外日期时,才发生这种情况。 :p aram ts_transformer:用于训练的时序转换器。 :p time_column_name:时间列的名称。 :p grain_column_names:粒度列名的列表。 :param df:要聚合的数据集。 :patam y:目标值。 :param is_training_set:如果为 True,则数据表示训练集。 :return:如果不需要聚合,则为聚合或完整的数据集。 |
align_output_to_input
将转换后的输出数据帧与输入数据帧对齐。
注意:转换后的项将按引用进行修改,不会创建任何副本。 :param X_input:输入数据帧。 :param transformed:转换后的数据帧。 :returns:转换后的数据帧及其原始索引,但按 X_input 中的方式排序。
align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame
参数
名称 | 说明 |
---|---|
X_input
必需
|
|
transformed
必需
|
|
fit
使用输入 X 和 y 拟合模型。
fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase
参数
名称 | 说明 |
---|---|
X
必需
|
输入 X 数据。 |
y
必需
|
输入 y 数据。 |
forecast
对数据帧 X_pred 执行预测。
forecast(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, forecast_destination: Timestamp | None = None, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]
参数
名称 | 说明 |
---|---|
X_pred
|
以时间连续的方式组合 X_past 和 X_future 的预测数据帧。 将估算 X_pred 中的空值。 默认值: None
|
y_pred
|
将 y_past 的明确值与 Y_future 的缺失值进行组合的目标值。 如果为“无”,则针对每个 X_pred 进行预测。 默认值: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination:时间戳值。 对于所有粒度,将一直进行预测,直到 forecast_destination 时间。 不接受字典输入 { grain -> timestamp }。 如果未提供 forecast_destination,则估算为每个粒度在 X_pred 中最后出现的时间。 默认值: None
|
ignore_data_errors
|
忽略用户数据中的错误。 默认值: False
|
返回
类型 | 说明 |
---|---|
Y_pred,具有对应于填充了各自预测的 Y_future 的子帧。 Y_past 中任何缺失的值都将由估算器填充。 |
forecast_quantiles
从拟合的管道获取预测和分位数。
forecast_quantiles(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, quantiles: float | List[float] | None = None, forecast_destination: Timestamp | None = None, ignore_data_errors: bool = False) -> DataFrame
参数
名称 | 说明 |
---|---|
X_pred
|
以时间连续的方式组合 X_past 和 X_future 的预测数据帧。 将估算 X_pred 中的空值。 默认值: None
|
y_pred
|
将 y_past 的明确值与 Y_future 的缺失值进行组合的目标值。 如果为“无”,则针对每个 X_pred 进行预测。 默认值: None
|
quantiles
|
要预测的分位数列表。 默认值: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination:时间戳值。 对于所有粒度,将一直进行预测,直到 forecast_destination 时间。 不接受字典输入 { grain -> timestamp }。 如果未提供 forecast_destination,则估算为每个粒度在 X_pred 中最后出现的时间。 默认值: None
|
ignore_data_errors
|
忽略用户数据中的错误。 默认值: False
|
返回
类型 | 说明 |
---|---|
一个数据帧,其中包含在请求的分位处进行的列和预测。 |
is_grain_dropped
如果要删除粒度,则返回 True。
is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool
参数
名称 | 说明 |
---|---|
grain
必需
|
要测试是否将删除的粒度。 |
返回
类型 | 说明 |
---|---|
如果将删除粒度,则为 True。 |
preaggregate_data_set
聚合预测数据集。
注意:此方法不保证会聚合数据集。 只有当数据集包含重复时间戳或网格外日期时,才发生这种情况。 :param df:要聚合的数据集。 :patam y:目标值。 :param is_training_set:如果为 True,则数据表示训练集。 :return:如果不需要聚合,则为聚合或完整的数据集。
preaggregate_data_set(df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]
参数
名称 | 说明 |
---|---|
df
必需
|
|
y
|
默认值: None
|
is_training_set
|
默认值: False
|
preprocess_pred_X_y
预处理预测 X 和 y。
preprocess_pred_X_y(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, forecast_destination: Timestamp | None = None) -> Tuple[DataFrame, DataFrame | ndarray, Dict[str, Any]]
参数
名称 | 说明 |
---|---|
X_pred
|
默认值: None
|
y_pred
|
默认值: None
|
forecast_destination
|
默认值: None
|
rolling_evaluation
“基于给定测试集对滚动原点生成预测。
每次迭代都对当前原点的下一个“max_horizon”周期进行预测,然后按时间范围持续时间推进原点。 设置每个预测的预测上下文,以便预测器使用当前源时间之前的实际目标值来构造滞后特征。
此函数返回与测试集中的实际值相结合的滚动预测的串联 DataFrame。
此方法已弃用,并将在将来的版本中删除。 请改用 rolling_forecast () 。
rolling_evaluation(X_pred: DataFrame, y_pred: DataFrame | ndarray, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]
参数
名称 | 说明 |
---|---|
X_pred
必需
|
以时间连续的方式组合 X_past 和 X_future 的预测数据帧。 将估算 X_pred 中的空值。 |
y_pred
必需
|
与 X_pred 对应的目标值。 |
ignore_data_errors
|
忽略用户数据中的错误。 默认值: False
|
返回
类型 | 说明 |
---|---|
Y_pred,具有对应于填充了各自预测的 Y_future 的子帧。 Y_past 中任何缺失的值都将由估算器填充。 |
rolling_forecast
对测试集的滚动原点生成预测。
每次迭代使用当前原点的信息预测未来最大地平线周期,然后按“步长”时间段推进原点。 设置每个预测的预测上下文,以便预测程序使用当前原点时间之前的实际目标值来构造回溯特征。
此函数返回与测试集中的实际值联接的滚动预测的数据帧。 返回的数据帧中的列如下所示:
可选) (时间序列 ID 列。 当用户提供时,将使用给定的列名称。
预测原点列,提供每一行的原点时间。
列名:存储为对象成员变量forecast_origin_column_name。
时间列。 将使用用户提供的列名。
“预测值”列。 列名:存储为对象成员forecast_column_name
“实际值”列。 列名:存储为对象成员actual_column_name
rolling_forecast(X_pred: DataFrame, y_pred: ndarray, step: int = 1, ignore_data_errors: bool = False) -> DataFrame
参数
名称 | 说明 |
---|---|
X_pred
必需
|
<xref:pd.DataFrame>
预测数据帧 |
y_pred
必需
|
<xref:np.ndarray>
对应于X_pred中的行的目标值 |
step
|
在每次迭代中推进预测窗口的周期数。 默认值: 1
|
ignore_data_errors
|
忽略用户数据中的错误。 默认值: False
|
返回
类型 | 说明 |
---|---|
<xref:pd.DataFrame>
|
滚动预测的数据帧 |
short_grain_handling
如果为模型启用了短粒度或缺失粒度处理,则返回 true。
short_grain_handling() -> bool
static_preaggregate_data_set
聚合预测数据集。
注意:此方法不保证会聚合数据集。 只有当数据集包含重复时间戳或网格外日期时,才发生这种情况。 :p aram ts_transformer:用于训练的时序转换器。 :p time_column_name:时间列的名称。 :p grain_column_names:粒度列名的列表。 :param df:要聚合的数据集。 :patam y:目标值。 :param is_training_set:如果为 True,则数据表示训练集。 :return:如果不需要聚合,则为聚合或完整的数据集。
static static_preaggregate_data_set(ts_transformer: TimeSeriesTransformer, time_column_name: str, grain_column_names: List[str], df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]
参数
名称 | 说明 |
---|---|
ts_transformer
必需
|
|
time_column_name
必需
|
|
grain_column_names
必需
|
|
df
必需
|
|
y
|
默认值: None
|
is_training_set
|
默认值: False
|
属性
actual_column_name
forecast_column_name
forecast_origin_column_name
grain_column_list
max_horizon
返回模型中使用的最大范围。
origin_col_name
返回源列名称。
target_lags
返回目标延隔(如果有)。
target_rolling_window_size
返回滚动窗口的大小。
time_column_name
返回时间列的名称。
user_target_column_name
y_max_dict
按时序 ID 返回具有最大目标值的字典
y_min_dict
按时序 ID 返回具有最小目标值的字典
FATAL_NO_TARGET_IMPUTER
FATAL_NO_TARGET_IMPUTER = 'No target imputers were found in TimeSeriesTransformer.'
FATAL_NO_TS_TRANSFORM
FATAL_NO_TS_TRANSFORM = 'The time series transform is absent. Please try training model again.'