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