神奇的柯西分布

今天来讲下柯西分布,它的概率密度函数如下(摘自百度百科):
在这里插入图片描述
x 0 x_0 x0=0, γ \gamma γ=1,就得到了标准柯西分布:
在这里插入图片描述

柯西分布的均值、方差都不存在,真的是很神奇。我们使用numpy对它进行抽样,具体感受下。作为对比,我使用了标准正态分布。

import numpy as np
from matplotlib import pyplot as plt
cnt=1000 #抽样1000个样本点
x=np.random.standard_cauchy(cnt)
y=np.random.randn(cnt)
plt.figure()
plt.subplot(2,1,1)
plt.hist(x,100,density=True)
plt.legend(['Cauchy'])

plt.subplot(2,1,2)
plt.hist(y,100,density=True)
plt.legend(['Gauss'])
plt.show()

结果如下:
在这里插入图片描述

能够看出,柯西分布的取值范围非常广,很大的值也有一定概率取到,因而柯西分布也称为heavy-tail distribution。并且相比于gaussian,概率密度的最大取值只有0.1
25左右,就是x=0的那个地方。而高斯分布的取值就集中很多,0处的概率密度为0.6左右。

为了进一步验证柯西分布取值范围很大这一点,我们使用isolation forest检查一下它的异常点。

from sklearn.ensemble import IsolationForest
clf=IsolationForest(contamination=0.01,random_state=66)

#Cauchy
x=np.expand_dims(x,axis=1)
clf.fit(x)
x_pred = clf.predict(x)

#Gauss
y=np.expand_dims(y,axis=1)
clf.fit(y)
y_pred = clf.predict(y)

#打印异常点
print(x[x_pred==-1])
print(y[y_pred==-1])

柯西分布的异常点:
[[ 30.69826717]
[ 80.6436644 ]
[191.76900491]
[-33.12623108]
[ 48.05771579]
[-50.74298487]
[ 95.56422102]
[ 31.65199471]
[492.45628768]
[ 54.08139074]]

高斯分布的异常点:
[[ 2.86236466]
[-2.89916881]
[ 2.85901616]
[-3.17533096]
[ 2.69596821]
[-3.26238662]
[ 2.66074621]
[ 2.57826264]
[-3.30816191]
[ 2.73796603]]

所以,柯西分布的神奇之处就是取值分布非常宽广。这个神奇之处有什么用处呢,下回再跟大家聊~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值