作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123618654
目录
第2章 常见一元离散型随机变量概率分布(用概率(密度)函数表达)
第3章 常见一元连续型随机变量概率分布(用概率(密度)函数表达)
第1章 概率函数、概率分布函数、概率密度函数
1.1 引言
我们常听说概率分布函数,如二项分布、(n重伯努利实验)、伽玛分布、均匀分布、指数分布、泊松分布、正态分布。这里涉及到XXX分布,如最常见的正态分布。
这里涉及到三部分的内容:
(1)xxx是什么含义?代表不同形态的概率分布,正态分布只是其中一种。
(2)分布是什么含义?这个词最容易误解,概率分布的定义与XXX分布给出的函数不太一致,本文首先要阐述这个概念的差异。
(3)函数是什么含义?代表了随机变量的取值与其取值出现的可能性(概率)之间的关系。这里涉及到的函数,都属于随机函数,也称为概率函数。
1.2 概率函数/概率密度函数
概率函数/概率密度可以看成是相同的定义,它是一种自变量为随机变量,因变量是概率的随机函数。
f = f(x) =》 p= P(x)
- X:随机变量
- P:某种特定分布的概率分布函数,也称为随机函数, 如正态分布,均匀分布、指数分布等。
- p:概率
x在某个点处的概率可以表示为:
p= P(x=A) = P{x=A} = P(A).
1.3 概率分布函数的定义
概率分布函数是概率论的基本概念之一。在实际问题中,常常要研究一个随机变量ξ取值小于某一数值x的概率,这概率是x的函数,称这种函数为随机变量ξ的分布函数,简称分布函数,记作F(x),即F(x)=P(ξ<x) (-∞<x<+∞),由它并可以决定随机变量落入任何范围内的概率。
简单的讲,在概率论中,概率分布函数是概率密度函数或概率函数在(X<x区间)内的概率函数的积分。
1.4 正态密度函数与正态分布函数的区别
下面这张图充分展现了正态(密度)函数与 正态分布函数的区别。
左图:正态密度函数,反应了在不同X点处的概率值,是随机函数,用f(x)表示。
右图:正态分布函数,反应了在不同的X点处的概率积分值,是单调递增函数,用F(x)表示。
在实际过程中,xxx分布函数用得比较少,大多数时候给出的XXX分布的函数,是指xxx概率分布函数。比如,给出的正态分布的函数:
该函数的几何图形:
我们常说的正态分布,无论是给出的图像,还是给出的数学函数的,实际上给出的是:正态密度函数或正态函数f(x), 而不是正态分布函数F(x)。
因此,本文后续要探讨的XXX分布给出的图像或函数,都是指XXX概率密度函数或xxx概率函数,而不是XXX概率分布函数。
第2章 常见一元离散型随机变量概率分布(用概率(密度)函数表达)
2.1 说明
(1)一元是指只有一个随机变量X
(2)离散型概率函数也可以通过离散随机变量的特性来分类
2.2 伯努利(随机)分布
随机变量只有两种可能的取值:1-成功和0-失败,随机变量符合这样特征的概率函数,称为伯努利(随机)分布。
在上图中,x=0时的概率为p,则取1的概率为1-p.
P{x=0} = p
P{x=1} = 1-p
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
def bernoulli_pmf(p=0.0):
ber_dist = stats.bernoulli(p)
x = [0, 1]
x_name = ['0', '1']
pmf = [ber_dist.pmf(x[0]), ber_dist.pmf(x[1])]
plt.bar(x, pmf, width=0.15)
plt.xticks(x, x_name)
plt.ylabel('Probability')
plt.title('PMF of bernoulli distribution')
plt.show()
bernoulli_pmf(p=0.3)
2.3 泊松分布
Poisson分布,是一种统计与概率学里常见到的离散概率分布,由法国数学家西莫恩·德尼·泊松(Siméon-Denis Poisson)在1838年时发表。
# 泊松分布(Poisson distribution)
# 泊松分布是用来描述在一指定时间范围内或在指定的面积或体积之内某一事件出现的次数的分布,例如某企业每月发生事故的次数。
from scipy.stats import poisson
data_poisson = poisson.rvs(mu=3, size=10000)
ax = sns.distplot(data_poisson,
bins=30,
kde=False,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Poisson Distribution', ylabel='Frequency')
2.4 几何分布
# 几何分布(Geometric distribution)
# 几何分布是指在n次贝努里试验中,经过k次获得1次成功的概率。
# 几何分布的特点:
#(1)进行一系列相互独立的试验;
#(2)每一次试验既有成功的可能,也有失败的可能,且单次试验的成功概率相同;
#(3)主要是为了取得第一次成功需要进行多少次试验。
from scipy.stats import geom
data_geom = geom.rvs(size=10000,p=0.5)
ax= sns.distplot(data_geom,
kde=False,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Geometric Distribution', ylabel='Frequency')
第3章 常见一元连续型随机变量概率分布(用概率(密度)函数表达)
3.1 说明
(1)一元是指只有一个随机变量X
(2)连续型概率函数也可以通过连续型随机变量的特性来分类。
3.2 均匀分布
均匀分布所有可能结果的n个数的发生概率是相等的,均匀分布变量X的概率密度函数为:
probs = np.full((6), 1/6)
face = [1,2,3,4,5,6]
plt.bar(face, probs)
plt.ylabel('Probability', fontsize=12)
plt.xlabel('Dice Roll Outcome', fontsize=12)
plt.title('Fair Dice Uniform Distribution', fontsize=12)
axes = plt.gca()
axes.set_ylim([0,1])
3.3 指数函数
连续随机变量X的概率密度为
其中λ>0,为常数,则称X服从参数为λ的指数分布。
在概率论和统计学中,指数分布是一种连续概率分布。
指数分布可以用来表示独立随机事件发生的时间间隔,比如旅客进机场的时间间隔、中文维基百科新条目出现的时间间隔等等。
随着时间t的变化,其函数值按照指数的方式减少特征的场合,就可以利用指数函数。
3.4 正态分布
正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)
正态的英文的nommal,为啥是normal呢? 这说明,这个函数的分布形态反应的是大自然的普遍规律,是非常常态性的分布规律。正因为如此,正态分布应用及其广泛。
自然界、人类社会、心理和教育中大量现象均按正态形式分布,例如能力的高低,学生成绩的好坏等都属于正态分布。它随随机变量的平均数、标准差的大小与单位不同而有不同的分布形态。
3.5 标准正态分布
标准正态分布是正态分布的一种,其平均数和标准差都是固定的,平均数为u=0,标准差为1的正态分布函数。
# 正态分布(Normal Distribution)
from scipy.stats import norm
# 生成标准正态分布,N(0,1)
data_normal = norm.rvs(size=10000,loc=0,scale=1)
ax = sns.distplot(data_normal,
bins=100,
kde=True,
color="green",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Normal Distribution', ylabel='Frequency')
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
# 利用相应的分布函数及参数,创建一个冻结的正态分布(frozen distribution)
norm_dis = stats.norm(5, 3)
# 在区间[-5, 15]上均匀的取101个点
x = np.linspace(-5, 15, 101)
# 计算该分布在x中个点的概率密度分布函数值(PDF)
pdf = norm_dis.pdf(x)
# 计算该分布在x中个点的累计分布函数值(CDF)
cdf = norm_dis.cdf(x)
# 下面是利用matplotlib画图
plt.figure(1)
# plot pdf
plt.subplot(211) # 两行一列,第一个子图
plt.plot(x, pdf, 'b-', label='pdf')
plt.ylabel('Probability')
plt.title(r'PDF/CDF of normal distribution')
plt.text(-5.0, .12, r'$\mu=5,\ \sigma=3$') # 3是标准差,不是方差
plt.legend(loc='best', frameon=False)
# plot cdf
plt.subplot(212)
plt.plot(x, cdf, 'r-', label='cdf')
plt.ylabel('Probability')
plt.legend(loc='best', frameon=False)
plt.show()
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123618654