変化点の集約
この機能は技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elasticは問題を修正するために取り組みますが、技術プレビューの機能は公式GA機能のサポートSLAの対象ではありません。
メトリックにおけるスパイク、ディップ、および変化点を検出する兄弟パイプラインです。兄弟のマルチバケット集約によって提供される値の分布が与えられた場合、この集約は、統計的に有意であれば、スパイクまたはディップのバケットおよび/または値の分布における最大の変化が発生するバケットを示します。
時間ベースのデータの変化を検出するために変化点の集約を使用することをお勧めしますが、任意のメトリックを使用してバケットを作成することもできます。
パラメータ
buckets_path
- (必須、文字列) 変化点を検出するための値のセットを含むバケットへのパス。バケット化された値は少なくとも22個必要です。1,000未満が推奨されます。構文については、
buckets_path
構文を参照してください。
構文
単独でのchange_point
集約は次のようになります:
Js
{
"change_point": {
"buckets_path": "date_histogram>_count"
}
}
テスト対象の値を含むバケット。 |
レスポンスボディ
bucket
- (オプション、オブジェクト) 発見された変化点を示すバケットの値。変化点が見つからなかった場合は返されません。バケット内のすべての集約も返されます。
バケットのプロパティkey
- (値) 一致したバケットのキー。文字列または数値の可能性があります。
doc_count
- (数値) バケットのドキュメント数。
type
- (オブジェクト) 発見された変化点のタイプとその関連値。可能なタイプ:
dip
: この変化点で有意なディップが発生しますdistribution_change
: 値の全体的な分布が有意に変化しましたnon_stationary
: 変化点はありませんが、値は定常分布からのものではありませんspike
: このポイントで有意なスパイクが発生しますstationary
: 変化点は見つかりませんでしたstep_change
: 変化は値の分布における統計的に有意なステップアップまたはダウンを示しますtrend_change
: このポイントで全体的なトレンドの変化が発生しています
例
以下の例は、Kibanaのサンプルデータログデータセットを使用しています。
Js
GET kibana_sample_data_logs/_search
{
"aggs": {
"date":{
"date_histogram": {
"field": "@timestamp",
"fixed_interval": "1d"
},
"aggs": {
"avg": {
"avg": {
"field": "bytes"
}
}
}
},
"change_points_avg": {
"change_point": {
"buckets_path": "date>avg"
}
}
}
}
1日間の長さのバケットを作成する日付ヒストグラム集約。 |
|
各バケット内のbytes フィールドの平均値を計算するdate 集約の兄弟集約。 |
|
変化点検出集約の構成オブジェクト。 | |
変化点を検出するための集約値のパス。この場合、 変化点集約の入力は date の兄弟集約であるavg の値です。 |
リクエストは、次のようなレスポンスを返します:
Js
"change_points_avg" : {
"bucket" : {
"key" : "2023-04-29T00:00:00.000Z",
"doc_count" : 329,
"avg" : {
"value" : 4737.209726443769
}
},
"type" : {
"dip" : {
"p_value" : 3.8999455212466465e-10,
"change_point" : 41
}
}
}
変化点であるバケットキー。 | |
そのバケット内のドキュメント数。 | |
バケット内の集約値。 | |
発見された変化のタイプ。 | |
p_value は変化の極端さを示します; 値が低いほど、より大きな変化を示します。 |
|
変化が発生する特定のバケット(インデックスは0 から始まります)。 |