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: 集計するデータセット。 :p atam y: ターゲット値。 :p is_training_set: true の場合、データはトレーニング セットを表します。 :return: 集約が不要な場合は、集約されたデータセットまたはそのままのデータセット。

preprocess_pred_X_y

予測 X と y を前処理します。

rolling_evaluation

指定されたテスト セットに対するローリング起点に対して予測を生成します。

各イテレーションでは、現在の起点に関して次の "max_horizon" 期間の予測を行い、次に起点をホライズンの期間だけ進めます。 各予測の予測コンテキストは、予測器が現在の起点時刻より前の実際のターゲット値を使用してラグ機能を構築するように設定されます。

この関数は、テスト セットの実績と結合されたローリング予測の、連結されたデータ フレームを返します。

このメソッドは非推奨であり、今後のリリースで削除される予定です。 代わりに rolling_forecast() を使用してください。

rolling_forecast

テスト セット上のローリング オリジンに対して予測を生成します。

各イテレーションでは、現在の原点までの情報を使用して、最大期間の予測を行い、"ステップ" 期間で配信元を進めます。 各予測の予測コンテキストは、予測者がルックバック特徴を構築するために現在の開始時刻より前の実際のターゲット値を使用するように設定されます。

この関数は、テスト セットから実績値と結合されたローリング予測の DataFrame を返します。 返されるデータ フレーム内の列は次のとおりです。

  • 時系列 ID 列 (省略可能)。 ユーザーが指定すると、指定された列名が使用されます。

  • 各行の配信元の時刻を示す予測元列。

    列名: オブジェクト メンバー変数として格納forecast_origin_column_name。

  • 時間列。 ユーザーが指定した列名が使用されます。

  • [予測値] 列。 列名: オブジェクト メンバーとして格納forecast_column_name

  • [実際の値] 列。 列名: オブジェクト メンバーとして格納actual_column_name

short_grain_handling

モデルに対して短いグレイン処理または存在しないグレイン処理が有効になっている場合は true を返します。

static_preaggregate_data_set

予測データ セットを集計します。

メモ: このメソッドでは、データ セットが集計される保証はありません。 これは、データセットに重複したタイム スタンプが含まれている場合、またはグリッド外の日付が含まれている場合にのみ発生します。 :param ts_transformer: トレーニングに使用される時系列トランフォーマー。 :param time_column_name: 時間列の名前。 :param grain_column_names: 粒度列名の一覧。 :param df: 集計するデータセット。 :p atam y: ターゲット値。 :p 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 の欠落値を組み合わせたターゲット値。 None の場合、すべての 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 の欠落値を組み合わせたターゲット値。 None の場合、すべての X_pred に対して予測が行われます。

規定値: None
quantiles
float または list of <xref:floats>

予測する分位点の一覧。

規定値: 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: 集計するデータセット。 :p atam y: ターゲット値。 :p 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

テスト セット上のローリング オリジンに対して予測を生成します。

各イテレーションでは、現在の原点までの情報を使用して、最大期間の予測を行い、"ステップ" 期間で配信元を進めます。 各予測の予測コンテキストは、予測者がルックバック特徴を構築するために現在の開始時刻より前の実際のターゲット値を使用するように設定されます。

この関数は、テスト セットから実績値と結合されたローリング予測の DataFrame を返します。 返されるデータ フレーム内の列は次のとおりです。

  • 時系列 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
int

各イテレーションで予測期間を進める期間の数。

規定値: 1
ignore_data_errors

ユーザー データのエラーを無視します。

規定値: False

戻り値

説明
<xref:pd.DataFrame>

ローリング予測のデータ フレーム

short_grain_handling

モデルに対して短いグレイン処理または存在しないグレイン処理が有効になっている場合は true を返します。

short_grain_handling() -> bool

static_preaggregate_data_set

予測データ セットを集計します。

メモ: このメソッドでは、データ セットが集計される保証はありません。 これは、データセットに重複したタイム スタンプが含まれている場合、またはグリッド外の日付が含まれている場合にのみ発生します。 :param ts_transformer: トレーニングに使用される時系列トランフォーマー。 :param time_column_name: 時間列の名前。 :param grain_column_names: 粒度列名の一覧。 :param df: 集計するデータセット。 :p atam y: ターゲット値。 :p 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.'