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

將轉換的輸出資料框架對齊輸入資料框架。

注意: 轉換會以傳址方式修改,不會建立任何複本。 :p aram X_input:輸入資料框架。 已轉換:p aram:轉換後的資料框架。 :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」期間進行預測,然後依水準時間持續時間將原點往前移。 系統會設定每個預測的預測內容,讓預測器使用目前源時間之前的實際目標值來建構延隔時間特徵。

此函式會傳回與測試集實際值聯結之滾動預測的串連 DataFrame。

這個方法已被取代,將在未來的版本中移除。 請改用 rolling_forecast () 。

rolling_forecast

在測試集上產生滾動原點的預測。

每個反復專案都會使用目前原點的資訊預先預測最大層級週期,然後依「步驟」時間週期前進原點。 系統會設定每個預測的預測內容,讓預測工具使用目前原點時間之前的實際目標值來建構回溯功能。

此函式會傳回與測試集實際值聯結的滾動預測資料框架。 傳回資料框架中的資料行如下所示:

  • 選擇性) (時間識別碼資料行。 由使用者提供時,將會使用指定的資料行名稱。

  • 預測來源資料行會提供每個資料列的源時間。

    資料行名稱:儲存為物件成員變數forecast_origin_column_name。

  • 時間資料行。 將會使用使用者所提供的資料行名稱。

  • 預測值資料行。 資料行名稱:儲存為物件成員forecast_column_name

  • 實際值資料行。 資料行名稱:儲存為物件成員actual_column_name

short_grain_handling

如果模型已啟用簡短或不存在的粒紋處理,則傳回 true。

static_preaggregate_data_set

匯總預測資料集。

注意: 這個方法不保證會匯總資料集。 只有在資料集包含重複的時間戳記或格線外日期時,才會發生這種情況。 :p aram ts_transformer:用於定型的 timeser tranformer。 :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 aram:轉換後的資料框架。 :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
預設值: None

以連續時間方式結合X_past和X_future的預測資料框架。 將會插補X_pred中的空白值。

y_pred
預設值: None

目標值,結合y_past的明確值,以及Y_future遺漏值。 如果 [無],則會針對每個X_pred進行預測。

forecast_destination
<xref:pandas.Timestamp>
預設值: None

Forecast_destination:時間戳記值。 所有粒紋的預測都會一路forecast_destination時間。 字典輸入 { grain - > timestamp } 將不會接受。 如果未指定forecast_destination,則會在每個粒紋的上次發生X_pred中插補。

ignore_data_errors
bool
預設值: 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
預設值: None

以連續時間方式結合X_past和X_future的預測資料框架。 將會插補X_pred中的空白值。

y_pred
預設值: None

目標值,結合y_past的明確值,以及Y_future遺漏值。 如果 [無],則會針對每個X_pred進行預測。

quantiles
floatlist of <xref:floats>
預設值: None

我們想要預測的分位數清單。

forecast_destination
<xref:pandas.Timestamp>
預設值: None

Forecast_destination:時間戳記值。 所有粒紋的預測都會一路forecast_destination時間。 字典輸入 { grain - > timestamp } 將不會接受。 如果未指定forecast_destination,則會在每個粒紋的上次發生X_pred中插補。

ignore_data_errors
bool
預設值: 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」期間進行預測,然後依水準時間持續時間將原點往前移。 系統會設定每個預測的預測內容,讓預測器使用目前源時間之前的實際目標值來建構延隔時間特徵。

此函式會傳回與測試集實際值聯結之滾動預測的串連 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

在測試集上產生滾動原點的預測。

每個反復專案都會使用目前原點的資訊預先預測最大層級週期,然後依「步驟」時間週期前進原點。 系統會設定每個預測的預測內容,讓預測工具使用目前原點時間之前的實際目標值來建構回溯功能。

此函式會傳回與測試集實際值聯結的滾動預測資料框架。 傳回資料框架中的資料行如下所示:

  • 選擇性) (時間識別碼資料行。 由使用者提供時,將會使用指定的資料行名稱。

  • 預測來源資料行會提供每個資料列的源時間。

    資料行名稱:儲存為物件成員變數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
int
預設值: 1

在每個反復專案中前進預測視窗的期間數。

ignore_data_errors
bool
預設值: False

忽略使用者資料中的錯誤。

傳回

滾動預測的資料框架

傳回類型

<xref:pd.DataFrame>

short_grain_handling

如果模型已啟用簡短或不存在的粒紋處理,則傳回 true。

short_grain_handling() -> bool

static_preaggregate_data_set

匯總預測資料集。

注意: 這個方法不保證會匯總資料集。 只有在資料集包含重複的時間戳記或格線外日期時,才會發生這種情況。 :p aram ts_transformer:用於定型的 timeser tranformer。 :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

依時間序列識別碼傳回具有最大目標值的字典

y_min_dict

依時間序列識別碼傳回目標值最少的字典

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.'