重拾正态分布

背景

最近要统计业务数据的波动情况,对于异常的波动进行报警。于是就需要找到过往业务数据的波动范围和规律,异常波动一般来说都是一些特殊情况,出现频率较低,因此用正态分布的置信区间来划定阈值是一个很好的方法。比如,数据的95%置信区间是1.1到2.2,那么不在这个范围内的可能性大约为5%,这种情况需要进行报警来查看。

重拾正态分布

上面这个思路很好,但是由于对正态分布已经很久不使用,已经不知道该怎么使用了。在网上查资料查了半天,终于有了些收获,记录一下。

什么是正态分布?

正态分布是数据的一种分布规律。是在统计学上对数据进行描述的一种模型。

正态分布是很常见的一种分布规律,形状如下图:

人群的身高、成年人的血压等都符合正态分布规律。

正态分布用什么用?

正态分布非常简单,正态分布的均值,模和中位数是相等的。我们只需要用均值和标准差就能解释整个分布。

为什么正态分布如此普遍?

有个“中心极限定理”,或许能解释这个现象。

置信区间

什么是置信区间,简单点说就是给出一个区间,数据取值落在这个区间的可能性(置信度)为某个值。常见的有95%置信区间,也就是取值落在这个区间的可能性为95%。

在知乎上看到很多对于置信区间的深入描述,说是平均值在这个区间内的置信度之类的,这种过于复杂化,或许是对的,但不利于使用,暂不深究。

有了置信区间的概念,我们就能解决一开始的问题了。比如我想知道业务的波动情况在95%的情况下是在什么范围内,其实就是基于业务数据的历史波动情况来求解95%的置信区间。

如何求解置信区间?

其实很简单,找到了一篇很靠谱的文章,简单总结如下:

(1)求数据的期望(也就是均值),标准差,方法如下(python提供了很丰富的类库可以直接计算出来)

(2)确定要求的置信度,我们这里选择的是95%

(3)计算误差范围

什么是误差范围呢?在第四步介绍。

这个公式里的z_{a/2} 是置信度系数,其中a为置信度95%,置信度系数可以从正态分布表中查出来(这是数学家已经给我们计算好了的)。95%置信度系数是1.96。

(4)计算置信区间

置信区间其实就是下图公式:均值 \pm 误差范围。这个误差范围就是距离均值的偏差。

计算出置信区间,就可以直接去使用了。

数据集不符合正态分布怎么办?

如果不符合正态分布的数据强行套用是不可行的。看到一些说法是可以通过各种变换将数据转化为正态分布。

唉,其实我发现我统计的数据也不符合正态分布。我最终采用的是统计距离均值的距离,求这些距离的分位值,这种统计方法的前提是数据在均值两侧的分布比较均匀,才能更好的描述。但是如果分布比较均匀,感觉也能符合正态分布了。所以就先采用这种方法,胜在简单高效。

 

参考文章

https://www.shuxuele.com/data/confidence-interval.html

https://zh.wikihow.com/%E8%AE%A1%E7%AE%97%E7%BD%AE%E4%BF%A1%E5%8C%BA%E9%97%B4%EF%BC%88Confidence-Interval%EF%BC%89

http://www.lianmenhu.com/blockchain-11401-1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值