変化点検出関数は、時系列データの変化点を検出します。
変化点検出関数は、2 種類の変化点をサポートしています。
- 指定期間内の統計的特性の変化
- シーケンス内の明らかな障害
関数リスト
関数 | 説明 |
---|---|
ts_cp_detect |
この関数は、ある時系列で異なる統計的特性を持つ間隔を検出します。 間隔のエンドポイントは変化点です。 |
ts_breakout_detect |
この関数は、時系列で統計が急激に増減する時点を検出します。 |
ts_cp_detect
関数の形式:
-
ウィンドウサイズが不明な場合は、次の形式で tscpdetect 関数を使用してください。 次に、関数によって呼び出されるアルゴリズムは、変化点を検出するために長さ "10" のウィンドウを使用します。
select ts_cp_detect(x, y, amplePeriod,sampleMethod)
-
サービス曲線の表示効果を調整する必要がある場合は、次の形式で ts_cp_detect 関数を使用します。 次に、minSize パラメーターを設定して、表示効果を最適化することができます。
select ts_cp_detect(x, y, minSize, samplePeriod, sampleMethod)
パラメータについて、次の表に説明します。
パラメータ | 説明 | 値 |
---|---|---|
x | 時間の列 (昇順) | Unixtime timestamp (秒) |
y | 指定時点のデータに対応する数値列 | - |
minSize | 連続間隔の最小長 | 最小値は "3" で、最大値は現在の入力データ長の 1⁄10 までです。 |
samplePeriod | 現在の時系列データをサンプリングする期間 | 1〜86399 秒の long 型の値 |
sampleMethod | サンプリングウィンドウ内データのサンプリング方法 | 値の範囲:
|
例:
-
照会と分析の命令文:
* | select ts_cp_detect(stamp, value, 3, 1, 'avg') from (select __time__ - __time__ % 10 as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
-
結果:
表示項目について、次の表に説明します。
表示項目 | 説明 | |
---|---|---|
横軸 | unixtime | データの timestamp (秒)。(例:1537071480) |
縦軸 | src | フィルタリング前のデータ (例:1956092.7647745228) |
prob | ある時点が変化点である確率。 値の範囲は 0〜1 です。 |
ts_breakout_detect
関数の形式:
select ts_breakout_detect(x, y, winSize, samplePeriod, sampleMethod)
パラメーター、ついて、次の表に説明します。
パラメータ | 説明 | 値 |
---|---|---|
x | 時間の列 (昇順) | Unixtime timestamp (秒) |
y | 指定した時点のデータに対応する数値列 | - |
winSize | 連続する間隔の最小長 | 最小値は "3" で、最大値は現在の入力データ長の 1⁄10 までです。 |
samplePeriod | 現在の時系列データをサンプリングする期間 | 1〜86399 秒の long 型の値 |
sampleMethod | サンプリングウィンドウ内データのサンプリング方法 | 値の範囲:
|
例:
-
照会と分析の命令文:
* | select ts_breakout_detect(stamp, value, 3, 1, 'avg') from (select __time__ - __time__ % 10 as stamp, avg(v) as value from log GROUP BY stamp order by stamp)
-
結果:
表示項目について、次の表に説明します。
表示項目 | 説明 | |
---|---|---|
横軸 | unixtime | データの timestamp (秒)。(例:1537071480) |
縦軸 | src | フィルタリング前のデータ (例:1956092.7647745228) |
prob | ある時点が変化点である確率。 値の範囲は 0〜1 です。 |