予測ジョブAPI

時系列の過去の挙動を使用して、将来の挙動を予測します。

リクエスト

POST _ml/anomaly_detectors/<job_id>/_forecast

前提条件

manage_ml クラスター権限が必要です。この権限は machine_learning_admin ビルトインロールに含まれています。

説明

異常検出ジョブに基づいて予測ジョブを作成し、将来の挙動を外挿することができます。詳細については、未来の予測および予測の制限を参照してください。

予測削除APIを使用して予測を削除できます。

  • 人口分析を行うジョブに対しては予測がサポートされていません。over_field_name プロパティを持つジョブの予測を作成しようとするとエラーが発生します。
  • 予測を作成する際には、ジョブがオープンである必要があります。そうでない場合、エラーが発生します。

パスパラメータ

  • <job_id>
  • (必須、文字列)異常検出ジョブの識別子。

クエリパラメータ

  • duration
  • (オプション、時間単位)予測する未来の期間を示す時間の長さ。例えば、30d は30日を表します。デフォルト値は1日です。予測は処理された最後のレコードから始まります。
  • expires_in
  • (オプション、時間単位)予測結果が保持される期間。予測が期限切れになると、結果は削除されます。デフォルト値は14日です。0 の値に設定すると、予測は自動的に削除されることはありません。
  • max_model_memory
  • (オプション、バイト値)予測が使用できる最大メモリ。予測が提供された量を超えて使用する必要がある場合、ディスクにスプールされます。デフォルトは20MB、最大は500MB、最小は1MBです。ジョブの設定されたメモリ制限の40%以上に設定されると、その量以下に自動的に減少します。

リクエストボディ

リクエストボディ内でクエリパラメータ(durationexpires_inなど)を指定することもできます。

Python

  1. resp = client.ml.forecast(
  2. job_id="low_request_rate",
  3. duration="10d",
  4. )
  5. print(resp)

Js

  1. const response = await client.ml.forecast({
  2. job_id: "low_request_rate",
  3. duration: "10d",
  4. });
  5. console.log(response);

コンソール

  1. POST _ml/anomaly_detectors/low_request_rate/_forecast
  2. {
  3. "duration": "10d"
  4. }

予測が作成されると、次の結果が得られます:

Js

  1. {
  2. "acknowledged": true,
  3. "forecast_id": "wkCWa2IB2lF8nSE_TzZo"
  4. }

その後、Kibanaのシングルメトリックビューワーで予測を確認できます。