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 |
将转换后的输出数据帧与输入数据帧对齐。 注意: 转换后将按引用修改,不会创建任何副本。 :p aram X_input:输入数据帧。 :p已转换:转换后的数据帧。 :returns: transfotmed 数据帧及其原始索引,但排序方式为 X_input。 |
| fit |
将模型与输入 X 和 y 拟合。 |
| forecast |
对数据帧执行预测X_pred。 |
| forecast_quantiles |
从拟合管道中获取预测和分位数。 |
| is_grain_dropped |
如果要删除粒度,则返回 true。 |
| preaggregate_data_set |
聚合预测数据集。 注意: 此方法不保证数据集将聚合。 仅当数据集包含重复的时间戳或网格外日期时,才会发生这种情况。 :p aram df:要聚合的数据集。 :p atam y:目标值。 :p aram is_training_set:如果为 true,则数据表示训练集。 :return:如果不需要聚合,则聚合或完好无损的数据集。 |
| preprocess_pred_X_y |
预处理预测 X 和 y。 |
| rolling_evaluation |
“在给定的测试集上生成滚动原点的预测。 每次迭代都会对当前原点的下一个“max_horizon”周期进行预测,然后按地平线时间持续时间推进原点。 设置每个预测的预测上下文,以便预测器使用当前原点时间之前的实际目标值来构造滞后特征。 此函数返回与测试集中的实际值联接的滚动预测的串联数据帧。 此方法已弃用,将在将来的版本中删除。 请改用rolling_forecast()。 |
| rolling_forecast |
在测试集上生成滚动原点的预测。 每次迭代都会使用信息提前预测最大地平线期,然后按“步骤”时间段推进原点。 设置每个预测的预测上下文,以便预测器使用当前原点时间之前的实际目标值来构造回溯功能。 此函数返回一个数据帧,其中包含与测试集中的实际值联接的滚动预测。 返回的数据帧中的列如下所示:
|
| short_grain_handling |
如果为模型启用了短粒度处理或缺粒度处理,则返回 true。 |
| static_preaggregate_data_set |
聚合预测数据集。 注意: 此方法不保证数据集将聚合。 仅当数据集包含重复的时间戳或网格外日期时,才会发生这种情况。 :p aram ts_transformer:用于训练的时报转换器。 :p aram time_column_name:时间列的名称。 :p aram grain_column_names:粒度列名称列表。 :p aram df:要聚合的数据集。 :p atam y:目标值。 :p aram is_training_set:如果为 true,则数据表示训练集。 :return:如果不需要聚合,则聚合或完好无损的数据集。 |
align_output_to_input
将转换后的输出数据帧与输入数据帧对齐。
注意: 转换后将按引用修改,不会创建任何副本。 :p aram X_input:输入数据帧。 :p已转换:转换后的数据帧。 :returns: transfotmed 数据帧及其原始索引,但排序方式为 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时间。 字典输入 { 粒度 -> 时间戳 } 将不接受。 如果未给出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时间。 字典输入 { 粒度 -> 时间戳 } 将不接受。 如果未给出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
聚合预测数据集。
注意: 此方法不保证数据集将聚合。 仅当数据集包含重复的时间戳或网格外日期时,才会发生这种情况。 :p aram df:要聚合的数据集。 :p atam y:目标值。 :p aram 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”周期进行预测,然后按地平线时间持续时间推进原点。 设置每个预测的预测上下文,以便预测器使用当前原点时间之前的实际目标值来构造滞后特征。
此函数返回与测试集中的实际值联接的滚动预测的串联数据帧。
此方法已弃用,将在将来的版本中删除。 请改用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 aram time_column_name:时间列的名称。 :p aram grain_column_names:粒度列名称列表。 :p aram df:要聚合的数据集。 :p atam y:目标值。 :p aram 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
返回模型中使用的最大 hiorizon。
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.'