均匀分布叠加与正态分布叠加

1 理论

1.1 两个正态分布之和为正态分布
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.2 均匀分布相减

x 1 ∼ U ( 0 , 1 ) x 2 ∼ U ( 0 , 1 ) z = x 1 − x 2 \begin{array}{l} {x_{1}} & {\sim U(0,1)} \\ {x_{2}} & {\sim U(0,1)} \\ {z} & {=x_{1}-x_{2}}\end{array} x1x2zU(0,1)U(0,1)=x1x2

概率密度函数不再是均匀分布,会是三角形或者梯形。
易知, z 的取值范围是,-1到1。
f z ( z ) = ∫ − ∞ ∞ f ( z + x 2 ) f ( x 2 ) d x 2 = ∫ 0 1 f ( z + x 2 ) d x 2 = t = z + x 2 ∫ 0 1 f ( t ) d ( t − z ) = ∫ z z + 1 f ( t ) d t = { 1 + z − 1 < z < 0 1 − z 0 < z < 1 \begin{aligned} f_z(z) &=\int_{-\infty}^{\infty} f\left(z+x_{2}\right) f\left(x_{2}\right) d x_{2} \\ &=\int_{0}^{1} f\left(z+x_{2}\right) d x_{2} \\ &\overset{t=z+x_{2}}{=} \int_{0}^{1} f(t) d(t-z) \\ &=\int_{z}^{z+1} f(t) dt \\ &= \{\begin{array}{ll}{1+z} & {-1<z<0} \\ {1-z} & {0<z<1}\end{array} \end{aligned} fz(z)=f(z+x2)f(x2)dx2=01f(z+x2)dx2=t=z+x201f(t)d(tz)=zz+1f(t)dt={1+z1z1<z<00<z<1
这里解释下, f ( ⋅ ) f(·) f()可看做 f x ( ⋅ ) f_x(·) fx(), 是x1, x2 概率密度函数,在(0,1)区间值为0; 在其他区间取值0。

2 实践

2.1 两个正态分布和为正态分布

import numpy as np
import matplotlib.pyplot as plt

n1 = 4*np.random.normal(size=3000)
n2 = 3*np.random.normal(size=3000)-1
n_sum = n1 + n2
print('n_1 mean:{:.3}'.format(np.mean(n1)))
print('n_1 std:{:.3}'.format( np.std(n1)))
print('n_2 mean:{:.3}'.format(np.mean(n2)))
print('n_2 std:{:.3}'.format( np.std(n2)))
print('n_sum mean:{:.3}'.format( np.mean(n_sum)))
print('n_sum std:{:.3}'.format( np.std(n_sum)))
plt.hist(n1, bins = 50)
plt.show()
plt.hist(n_sum,bins = 100)
plt.show()

结果:

n_1 mean:-0.0118
n_1 std:3.98
n_2 mean:-0.948
n_2 std:2.96
n_sum mean:-0.96
n_sum std:4.95

在这里插入图片描述

2.2 均匀分布如何生成一个标准正态分布?
其实从熵增原理也可以解释为什么均匀分布的叠加是高斯分布了。
比如,有两颗硬币,同时抛,会有三种情况(不考虑硬币1,2的区别):1(正正)2(正负)1(负负)。
抛的更多,会往概率大的方向进行,就是熵增。
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
#-1~1 uniform
u = 2*np.random.uniform(size=30000)-1
normal_rv = [300 * np.mean(2*np.random.uniform(size=30000)-1) for i in range(10000)]
print(np.mean(normal_rv))
print(np.std(normal_rv))
plt.hist(u, bins = 50)
plt.show()
plt.hist(normal_rv,bins = 100)
plt.show()

在这里插入图片描述

2.3 两个均匀分布叠加

两个均匀分布相加减,概率密度曲线是梯形/三角形;

#两个均匀分布相减
u1 = np.random.uniform(size = 300000) 
u2 = 2*np.random.uniform(size = 300000) - 1
#u = u1*u2
#u = u1+u2
u = u2 - u1
plt.hist(u, bins = 500)
plt.show()

在这里插入图片描述

#两个均匀分布相减
u1 = np.random.uniform(size = 300000) 
u2 = np.random.uniform(size = 300000) 
#u = u1*u2
#u = u1+u2
u = u2 - u1
plt.hist(u, bins = 500)
plt.show()

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


最近开通了个公众号,主要分享从原理上讲机器学习与数学联系,推荐系统,风控等算法相关的内容,感兴趣的伙伴可以关注下。
在这里插入图片描述
公众号相关的学习资料会上传到QQ群596506387,欢迎关注。


reference:

  1. SofaSofa 均匀分布生成正态分布
  2. 正态分布随机变量的和还是正态分布吗?;
  3. 独立分布随机变量X1、X2服从N(0, 1),求max(X1, X2)的期望?;
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值