跳到主要内容

矩阵统计聚合 matrix_stats

Matrix Stats

matrix_stats聚合是一个数字聚合,它计算一组文档字段的以下统计信息:

参数名描述
count计算中包含的每个字段样本数。
mean每个字段的平均值
variance每场测量样本与平均值的分布情况。
skewness每场测量量化平均值周围的不对称分布。
kurtosis每场测量量化分布的形状。
covariance定量描述一个领域的变化如何与另一个领域相关联的矩阵。
correlation协方差矩阵缩放到-1到1的范围(包括-1到1)。描述字段分布之间的关系。

下面的示例演示了使用矩阵统计数据来描述收入和贫困之间的关系。

GET /_search
{
"aggs": {
"statistics": {
"matrix_stats": {
"fields": ["poverty", "income"]
}
}
}
}

聚合类型为matrix_stats,字段设置定义了用于计算统计信息的一组字段(作为数组)。上述请求返回以下响应:

{
...
"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 Values

GET /_search
{
"aggs": {
"matrixstats": {
"matrix_stats": {
"fields": ["poverty", "income"],
"missing": {"income" : 50000}
}
}
}
}

income字段中没有值的文档将具有默认值50000。

Script

此聚合系列尚不支持脚本。