依据Datawhale的Numpy教程做相应整理
注:默认引用numpy, import numpy as np
import numpy as np
from scipy import stats #统计计算包的统计模块
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False #解决中文显示问题
知识网络
1.离散型随机变量
概率质量函数pmf(Probability mass function)
1.1 二项分布
#二项分布
#1.定义随机变量:抛五次硬币,正面朝上次数
n = 5 #做某事的次数
p = 0.5 #某事成功的概率
x = np.arange(0,n+1,1) #[0,1,2,3,4,5]
#2.对应分布概率
plist = stats.binom.pmf(x,n,p)
#参数含义为:pmf(k次成功,共n次实验,单次实验成功概率为p)
#3.绘图
plt.plot(x,plist,linestyle='None',marker='x')
plt.vlines(x,0,plist)
plt.xlabel('随机变量:抛5次硬币,正面朝上的次数')
plt.ylabel('概率值')
plt.title('二项分布:n=%i,p=%0.2f'%(n,p))
1.2 泊松分布
#泊松分布
mu=2 #平均值:每天平均发生2起事故
k=4 #该路口发生4起事故的概率
X=np.arange(0,k+1,1)
#2、求对应分布的概率
pList=stats.poisson.pmf(X,mu) #参数含义为:pmf(发生X次事件,平均发生mu次)
pList
#3、绘图
plt.plot(X,pList,linestyle='None',marker='o')
plt.vlines(X,0,pList)
plt.xlabel('随机变量:该路口发生事故的次数')
plt.ylabel('概率值')
plt.title('泊松分布:平均值mu=%i'%mu)
1.3 超几何分布
#超几何分布
#一共20只动物里有7只是狗,抽取12只有3只狗的概率(无放回抽样)
x = np.arange(0,8)
plist = stats.hypergeom.pmf(k=x,M=20,n=7,N=12)
plt.plot(x,plist,linestyle='None',marker='x')
plt.vlines(x,0,plist)
plt.xlabel('随机变量:抽取12只动物中狗的个数')
plt.ylabel('概率值')
plt.title('超几何分布')
2.连续型随机变量
概率密度函数pdf(Probability density function)
2.1 均匀分布
#均匀分布
a = 1
b = 2
x = np.arange(0,4,0.1)
pList = stats.uniform.pdf(x,a,b)
plt.plot(x,pList,linestyle='-')
plt.xlabel('随机变量:x')
plt.ylabel('概率值:y')
plt.title('均匀分布')
2.2 正态分布
#正态分布
mu=0 #平均值
sigma=1 #标准差
X=np.arange(-5,5,0.1)
#2、求对应分布的概率
pList=stats.norm.pdf(X,mu,sigma) #参数含义为:pdf(发生X次事件,均值为mu,方差为sigma)
#3、绘图
plt.plot(X,pList,linestyle='-')
plt.xlabel('随机变量:x')
plt.ylabel('概率值:y')
plt.title('正态分布:$\mu$=%0.1f,$\sigma^2$=%0.1f'%(mu,sigma))
3.3 指数分布
#指数分布
lambd = 0.5#
x = np.arange(0,15,0.1)
y =lambd * np.exp(-lambd *x)
plt.plot(x, y)
plt.title('指数分布: $\lambda$=%.2f' % (lambd))
plt.xlabel('x')
plt.ylabel('概率值', fontsize=15)
plt.show()