Bucket Count K-S Test是 Elasticsearch 中的一种兄弟管道聚合(sibling pipeline aggregation),用于执行双样本柯尔莫哥洛夫-斯米尔诺夫检验(Kolmogorov-Smirnov Test,简称 K-S 检验)。这种聚合主要用于比较两个分布之间的差异,具体来说,是通过比较兄弟聚合中的文档计数分布与一个已知分布(如均匀分布或预定义的分布)来实现的。
工作原理
• 兄弟聚合:Bucket Count K-S Test 是一种兄弟管道聚合,这意味着它依赖于另一个聚合(如`range`聚合或`terms`聚合)的结果。兄弟聚合会生成一系列的桶(buckets),每个桶包含一组文档的计数。
• K-S 检验:K-S 检验是一种统计方法,用于比较两个分布是否来自同一总体。Bucket Count K-S Test 通过计算兄弟聚合生成的文档计数分布与预定义分布之间的差异来评估它们的相似性。
• 参数配置:
• `buckets_path`:指定兄弟聚合中包含文档计数的路径,通常是`range`聚合或`terms`聚合的`_count`。
• `alternative`:定义 K-S 检验的替代假设,可选值为`less`、`greater`或`two_sided`,默认为所有可能的替代假设。
• `fractions`:定义用于比较的分布,默认为均匀分布。
• `sampling_method`:指定抽样方法ÿ