赞
踩
Elasticsearch 5.x及以上版本提供了特殊模块aggs-matrix-stats
,自动计算几个字段的高级分析。
matrix_stats
聚集是基于文档中一组数值型自己计算聚集,主要包括下面信息:
计算项 | 描述 |
---|---|
count | 每个计算字段的样本数量. |
mean | 每个字段的平均值. |
variance | 每个字段方差,即偏离样本平均值的度量. |
skewness | 偏度,以均值为中心不对称分布程度.正态分布的偏度为0,两侧尾部长度对称。若以bs表示偏度。bs<0称分布具有负偏离,也称左偏态,此时数据位于均值左边的比位于右边的少,直观表现为左边的尾部相对于与右边的尾部要长,因为有少数变量值很小,使曲线左侧尾部拖得很长;bs>0称分布具有正偏离,也称右偏态,此时数据位于均值右边的比位于左边的少,直观表现为右边的尾部相对于与左边的尾部要长,因为有少数变量值很大,使曲线右侧尾部拖得很长;而bs接近0则可认为分布是对称的. |
kurtosis | 峰度,衡量样本分布的形状.峰度(Kurtosis)与偏度类似,是描述总体中所有取值分布形态陡缓程度的统计量。这个统计量需要与正态分布相比较,峰度为0表示该总体数据分布与正态分布的陡缓程度相同;峰度大于0表示该总体数据分布与正态分布相比较为陡峭,为尖顶峰;峰度小于0表示该总体数据分布与正态分布相比较为平坦,为平顶峰。峰度的绝对值数值越大表示其分布形态的陡缓程度与正态分布的差异程度越大. |
covariance | 协方差,定量描述了一个字段与另一个相关联的变化. |
correlation | 相关性,值范围 [-1 ~ 1], 描述字段之间分布关系. |
计算分析"poverty", “income” 两个字段的相关性。
GET /_search
{
"aggs": {
"statistics": {
"matrix_stats": {
"fields": [ "poverty", "income" ]
}
}
}
}
matrix_stats
类型聚集及fields
属性定义一组字段进行相关性计算,返回结果示例如下:
{ ... "aggregations": { "statistics": { "doc_count": 50, "fields": [ { "name": "income", "count": 50, "mean": 51985.1, "variance": 7.383377037755103E7, "skewness": 0.5595114003506483, "kurtosis": 2.5692365287787124, "covariance": { "income": 7.383377037755103E7, "poverty": -21093.65836734694 }, "correlation": { "income": 1.0, "poverty": -0.8352655256272504 } }, { "name": "poverty", "count": 50, "mean": 12.732000000000001, "variance": 8.637730612244896, "skewness": 0.4516049811903419, "kurtosis": 2.8615929677997767, "covariance": { "income": -21093.65836734694, "poverty": 8.637730612244896 }, "correlation": { "income": -0.8352655256272504, "poverty": 1.0 } } ] } } }
doc_count
表示涉及分析计算文档的数量。
matrix_stats
类型聚集把每个文档作为独立样本。mode
参数可以设置如何分析数组或多值类型字段,可以取下面几个字段:
avg :平均值
min :最小值
max :最大值
sum : 多值和
median:中位数
missing
参数定义如何处理缺失值。默认忽略所有缺失值。但我们也可以指定默认值。示例如下:
GET /_search
{
"aggs": {
"matrixstats": {
"matrix_stats": {
"fields": [ "poverty", "income" ],
"missing": { "income": 50000 }
}
}
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。