数据分布

随机变量分为离散型随机变量和连续型随机变量。
离散型随机变量的发生的概率可以用概率质量函数PMF计算,而连续型随机变量率密度函数PDF计算。

概率质量函数(PMF)——离散型随机变量
概率密度函数(Probability Density Function,PDF)——连续型随机变量

累积分布函数(Cumulative Distribution Function,CDF),又叫分布函数,是PDF的积分,或PMF的累加。

离散型概率分布

伯努利分布
又叫两点分布、0-1分布,是只进行1次伯努利实验,如果进行n次伯努利试验就是二项分布。
进行1次伯努利试验,该事件发生的概率为p,不发生的概率为1-p
伯努利分布的期望值E(X)=p
伯努利分布的方差分别为D(X)=p*(1-p)^2+p^2*(1-p)=p*(1-p)

二项分布(Binomial Distribution)
某一该事件发生的概率为p,不发生的概率为1-p,再在同样的条件下重复地、相互独立地进行n次的试验,记为X \sim B(n,p)
二项分布的期望值E(X)=np
二项分布的方差分别为D(X)=p*(1-p)^2+p^2*(1-p)=np*(1-p)

二项分布的应用场景主要是,对于已知次数n,关心发生k次成功的概率。其概率质量函数为:
P(k)=C_n^kp^k(1-p)^{n-k}

from scipy.stats import binom
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

## 设置属性防止中文乱码
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False

fig,ax = plt.subplots(1,1)
n = 1000
p = 0.5
#平均值, 方差, 偏度, 峰度
mean,var,skew,kurt = binom.stats(n,p,moments='mvsk')
print(mean,var,skew,kurt)
#ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。
x = np.arange(binom.ppf(0.01, n, p),binom.ppf(0.99, n, p))
ax.plot(x, binom.pmf(x, n, p),'o')
plt.title(u'二项分布概率质量函数-PMF')
plt.show()

几何分布
n次伯努利实验中,第k次实验才得到第1次成功的概率分布,P(k) = (1-p)^{k-1}*p,记为X \sim GE(p)
几何分布的期望值E(X)= \frac{1}{p}
几何分布的方差分别为D(X)=E(x)^2-E(x^2)=\frac{1-p}{p^2}

均匀分布(Rectangular Distribution)
记为X\sim U(a,b)
概率质量函数为:
p(x)= \begin{cases} \frac{1}{b-a}&,a<x<b \\ 0&,else \end{cases}
均匀分布的期望值E(X)=\frac{a+b}{2}
均匀分布的方差分别为D(X)=

X 1 2 3 4 5 6
p(x) 1/6 1/6 1/6 1/6 1/6 1/6


泊松分布(Poisson Distribution)
泊松分布是用来描述在一定时间范围内或在指定面积或体积之内某一事件出现的次数x的分布。
泊松分布公式为:P(X)=\frac{λ^xe^{-λ}}{x!},x=0,1,2,...
其中λ为给定的时间间隔内事件的平均数。
泊松分布的期望值和方差分别为E(X)=D(X)=λ

哪些地方用到泊松分布?
(1)在某企业中每月发生的事故的次数;
(2)某种一起每月出现故障的次数。

import numpy as np
x = np.random.poisson(lam=5, size=10000)

其中2出现了851次,那么2出现的概率为\frac{851}{10000} =0.0851,通过公式计算P(X=2)=\frac{5^2e^{-5}}{2!}=0.0842;5出现了1701次,5出现的概率为\frac{1701}{10000} =0.1701,通过公式计算P(X=5)=\frac{5^5e^{-5}}{5!}=0.1755;如果将各个数字画出图,如下:


上图代码如下:

import numpy as np
import matplotlib.pyplot as plt
# Poisson分布
x = np.random.poisson(lam=5, size=10000)  # lam为λ size为k
pillar = 15
a = plt.hist(x, bins=pillar, range=[0, pillar], color='g', alpha=0.5)
plt.plot(a[1][0:pillar], a[0], 'r')
plt.grid()
plt.show()

泊松分布PMF和CDF图:

image.png

泊松分布不同λ取值的影响:

上图代码如下:


import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import matplotlib.style as style

#PLOTTING CONFIG 绘图配置
style.use('fivethirtyeight')
plt.rcParams['figure.figsize']=(14,7)
plt.figure(dpi=100)
x = np.arange(20)

#PDF 绘制泊松分布的概率密度函数
plt.bar(x,height=(stats.poisson.pmf(x,mu=5)),width=0.75,alpha=0.75)

#CDF 绘制泊松分布的累计概率曲线
plt.plot(x,stats.poisson.cdf(x,mu=2),color="#fc4f30")

#LEGEND 图例
plt.text(x=8,y=0.45,s="pmf(poisson)",alpha=0.75,weight="bold",color="#008fd5")
plt.text(x=8.5,y=0.9,s="cdf",rotation=.75,weight="bold",color="#fc4f30")
plt.show()

plt.figure(dpi=100)
# PDF λ=1
plt.scatter(np.arange(20),stats.poisson.pmf(np.arange(20),mu=1),alpha=0.75,s=100)
plt.plot(np.arange(20),stats.poisson.pmf(np.arange(20),mu=1),alpha=0.75)

#PDF λ=5
plt.scatter(np.arange(20),stats.poisson.pmf(np.arange(20),mu=5),alpha=0.75,s=100)
plt.plot(np.arange(20),stats.poisson.pmf(np.arange(20),mu=5),alpha=0.75)

#PDF λ=10
plt.scatter(np.arange(20),stats.poisson.pmf(np.arange(20),mu=10),alpha=0.75,s=100)
plt.plot(np.arange(20),stats.poisson.pmf(np.arange(20),mu=10),alpha=0.75)

#LEGEND 图例
plt.text(x=3,y=0.1,s="$λ=1$",alpha=0.75,weight="bold",color="#008fd5")
plt.text(x=8.25,y=0.075,s="$λ=5$",rotation=.75,weight="bold",color="#fc4f30")
plt.text(x=14.5,y=0.06,s="$λ=10$",rotation=.75,weight="bold",color="#fc4f30")
plt.show()

指数分布
记为X \sim E(λ)
p(n) = \begin{cases} λe^{-λx}, & x>0,λ>0 \\ 0, & x\leq0 \end{cases}
指数分布的期望值E(X)=\frac{1}{λ}
指数分布的方差分别为D(X)=\frac{1}{λ^2}

连续型概率分布

正态分布
记为X\sim N(μ,σ^2)
概率密度函数:
p(x)=\frac{1}{\sqrt{2\pi} σ}e^{-\frac{(x-μ)^2}{2σ^ 2}}
正态分布的期望值E(X)=μ
正态分布的方差分别为D(X)=σ^ 2

from scipy.stats import norm
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

## 设置属性防止中文乱码
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False

fig, ax = plt.subplots(1, 1)

loc = 1
scale = 2.0
# 平均值, 方差, 偏度, 峰度
mean, var, skew, kurt = norm.stats(loc, scale, moments='mvsk')
print(mean, var, skew, kurt)

# ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。
x = np.linspace(norm.ppf(0.01, loc, scale), norm.ppf(0.99, loc, scale), 100)
ax.plot(x, norm.pdf(x, loc, scale), 'b-', label='norm')

plt.title(u'正太分布概率密度函数')
plt.show()

标准正态分布
记为X\sim N(0,1)
概率密度函数:
p(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{(x)^2}{2}}
正态分布的期望值E(X)=0
正态分布的方差分别为D(X)=1

幂律分布

由正太分布导出的几个重要分布
https://blog.csdn.net/baishuiniyaonulia/article/details/84262272

\chi^2分布

定义:设随机变量X_1,X_2,...,X_n相互独立,其X_i(i=1,2,...,n)服从标准正太分布N(0,1),则它们的平方和\sum_{i=1}^nX_i^2服从自由度为n的 \chi^2分布.
记为:X\sim \chi^{2(n)}

概率密度函数:


\chi^2分布的期望E(x)=n;
\chi^2分布的方差D(x)=2n

t分布(也称学生分布)

定义:设随机变量X\sim N(0,1)Y\sim \chi^{2(n)},且XY独立,则t= \frac{X}{\sqrt{Y/ n}}的分布就是t分布。
记为:

概率密度函数:


t分布图像的性质



F分布

定义:设随机变量Y和$Z相互独立,

Y\sim \chi^{2(m)}, Z\sim \chi^{2(n)},则随机变量X=\frac{Y/m}{Z/n}=\frac{nY}{mZ}的分布为F分布。

概率密度函数:

F分布的期望E(x)=;
F分布的方差D(x)=

Beta分布

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 该部分和之前001的内容部分有重合。 该部分分为两大块:概率分布的基本概念,概率分布的类型(离散变量概率分布和连续...
    chenht2019阅读 5,630评论 1 0
  • 概率分布用以表达随机变量取值的概率规律,根据随机变量所属类型的不同,概率分布取不同的表现形式,主要分为离散变量概率...
    饼人阅读 12,628评论 0 1
  • 数据分布 数据的分布分为离散变量的分布和连续变量的分布,连续变量的分布是统计推断的数学基础,其根据分布的表现形式分...
    弦好想断阅读 5,502评论 0 2
  • 1 离散概率分布 1.1 伯努利分布 又叫做0-1分布,指一次随机试验,结果只有两种。也就是一个随机变量的取值只有...
    Bigvan阅读 5,351评论 0 0
  • 小白入门数据挖掘,从零开始,每周一更。 01 均匀分布 均匀分布很好理解,随机取区间内的值X,每个值出现的概率相等...
    南小明阅读 4,554评论 0 0