8 予測関数
ここに記載されているすべての関数は、以下でサポートされています:
関数は追加情報なしでリストされています。関数をクリックすると詳細が表示されます。
共通パラメータ
/host/keyは、ホストアイテムの履歴を参照する関数の共通必須の最初のパラメータです(sec|#num)<:time shift>は、ホストアイテムの履歴を参照する関数の共通の2番目のパラメータで、以下の通りです:
関数の詳細
関数パラメータに関する一般的な注意事項:
- 関数パラメータはカンマで区切ります
- オプションの関数パラメータ(またはパラメータの一部)は
<>で示します - 関数固有のパラメータは各関数で説明します
/host/keyおよび(sec|#num)<:time shift>パラメータは決して引用符で囲まないでください
forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>)
アイテムの将来の値、最大値、最小値、差分または平均値。
対応する値の型: Float、Integer。
パラメータ:
- 共通パラメータを参照;
- time - 予測する期間(秒単位、時間のサフィックスも使用可能)。負の値もサポート;
- fit (オプション; ダブルクォートで囲む必要あり) - 過去データにフィットさせる関数。サポートされるフィット:
linear - 線形関数(デフォルト)
polynomialN - N次多項式(1 <= N <= 6)
exponential - 指数関数
logarithmic - 対数関数
power - 累乗関数
なお、polynomial1はlinearと同等; - mode (オプション; ダブルクォートで囲む必要あり) - 出力する値。サポートされるモード:
value - 値(デフォルト)
max - 最大値
min - 最小値
delta - max-min
avg - 平均値
なお、valueはnow+time時点のアイテム値を推定する。max、min、delta、avgはnowからnow+timeまでの区間でのアイテム値の推定を調査する。
コメント:
- 返す値が1.7976931348623158E+308より大きい、または-1.7976931348623158E+308より小さい場合、返り値はそれぞれ1.7976931348623158E+308または-1.7976931348623158E+308に切り詰められる;
- 式の誤用(誤ったアイテムタイプ、不正なパラメータ)でのみ未サポートとなり、それ以外のエラー時は-1を返す;
- 予測トリガー関数の追加情報も参照。
例:
forecast(/host/key,#10,1h) #直近10個の値から1時間後のアイテム値を予測
forecast(/host/key,1h,30m) #直近1時間のデータから30分後のアイテム値を予測
forecast(/host/key,1h:now-1d,12h) #1日前の1時間分のデータから12時間後のアイテム値を予測
forecast(/host/key,1h,10m,"exponential") #直近1時間のデータと指数関数から10分後のアイテム値を予測
forecast(/host/key,1h,2h,"polynomial3","max") #直近1時間のデータと3次多項式から、今後2時間で到達しうる最大値を予測
forecast(/host/key,#2,-20m) #直近2個の値から20分前のアイテム値を推定(アイテムの更新頻度が低い場合、last()よりも精度が高い場合がある)
timeleft(/host/key,(sec|#num)<:time shift>,threshold,<fit>)
アイテムが指定されたしきい値に達するまでに必要な秒数。
サポートされている値の型: Float、Integer。
パラメータ:
- 共通パラメータを参照;
- threshold - 到達する値(単位のサフィックスが使用可能);
- fit (オプション; ダブルクォートで囲む必要あり) - forecast()を参照。
コメント:
- 返す値が1.7976931348623158E+308より大きい場合、返り値は1.7976931348623158E+308に切り捨てられます;
- しきい値に到達できない場合は1.7976931348623158E+308を返します;
- 式の誤用(アイテムタイプの誤り、パラメータの無効化)の場合のみ未サポートとなり、それ以外のエラー時は-1を返します;
- 予測トリガー関数の追加情報も参照してください。
例:
timeleft(/host/key,#10,0) #直近10個の値からアイテム値が0に達するまでの時間
timeleft(/host/key,1h,100) #直近1時間のデータからアイテム値が100に達するまでの時間
timeleft(/host/key,1h:now-1d,100) #1日前の1時間分のデータからアイテム値が100に達するまでの時間
timeleft(/host/key,1h,200,"polynomial2") #直近1時間のデータとアイテムが2次多項式のように振る舞うと仮定して、アイテム値が200に達するまでの時間
サポートされているすべての関数を参照してください。