ForecastingSettings クラス

AutoML ジョブの予測設定。

継承
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

コンストラクター

ForecastingSettings(*, country_or_region_for_holidays: str | None = None, cv_step_size: int | None = None, forecast_horizon: str | int | None = None, target_lags: str | int | List[int] | None = None, target_rolling_window_size: str | int | None = None, frequency: str | None = None, feature_lags: str | None = None, seasonality: str | int | None = None, use_stl: str | None = None, short_series_handling_config: str | None = None, target_aggregate_function: str | None = None, time_column_name: str | None = None, time_series_id_column_names: str | List[str] | None = None, features_unknown_at_forecast_time: str | List[str] | None = None)

パラメーター

名前 説明
country_or_region_for_holidays
必須

休日の特徴を生成するために使用される国または地域。 これらは、2 文字の ISO 3166 国または地域コード ("US" や "GB" など) である必要があります。

cv_step_size
必須

1 つの CV フォールドの origin_time と次のフォールドの間の期間数。 たとえば、日次データに対して n_step = 3 の場合、各フォールドの原点の時間は 3 日離れています。

forecast_horizon
必須

時系列頻度を単位にした目的の最大予測期間。 既定値は 1 です。

単位は、トレーニング データの時間間隔に基づきます。たとえば、予測者が予測する必要がある月ごと、週ごとなどです。タスクの種類が予測である場合、このパラメーターは必須です。 予測パラメーターの設定の詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。

target_lags
必須

ターゲット列からのラグとして指定する過去の期間の数。 既定では、ラグはオフになっています。

予測時に、このパラメーターは、データの頻度に基づいてターゲット値を遅延させる行数を表します。 これは一覧または単一の整数として表されます。 独立変数と依存変数の間のリレーションシップが既定で一致しない場合、または関連付けられていない場合、ラグを使用する必要があります。 たとえば、製品の需要を予測しようとする場合、任意の月の需要は、3 か月前の特定の商品の価格によって異なる可能性があります。 この例では、モデルが正しいリレーションシップでトレーニングされるように、目標 (要求) を 3 か月間遅延させてください。 詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。

ターゲット ラグとローリング ウィンドウのサイズの自動検出に関する注意事項です。 ローリング ウィンドウ セクションの対応するコメントを参照してください。 次のアルゴリズムを使用して、最適なターゲット ラグとローリング ウィンドウのサイズを検出します。

  1. ルックバック特徴選択のための最大ラグ次数を推定します。 この例では、次の日付の頻度粒度までの期間数です。つまり、頻度が日次の場合は 1 週間 (7)、週次の場合は月 (4) になります。 この値に 2 を掛けたものが、ラグまたはローリング ウィンドウの可能な最大値です。 この例では、最大ラグ次数 14 と 8 をそれぞれ考慮します。

  2. 傾向と残余コンポーネントを追加して、季節性を取り除いた系列を作成します。 これは、次の手順で使用します。

  3. (2) のデータで PACF (偏自己相関関数) を推定し、自己相関が有意である、つまりその絶対値が、95% の有意性に相当する 1.96/平方根 (最大ラグ値) より大きいポイントを検索します。

  4. すべてのポイントが有意である場合は、それが強い季節性であると見なし、ルックバック特徴を作成しません。

  5. PACF の値を先頭からスキャンし、最初の有意でない自己相関の前の値をラグに指定します。 最初の有意な要素 (それ自身と相関のある値) の後に有意でないものが続く場合、ラグは 0 となり、ルックバック特徴を使用しません。

target_rolling_window_size
必須

ターゲット列のローリング ウィンドウの平均を作成するために使用する過去の期間の数。

予測時に、このパラメーターは、予測値を生成するために使用する n 個の履歴期間を表し、トレーニング セットのサイズ以下です。 省略した場合、n はトレーニング セットの全体のサイズになります。 モデルのトレーニング時に特定の量の履歴のみを考慮する場合は、このパラメーターを指定します。 "auto" に設定した場合、ローリング ウィンドウは、PACF が有意性しきい値より大きい最後の値として推定されます。 詳細については target_lags のセクションを参照してください。

frequency
必須

予測頻度。

予測する場合、このパラメーターは、日単位、週単位、年単位など、予測が必要な期間を表します。予測頻度は、既定ではデータセットの頻度です。 必要に応じて、データセットよりも高い頻度 (低い頻度は不可) に設定することができます。 データを集計し、予測頻度で結果を生成します。 たとえば、毎日のデータの場合、頻度を日単位、週単位、または月単位に設定できますが、時間単位に設定することはできません。 頻度には、pandas のオフセット エイリアスを使用する必要があります。 詳細については、pandas のドキュメントをご覧ください: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

feature_lags
必須

数値特徴のラグを 'auto' または None で生成するためのフラグ。

seasonality
必須

時系列頻度の倍数 (整数) としての時系列の季節性を設定します。 'auto' に設定した場合、季節性は推論されます。 None に設定すると、時系列は季節性 = 1 に相当する非季節性と見なされます。

use_stl
必須

時系列ターゲット列の STL 分解を構成します。 use_stl は 3 つの値を取ることができます: None (既定) - stl 分解なし。'season' - 季節コンポーネントのみを生成します。season_trend - 季節と傾向の両方のコンポーネントを生成します。

short_series_handling_config
必須

AutoML で短い時系列を処理する方法を定義するパラメーター。

使用可能な値: 'auto' (既定値)、'pad'、'drop'、None。

  • auto 短い系列は、長い系列がない場合はパディングされ、それ以外は、短い系列は削除されます。
  • pad すべての短い系列はパディングされます。
  • drop すべての短い系列は削除されます。
  • None 短い系列は変更されません。 'pad' に設定すると、表には、リグレッサーのゼロと空の値、および target のランダムな値が埋め込まれます。平均値は、指定された時系列 ID のターゲット値の中央値と等しくなります。median が 0 以上の場合、最小埋め込み値は 0 でクリップされます。 次の内容を入力します。

日付

numeric_value

string

target

2020-01-01

23

green

55

値の最小数が 4 であると仮定した場合の出力:

日付

numeric_value

string

target

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

2020-01-01

23

green

55

注: short_series_handling_configuration と legacy short_series_handling の 2 つのパラメーターがあります。 両方のパラメーターを設定すると、次の表に示すように同期されます (short_series_handling_configuration と short_series_handling はそれぞれ、handling_configuration と handling と簡潔して表記されています)。

処理

構成の処理

結果の処理

結果の処理構成

True

自動

True

自動

True

パッド

True

自動

True

drop

True

自動

True

なし

False

なし

False

自動

False

なし

False

パッド

False

なし

False

drop

False

なし

False

なし

False

なし

target_aggregate_function
必須
str

ユーザー指定の頻度に従って時系列ターゲット列を集計するために使用する関数。 target_aggregation_function を設定しても、freq パラメーターを設定しないと、エラーが発生します。 使用可能なターゲット集計関数は、"sum"、"max"、"min"、"mean" です。

  • ターゲット列の値が、指定された操作に基づいて集計されます。 通常、ほとんどのシナリオでは sum が適しています。

  • データ内の数値予測列は、合計、平均、最小値、最大値で集計されます。 その結果、自動 ML では、末尾に集計関数名が付いた新しい列が生成され、選択した集計操作が適用されます。

  • カテゴリ予測列の場合、データは、ウィンドウ内で最も目立つカテゴリであるモードで集計されます。

  • 日付予測列は、最小値、最大値、モードで集計されます。

周波数

target_aggregation_function

データの規則性固定メカニズム

なし (既定)

なし (既定)

集計は適用されません。 validfrequency が bedetermined できない場合は、エラーが発生します。

一部の値

なし (既定)

集計は適用されません。 指定された周波数グリッドに準拠する数値データ ポイントが 90% 未満の場合、これらのポイントは削除され、それ以外の場合はエラーが発生します。

なし (既定)

集計関数

missingfrequency パラメーターに関するエラーが発生しました。

一部の値

集計関数

プロバイダー化集計関数を使用して頻度に集計します。

time_column_name
必須

時間列の名前。 このパラメーターは、時系列の構築とその頻度の推定に使用される入力データで、予測によって datetime 列を指定する場合に必要です。

time_series_id_column_names
必須

時系列をグループ化するために使用される列の名前。 複数の系列を作成するために使用できます。 時系列 ID 列名が定義されていない場合、または指定された識別子列によってデータセット内のすべての系列が識別されない場合は、データセットに対して時系列識別子が自動的に作成されます。

features_unknown_at_forecast_time
必須

予測/推論時にトレーニングに使用できるが不明な特徴列。 features_unknown_at_forecast_timeが空のリストに設定されている場合は、データセット内のすべての特徴列が推論時に既知であると見なされます。 このパラメーターが設定されていない場合、今後の機能のサポートは有効になりません。

Keyword-Only パラメータ

名前 説明
country_or_region_for_holidays
必須
cv_step_size
必須
forecast_horizon
必須
target_lags
必須
target_rolling_window_size
必須
frequency
必須
feature_lags
必須
seasonality
必須
use_stl
必須
short_series_handling_config
必須
target_aggregate_function
必須
time_column_name
必須
time_series_id_column_names
必須
features_unknown_at_forecast_time
必須