複数期間推定関数は、さまざまな間隔で時系列データの期間を推定します。これらの関数は、フーリエ変換などの操作を使用して周期的パターンを抽出します。
関数リスト
|
関数 |
説明 |
|
さまざまな時間間隔で時系列データの期間を推定します。 |
|
|
フーリエ変換を使用して時系列曲線の周期性を計算します。この関数を使用すると、曲線に周期的パターンがあるかどうかを迅速に判断できます。 |
ts_period_detect
構文:
select ts_period_detect(x,y,minPeriod,maxPeriod)
次の表にパラメーターを示します。
|
パラメーター |
説明 |
値 |
|
x |
昇順にソートされた時間列。 |
秒単位の UNIX タイムスタンプ。 |
|
y |
各時点の値列。 |
なし |
|
minPeriod |
推定される最小期間長。時系列の全長に対する比率として指定します。 |
(0, 1] の範囲の 10 進数値。 |
|
maxPeriod |
推定される最大期間長。時系列の全長に対する比率として指定します。 重要
maxPeriod の値は minPeriod より大きく、0.5 を超えることはできません。maxPeriod に 0.5 より大きい値を設定した場合、システムはデフォルトで 0.5 を使用します。 |
(0, 1] の範囲の 10 進数値。 |
例:
-
クエリ
* | select ts_period_detect(stamp, value, 0.2, 0.5) from ( select __time__ - (__time__ % 120) as stamp, avg(v) as value from log GROUP BY stamp order by stamp ) -
出力
この関数は、UNIX タイムスタンプ、平均トラフィックなどの統計値、および期間状態コードを含む配列を返します。状態コード 1.0 は、次の図の赤い丸に対応します。以下に示すように、出力を時系列グラフで可視化できます。
次の図では、2 つの赤い丸の間の網掛けエリアが 1 つの期間を表します。異なる期間にわたる曲線パターンは、類似する傾向があります。

ts_period_classify
構文:
select ts_period_classify(stamp,value,instanceName)
次の表にパラメーターを示します。
|
パラメーター |
説明 |
値 |
|
stamp |
昇順にソートされた時間列。 |
秒単位の UNIX タイムスタンプ。 |
|
value |
各時点の値列。 |
なし |
|
instanceName |
時系列曲線名。 |
なし |
例:
-
クエリ
* and h : nu2h05202.nu8 | select ts_period_classify(stamp, value, name) from log -
出力:このクエリは、line_name (タイムライン名、Auto Scaling グループ ID)、prob (確率値)、type (タイプフラグ、
-1.0はアノマリー、0.0は正常を示します) の 3 つの列を含むテーブルを返します。たとえば、Auto Scaling グループasg-2zgicin6zf5ewg188pg5の prob は1.0、type は-1.0であり、このタイムラインがアノマリーとして識別されたことを示します。
出力には次の列が含まれます:
|
列 |
説明 |
|
line_name |
時系列曲線名。 |
|
prob |
時系列曲線内の主要期間の割合。値の範囲は [0, 1] です。0.15 は一般的な実験的なしきい値です。 |
|
type |
曲線の分類:
|