共用方式為


ForecastingPipelineWrapperBase 類別

預測模型包裝函式的基類。

建構函式

ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)

參數

名稱 Description
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

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

每個反覆項目都會使用最高到目前原點的信息預先預測最大地平線週期,然後依「步驟」時間週期將原點往前推進。 系統會設定每個預測的預測內容,讓預測工具在目前原點時間之前使用實際目標值來建構回溯功能。

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

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

  • 預測源數據行,提供每個數據列的原點時間。

    數據行名稱:儲存為對象成員變數forecast_origin_column_name。

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

  • 預測值數據行。 數據行名稱:儲存為對象成員forecast_column_name

  • 實際值數據行。 數據行名稱:儲存為對象成員actual_column_name

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 aram 已轉換:轉換後的數據框架。 :returns:其原始索引的 transfotmed 數據框架,但排序為 X_input。

align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame

參數

名稱 Description
X_input
必要
transformed
必要

fit

讓模型符合輸入 X 和 y。

fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase

參數

名稱 Description
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]

參數

名稱 Description
X_pred

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

預設值: None
y_pred

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

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

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

預設值: None
ignore_data_errors

忽略用戶數據中的錯誤。

預設值: False

傳回

類型 Description

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

參數

名稱 Description
X_pred

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

預設值: None
y_pred

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

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

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

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

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

預設值: None
ignore_data_errors

忽略用戶數據中的錯誤。

預設值: False

傳回

類型 Description

數據框架,其中包含在要求分量時所做的數據行和預測。

is_grain_dropped

如果要卸除粒紋,則傳回 true。

is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool

參數

名稱 Description
grain
必要

要測試是否要卸除的粒紋。

傳回

類型 Description

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]

參數

名稱 Description
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]]

參數

名稱 Description
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]

參數

名稱 Description
X_pred
必要

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

y_pred
必要

對應至X_pred的目標值。

ignore_data_errors

忽略用戶數據中的錯誤。

預設值: False

傳回

類型 Description

Y_pred,其子框架對應至Y_future填入個別預測。 Y_past中的任何遺漏值都會由插補器填入。

rolling_forecast

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

每個反覆項目都會使用最高到目前原點的信息預先預測最大地平線週期,然後依「步驟」時間週期將原點往前推進。 系統會設定每個預測的預測內容,讓預測工具在目前原點時間之前使用實際目標值來建構回溯功能。

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

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

  • 預測源數據行,提供每個數據列的原點時間。

    數據行名稱:儲存為對象成員變數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

參數

名稱 Description
X_pred
必要
<xref:pd.DataFrame>

預測數據框架

y_pred
必要
<xref:np.ndarray>

對應至X_pred中數據列的目標值

step
int

在每個反覆項目中推進預測窗口的期間數。

預設值: 1
ignore_data_errors

忽略用戶數據中的錯誤。

預設值: False

傳回

類型 Description
<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]

參數

名稱 Description
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.'