正态分布
import numpy as np
import scipy.stats as stats #在scipy中把各种分布的函数拿到手
import matplotlib.pyplot as plt
import matplotlib.style as style
from IPython.core.display import HTML
%matplotlib inline
style.use('fivethirtyeight')
plt.rcParams["figure.figsize"] = (14,7)
plt.figure(dpi=100) #单位面积像素多少
#PDF 概率密度函数 默认参数μ=0 σ=1
plt.plot(np.linspace(-4,4,100),
stats.norm.pdf(np.linspace(-4,4,100))/np.max(stats.norm.pdf(np.linspace(-3,3,100))) #除以这个数是为了图形更高一点
)
plt.fill_between(np.linspace(-4,4,100), #如果只是一条线,太难看了。
stats.norm.pdf(np.linspace(-4,4,100),loc=2,scale=0.5)/np.max(stats.norm.pdf(np.linspace(-3,3,100))),
alpha=0.5,
)
#CDF 累计概率密度函数
plt.plot(np.linspace(-4,4,100),
stats.norm.cdf(np.linspace(-4,4,100)))
# 从特定正态分布中选取随机数
from scipy.stats import norm
print(norm.rvs(loc=10,scale=4,size=10),end="\n\n")
#[ 9.02505529 4.24482163 3.94200483 7.22089137 8.8781777 7.67380599 9.41988128 #10.39018509 10.23039513 10.26075038]
# 求概率密度函数的特定值
x = -1
y = 2
print("pdf(x)={}\npdf(y)={}".format(norm.pdf(x),norm.pdf(y)))
#pdf(x)=0.24197072451914337 pdf(y)=0.05399096651318806
#求累计概率密度函数特定值
print("P(x |