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。 傳回資料框架中的數據列如下所示:
|
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
|
我們想要預測的分位數清單。 預設值: 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
|
在每個反覆項目中推進預測窗口的期間數。 預設值: 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.'