问题背景
在数据监控领域,数据质量决定了数据的可用性。然而频繁的数据质量问题源于多种诱因。
一般我们需要及时配置好监控,以便能在第一时间检测到异常,快速响应。
数据监控中,表中数据量的变化是关注的指标之一。
因此需要选择适合的阈值以准确监测数据量的波动。
绝对值还是百分比?
在监控数据量时,常见的做法是通过检测值与设定的阈值进行比较。以用户刷卡流水明细表为例,监控其每日数据量的波动可考虑以下方法:
- 方法A:查看过去三个月的数据量,取最大值和最小值作为阈值,监控今日数据量是否在该范围内,超出范围则触发告警。
- 方法B:以昨日的数据量为基准,计算今日数据量相对昨日的波动百分比。如果波动超过设定的20%阈值,则发出告警。
通过对比分析,方法A虽然简单易行,但由于允许较大幅度的波动,可能导致一些应触发的异常被忽略。而方法B则基于相对波动,能更有效地反映出数据量的变化,更容易发现潜在的异常。
当然,百分比监控也有不同的选择,如同比和环比。根据具体的业务场景,可以选择环比(相对于昨日数据量)或同比(相对于上一周期同日的数据量)来进行监控。
注意:以上例子适用于离线场景的每日数据量监控。若是实时数据监控,则可根据需求,选择更短时间内的数据进行比较,例如半小时或十分钟的数据对比。
题外话:正态分布
统计学中常用平均值和标准差来描述数据的波动情况。以海水为例,水位的平均高度可理解为“平均值”,而波浪的激烈程度则是“标准差”。尽管两片海域的平均水位相同,但波浪幅度不同,对渔船的影响却天差地别。
一组样本数据中,如果要判断其中一个数据是否异常,一般使用 |(此数据 - 平均值)| / 标准差 来进行评价,此值越大越有异常。
比如两次模拟考试全班的平均分都是60分,第一次考试全班的标准差是6分,第二次考试全班的标准差是12分。
如果你这两次也恰好都得了80分,按照这个公式可以说你第一次的成绩更好一点。
现实世界中中很多现象的数据测量均属于或者近似正态分布,比如考试成绩、人群体重或身高等。
对于符合正态分布的样本,按照公式会有99.7%的数据符合|(数据 - 平均值)| / 标准差 <= 3。
对公式做下变换,就是有99.7%的数据在[平均值 - 3标准差 , 平均值 + 3标准差]区间内。
不过,在实际生产环境中,验证数据分布和计算标准差往往较为繁琐。因此,采用简单的同比或环比监控方法也能满足大多数监控需求。
结论
在数据监控中,合理的阈值设定至关重要。虽然绝对值监控简单,但常常无法准确捕捉到数据的细微波动。
采用百分比监控方法能够更好地反映数据的变化。
参考
- 书籍《赤裸裸的统计学》[美] 查尔斯.惠伦(Charles Wheelan) P151-P196
- 书籍《极简统计学》[日] 小岛宽之 P39-P99
- 数据分析终极一问:指标波动多大才能算是异常?([https://m.163.com/dy/article/H1T3RAPM05319928.html]())
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。