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

Simple Log Service:予測および異常検出機能

最終更新日:Aug 26, 2024

異常を検出するには、予測および異常検出関数を使用して時系列曲線を予測し、予測曲線と実際の曲線の間のエラーのKsigmaと分位数を特定します。

機能一覧

機能

説明

ts_predicate_simple

デフォルトパラメータを使用して時系列データをモデル化し、単純な時系列予測と異常検出を実行します。

ts_predicate_ar

自己回帰モデル (AR) モデルを使用して時系列データをモデル化し、単純な時系列予測と異常検出を実行します。

ts_predicate_arma

自己回帰移動平均 (ARMA) モデルを使用して時系列データをモデル化し、単純な時系列予測と異常検出を実行します。

ts_predicate_arima

自己回帰統合移動平均 (ARIMA) モデルを使用して時系列データをモデル化し、単純な時系列予測と異常検出を実行します。

ts_regression_predict

周期的な時系列曲線の傾向を正確に予測する。

シナリオ: この関数は、測定データ、ネットワークトラフィック、財務データ、および特定のルールに従うさまざまなビジネスデータを予測するために使用できます。

ts_anomaly_filter

カスタム異常モードに基づいて、複数の時系列曲線で異常検出中に検出された異常をフィルタリングします。 この機能は、異常な曲線をすばやく見つけるのに役立ちます。

ts_predicate_simple

関数の形式:

select ts_predicate_simple(x, y, nPred, isSmooth) 

関数形式のパラメーターを次の表に示します。

項目

説明

x

タイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。

各時点はUnixタイムスタンプです。 単位は秒です。

y

指定された各時点に対応する数値データのシーケンス。

N/A

nPred

予測のポイント数。

値はlongデータ型で、1以上でなければなりません。

isSmooth

生データをフィルタリングするかどうかを指定します。

値はBooleanデータ型です。 デフォルト値はtrueで、生データがフィルター処理されることを示します。

例:

  • クエリステートメントは次のとおりです。

    * | select ts_predicate_simple(stamp, value, 6) from (select '("__time__" - ("__time__" % 60))' as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
  • 出力結果以下の図にテスト結果を示します。

The次の表を表示項目。

表示項目

説明

横軸

unixtime

データのUnixタイムスタンプ。 単位は秒です。

垂直軸

src

生データ。

predict

フィルタリング演算後に生成されたデータが実行される。

upper

信頼区間の上限。 信頼レベルは0.85であり、変更することはできない。

lower

信頼区間の下限。 信頼レベルは0.85であり、変更することはできない。

anomaly_prob

ポイントが異常である確率。 有効な値: [0, 1]

ts_predicate_ar

関数の形式:

select ts_predicate_ar(x, y, p, nPred, isSmooth) 

関数形式のパラメーターを次の表に示します。

項目

説明

x

タイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。

各時点はUnixタイムスタンプです。 単位は秒です。

y

指定された各時点に対応する数値データのシーケンス。

N/A

p

ARモデルの順序。

値はlongデータ型です。 有効な値: 2、3、4、5、6、7、および8。

nPred

予測のポイント数。

値はlongデータ型です。 有効値: [1, 5 × p] 。

isSmooth

生データをフィルタリングするかどうかを指定します。

値はBooleanデータ型です。 デフォルト値はtrueで、生データがフィルター処理されることを示します。

クエリ文の例を次に示します。

* | select ts_predicate_ar(stamp, value, 3, 4) from (select '("__time__" - ("__time__" % 60))' as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
説明

出力結果は、ts_predicate_simple関数と同様です。 詳細については、ts_predicate_simple関数の出力結果をご参照ください。

ts_predicate_arma

関数の形式:

select ts_predicate_arma(x, y, p, q, nPred, isSmooth) 

関数形式のパラメーターを次の表に示します。

項目

説明

x

タイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。

各時点はUnixタイムスタンプです。 単位は秒です。

y

指定された各時点に対応する数値データのシーケンス。

N/A

p

ARモデルの順序。

値はlongデータ型です。 有効な値: [2, 100] 。

q

ARMAモデルの順序。

値はlongデータ型です。 有効な値: 2、3、4、5、6、7、および8。

nPred

予測のポイント数。

値はlongデータ型です。 有効値: [1, 5 × p] 。

isSmooth

生データをフィルタリングするかどうかを指定します。

値はBooleanデータ型です。 デフォルト値はtrueで、生データがフィルター処理されることを示します。

クエリ文の例を次に示します。

* | select ts_predicate_arma(stamp, value, 3, 2, 4) from (select'("__time__" - ("__time__" % 60))' as stamp, avg(v) as value from log GROUP BY stamp order by stamp) 
説明

出力結果は、ts_predicate_simple関数と同様です。 詳細については、ts_predicate_simple関数の出力結果をご参照ください。

ts_predicate_arima

関数の形式:

select ts_predicate_arima(x, y, p, d, q, nPred, isSmooth) 

関数形式のパラメーターを次の表に示します。

項目

説明

x

タイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。

各時点はUnixタイムスタンプです。 単位は秒です。

y

指定された各時点に対応する数値データのシーケンス。

N/A

p

ARモデルの順序。

値はlongデータ型です。 有効な値: 2、3、4、5、6、7、および8。

d

ARIMAモデルの順序。

値はlongデータ型です。 有効な値: [1, 3] 。

q

ARMAモデルの順序。

値はlongデータ型です。 有効な値: 2、3、4、5、6、7、および8。

nPred

予測のポイント数。

値はlongデータ型です。 有効値: [1, 5 × p] 。

isSmooth

生データをフィルタリングするかどうかを指定します。

値はBooleanデータ型です。 デフォルト値はtrueで、生データがフィルター処理されることを示します。

クエリ文の例を次に示します。

* | select ts_predicate_arima(stamp, value, 3, 1, 2, 4) from (select '("__time__" - ("__time__" % 60))' as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
説明

出力結果は、ts_predicate_simple関数と同様です。 詳細については、ts_predicate_simple関数の出力結果をご参照ください。

ts_regression_predict

関数の形式:

select ts_regression_predict(x, y, nPred, algotype,processType)

関数形式のパラメーターを次の表に示します。

項目

説明

x

タイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。

各時点はUnixタイムスタンプです。 単位は秒です。

y

指定された各時点に対応する数値データのシーケンス。

N/A

nPred

予測のポイント数。

値はlongデータ型です。 有効な値: [1, 500] 。

アルゴタイプ

予測のアルゴリズムタイプ。

有効な値:

  • origin: 予測に勾配ブースト回帰ツリー (GBRT) アルゴリズムを使用します。

  • forest: GBRTアルゴリズムを使用して、季節分解によって分解されたトレンド成分とLoess (STL) を使用したトレンド分解に基づいて予測し、加法モデルを使用して分解された成分を合計し、予測データを取得します。

  • linear: STLによって分解されたトレンド成分に基づく予測に線形回帰アルゴリズムを使用し、次に加法モデルを使用して分解された成分を合計し、予測データを取得します。

processType

データを前処理するかどうかを指定します。

有効な値:

  • 0: 追加のデータ前処理は行わない。

  • 1: 予測前に異常データが除去される。

例:

  • クエリステートメントは次のとおりです。

    * and h : nu2h05202.nu8 and m: NET |  select ts_regression_predict(stamp, value, 200, 'origin') from (select '("__time__" - ("__time__" % 60))' as stamp, avg(v) as value from log GROUP  BY  stamp order by stamp)
  • 出力結果以下の図にテスト結果を示します。

表示项目一覧を次の表に示します。

表示項目

説明

横軸

unixtime

データのUnixタイムスタンプ。 単位は秒です。

垂直軸

src

生データ。

predict

フィルタリング演算後に生成されたデータが実行される。

ts_anomaly_filter

関数の形式:

select ts_anomaly_filter(lineName, ts, ds, preds, probs, nWatch, anomalyType)

関数形式のパラメーターを次の表に示します。

項目

説明

lineName

各カーブの名前。 値はvarchar型です。

N/A

ts

現在のカーブの時間を示すカーブの時間シーケンス。 パラメーター値は、昇順でソートされたdoubleデータ型の時点の配列です。

N/A

ds

カーブの実際の値シーケンス。 パラメーター値は、doubleデータ型のデータポイントの配列です。 このパラメーター値はtsパラメーター値と同じ長さです。

N/A

プレド

カーブの予測値シーケンス。 パラメーター値は、doubleデータ型のデータポイントの配列です。 このパラメーター値はtsパラメーター値と同じ長さです。

N/A

probs

カーブの異常検出結果のシーケンス。 パラメーター値は、doubleデータ型のデータポイントの配列です。 このパラメーター値はtsパラメーター値と同じ長さです。

N/A

nWatch

曲線上の最近観察された実際の値の数。 値はlongデータ型です。 値は、カーブ上の時点の数よりも小さくなければなりません。

N/A

anomalyType

フィルタリングする異常のタイプ。 値はlongデータ型です。

有効な値:

  • 0: すべての異常

  • 1: ポジティブな異常

  • -1: 否定的な異常

例:

  • クエリステートメントは次のとおりです。

    * | select res.name, res.ts, res.ds, res.preds, res.probs 
         from ( 
             select ts_anomaly_filter(name, ts, ds, preds, probs, cast(5 as bigint), cast(1 as bigint)) as res 
           from (
             select name, res[1] as ts, res[2] as ds, res[3] as preds, res[4] as uppers, res[5] as lowers, res[6] as probs 
         from (
             select name, array_transpose(ts_predicate_ar(stamp, value, 10)) as res 
             from (
               select name, stamp, value from log where name like '%asg-%') group by name)) );
  • 出力結果

    | name                     | ts                                                   | ds          | preds     | probs       |
    | ------------------------ | ---------------------------------------------------- | ----------- | --------- | ----------- |
    | asg-bp1hylzdi2wx7civ0ivk | [1.5513696E9, 1.5513732E9, 1.5513768E9, 1.5513804E9] | [1,2,3,NaN] | [1,2,3,4] | [0,0,1,NaN] |