矩阵统计(Matrix Stats)
matrix_stats聚合是一个数字聚合,它会对一组文档字段计算以下统计数据:
count
计算中每个字段样本的数量
mean
每个字段的平均值。
variance
每个字段测量如何从mean 值展开样本。
skewness
每个字段测量量化mean周围的不对称分布。
kurtosis
每个字段测量量化分布的形状。
covariance
一个矩阵描述一个字段与另一个相关联字段的变化。
correlation
协方差矩阵缩放到-1到1的范围。描述字段分布之间的关系。
以下示例演示了使用矩阵统计来描述收入与贫困之间的关系。
1
{
2
"aggs": {
3
"matrixstats": {
4
"matrix_stats": {
5
"fields": ["poverty", "income"]
6
}
7
}
8
}
9
}
Copied!
聚合类型是matrix_stats,字段设置定义用于计算统计信息的字段集(作为数组)。上述请求返回以下响应:
1
{
2
...
3
"aggregations": {
4
"matrixstats": {
5
"fields": [{
6
"name": "income",
7
"count": 50,
8
"mean": 51985.1,
9
"variance": 7.383377037755103E7,
10
"skewness": 0.5595114003506483,
11
"kurtosis": 2.5692365287787124,
12
"covariance": {
13
"income": 7.383377037755103E7,
14
"poverty": -21093.65836734694
15
},
16
"correlation": {
17
"income": 1.0,
18
"poverty": -0.8352655256272504
19
}
20
}, {
21
"name": "poverty",
22
"count": 50,
23
"mean": 12.732000000000001,
24
"variance": 8.637730612244896,
25
"skewness": 0.4516049811903419,
26
"kurtosis": 2.8615929677997767,
27
"covariance": {
28
"income": -21093.65836734694,
29
"poverty": 8.637730612244896
30
},
31
"correlation": {
32
"income": -0.8352655256272504,
33
"poverty": 1.0
34
}
35
}]
36
}
37
}
38
}
Copied!

Multi Value Fields

matrix_stats聚合将每个文档字段视为独立样本。 mode参数控制聚合将用于数组或多值字段的数组值。此参数可以采取以下之一:
avg
(默认值)使用所有值的平均值。
min
选择最低值。
max
选择最大值.
sum
使用所有值的总和。
median
使用所有值的中值。

Missing Values

缺少的参数定义了如何处理缺少值的文档。默认情况下,它们将被忽略,但也可以将它们视为具有值。这是通过添加一组fieldname:值映射来指定每个字段的默认值来完成的。
1
{
2
"aggs": {
3
"matrixstats": {
4
"matrix_stats": {
5
"fields": ["poverty", "income"],
6
"missing": {"income" : 50000} # 1
7
}
8
}
9
}
10
}
Copied!
1
收入字段中没有值的文档的默认值为50000。

Script

此聚合系列尚不支持脚本。
Last modified 2yr ago