すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:預言者

最終更新日:Jul 22, 2024

Prophetは、特定のパターンを持つデータに対してFacebookが提供するオープンソースの時系列予測アルゴリズムです。 Platform for AI (PAI) のProphetコンポーネントは、MTableデータの各行の時系列データを予測し、その後の期間の予測結果を提供します。 このトピックでは、Prophetコンポーネントを設定する方法について説明します。

制限事項

Prophetは、MaxComputeのコンピューティングリソースのみに基づいて使用できます。

PAIコンソールでのコンポーネントの設定

  • 入力ポート

    入力ポート (左から右へ)

    データ型

    推奨上流コンポーネント

    必須/任意

    入力データ

    非該当

  • コンポーネントパラメータ

    タブ

    項目

    説明

    フィールド設定

    valueCol

    データ型はSTRING、データ形式はMTableです。 MATBEL集計コンポーネントを使用してデータを構築できます。 Datetime型のデータ列を時系列として使用できます。 MTableの例: {"data":{"ds":["2019-05-07 00:00:00.0","2019-05-08 00:00:00:00. 0"],"val":[8588.0,8521.0]},"schema":"ds TIMESTAMP,val DOUBLE"}

    reservedCols

    アルゴリズム用に予約されている列。

    パラメーター設定

    predictionCol

    予測結果列の名前。

    キャップ

    予測値の上限。

    changepoint_prior_scale

    デフォルト値: 0.05

    change_point_range

    トレンド変化ポイントの割合。 デフォルト値: 0.8

    changepoints

    変更ポイントのリスト。 複数の変更ポイントはコンマ (,) で区切ります。 例: 2021-05-02,2021-05-07

    毎日_季節性

    季節性に合わせるかどうかを日ごとに指定します。 デフォルト値: auto。

    フロア

    予測値の下限。

    成長

    トレンドのタイプ。 有効な値:

    • LINEAR (デフォルト値)

    • ロジスティック

    • フラット

    休日

    複数の休日をスペースで区切ります。 プレーオフ: 2021-05-03,2021-01-03スーパーボウル: 2021-02-07,2021-11-02

    holidays_previous_scale

    休日モデルパラメータ。 デフォルト値: 10.0

    include_history

    元のデータの日付に対応する値を予測するかどうかを指定します。

    interval_width

    不確実性の間隔。 デフォルト値: 0.8

    mcmc_サンプル

    ベイズ推定に使用されるサンプル数。 このパラメーターの値は整数です。 このパラメータが0に設定されると、最大事後確率 (MAP) 推定が実行される。 デフォルトの推定値は100です。

    n_change_ポイント

    変更ポイントの最大数。 デフォルト値:25。

    predictNum

    有効値 :( 0, inf) 。 デフォルト値: 12。

    predictionDetailCol

    予測の詳細列の名前。

    seasonality_モード

    季節性モード。 有効な値:

    • ADDITIVE (デフォルト値)

    • 多国籍

    seasonality_prior_scale

    季節性モデルのパラメータ。 デフォルト値: 10.0

    stanInit

    初期値。 このパラメーターはデフォルトで空となります。

    infinicitySamples

    デフォルト値は 1000 です。 サンプルを使用して統計メトリックを計算する。 統計メトリックを計算する必要がなく、予測を高速化する場合は、このパラメーターを0に設定します。

    毎週_季節性

    季節性に合わせるかどうかを週ごとに指定します。 デフォルト値: auto。

    毎年_季節性

    季節性に合わせるかどうかを年ごとに指定します。 デフォルト値: auto。

    numThreads

    コンポーネントのスレッド数。

    実行チューニング

    数の労働者

    コアの数。 このパラメーターは、Memory per worker, unit MBパラメーターと一緒に使用する必要があります。 このパラメーターの値は正の整数でなければなりません。 有効な値: [1,9999] 。

    ワーカあたりのメモリ、単位MB

    各ワーカーノードのメモリサイズ。 有効値: 1024〜64 × 1024。 単位:MB。

コードを使用したコンポーネントの設定

次のコードをPyAlink Scriptコンポーネントにコピーして、PyAlinkスクリプトコンポーネントをProphetコンポーネントと同じように機能させることができます。

import time, datetime
import numpy as np
import pandas as pd

downloader = AlinkGlobalConfiguration.getPluginDownloader()
downloader.downloadPlugin('tf115_python_env_linux')

data = pd.DataFrame([
			[1,  datetime.datetime.fromtimestamp(1), 10.0],
			[1,  datetime.datetime.fromtimestamp(2), 11.0],
			[1,  datetime.datetime.fromtimestamp(3), 12.0],
			[1,  datetime.datetime.fromtimestamp(4), 13.0],
			[1,  datetime.datetime.fromtimestamp(5), 14.0],
			[1,  datetime.datetime.fromtimestamp(6), 15.0],
			[1,  datetime.datetime.fromtimestamp(7), 16.0],
			[1,  datetime.datetime.fromtimestamp(8), 17.0],
			[1,  datetime.datetime.fromtimestamp(9), 18.0],
			[1,  datetime.datetime.fromtimestamp(10), 19.0]
])

source = dataframeToOperator(data, schemaStr='id int, ts timestamp, val double', op_type='batch')

source.link(GroupByBatchOp()
			.setGroupByPredicate("id")
			.setSelectClause("id, mtable_agg(ts, val) as data")
		).link(ProphetBatchOp()
			.setValueCol("data")
			.setPredictNum(4)
			.setPredictionCol("pred")
		).link(FlattenMTableBatchOp()
					.setSelectedCol("pred_detail")
          .setSchemaStr("ds timestamp, yhat double")
    ).print()

関連ドキュメント

  • MTable Expanderコンポーネントを使用して、MTableをテーブルに展開できます。 詳細については、「MTable Expander」をご参照ください。

  • Machine Learning Designerコンポーネントの詳細については、「Machine Learning Designerの概要」をご参照ください。

  • Machine Learning Designerは、さまざまなプリセットアルゴリズムコンポーネントを提供します。 ビジネスシナリオに基づいて、データ処理用のコンポーネントを選択できます。 詳細については、「コンポーネントリファレンス: すべてのコンポーネントの概要」をご参照ください。