首页 > 解决方案 > 使用 Splunk 计算平均偏差

问题描述

我在 Splunk 中有一个值列表。我可以使用这个列表来计算avg(vals)stdev(vals)。如何计算平均偏差。

平均偏差是平均值与列表中每个值之间的平均绝对差。

(Sum_x |mean-x|) / N

标签: statisticssplunksplunk-calculation

解决方案


下面的 SPL 可以用来计算所有values 的平均偏差。

| eventstats mean(value) as mean | eval distance=abs(mean-value) | stats avg(distance) as mean_deviation

例如,这将生成 10 个随机值,然后计算平均偏差。

| makeresults count=10 | eval value=random()%10 | eventstats mean(value) as mean | eval distance=abs(mean-value) | stats avg(distance) as mean_deviation

eventstats用于计算所有值的平均值,并将这个新字段添加到每个事件中。然后,eval disatnace用于计算每个值与平均值的绝对距离。finalstats只是用来确定这个值的平均值。

在此处查找有关eventstats https://docs.splunk.com/Documentation/SplunkCloud/latest/SearchReference/Eventstats的文档,以及有关两者之间差异的优秀博客文章stats,可以在https://www.splunk.com/找到en_us/blog/tips-and-tricks/search-command-stats-eventstats-and-streamstats-2.htmleventstatsstreamstats


推荐阅读