均匀分布与正态分布的联系与转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rosefun96/article/details/86435812

1 理论

2 实践

均匀分布生成一个标准正态分布

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()

在这里插入图片描述

其他,两个均匀分布相加减,概率密度曲线是梯形;两个正态分布相加减,仍是正态分布。

#两个均匀分布相乘
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()

在这里插入图片描述

#正态分布

s1 = np.random.normal(0, 1, 4000 )
s2 = np.random.normal(5, 2, 4000)
s = s1+s2
plt.hist(s1, bins = 200)
plt.show()
plt.hist(s2, bins = 200)
plt.show()
plt.hist(s, bins = 200)
plt.show()

在这里插入图片描述


reference:

  1. SofaSofa 均匀分布生成正态分布

猜你喜欢

转载自blog.csdn.net/rosefun96/article/details/86435812