" id="b1img" alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO">
  • " alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" />
  • " alt="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" title="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" />
  • " alt="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" title="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" />

别了网工——我的数据分析之路(八)概率分布

资源分享2018-06-18 itlogger阅读(208) 评论(0)

1.随机变量

一个量化随机时间的函数,代表每一个可能出现的试验结果的数值,f(x)>0,∑f(x)=1

离散随机变量、连续随机变量

2.概率分布

分布指在统计图中的形状,概率分布=随机变量+概率+分布,用于表述随机变量取值的概率规律

离散型概率分布关注的是某个特定值的概率

连续型概率分布关注的是某个范围的概率

3.离散概率分布

3.1 伯努利分布 Bernoulli Distribution

只有两个可能结果的试验,比如抛硬币,出现正反面的概率。

import numpy as np
import matplotlib.pyplot as plt
import scIPy.stats as stats
x = np.arange(0,2,1)
p = 0.5
pList = stats.bernoulli.pmf(x,p)
plt.plot(x,pList,marker='o',linestyle='None')
plt.vlines(x,0,pList)
plt.xlabel('Random variable:toss a coin')
plt.ylabel('Bernoulli Probability')
Text(0,0.5,'Bernoulli Probability')

3.2 二项分布 Binomial Distribution

重复n次独立的伯努利试验(每次成功的概率p),n次事件中共成功k次的概率

P(k)=Cnkpk(1-p)n-k

期望E=np 方差=np(1-p)

n=10
fig=plt.figure(figsize=(16,4),dpi=80)
ax1=plt.subplot(1,3,1)
ax2=plt.subplot(1,3,2)
ax3=plt.subplot(1,3,3)
x = np.arange(0,n+1,1)
p = 0.5
pList1 = stats.binom.pmf(x,n,p)
ax2.plot(x,pList1,marker='o',linestyle='None')
ax2.vlines(x,0,pList1)
ax2.set_xlabel('n=10,p=0.5')
ax2.set_ylabel('Binomial Probability')

pList2 = stats.binom.pmf(x,n,0.8)
ax1.plot(x,pList2,marker='o',linestyle='None')
ax1.vlines(x,0,pList2)
ax1.set_xlabel('n=10,p=0.8')
ax1.set_ylabel('Binomial Probability')

pList3 = stats.binom.pmf(x,n,0.2)
ax3.plot(x,pList3,marker='o',linestyle='None')
ax3.vlines(x,0,pList3)
ax3.set_xlabel('n=10,p=0.2')
ax3.set_ylabel('Binomial Probability')
Text(0,0.5,'Binomial Probability')

3.3 几何分布 Geometric Distribution

n次伯努利实验,重复k次试验才第一次成功的概率

P(k)=(1-p)k-1p

期望=1/p 方差=(1-p)/p2

n=10
fig=plt.figure(figsize=(16,4),dpi=80)
ax1=plt.subplot(1,3,1)
ax2=plt.subplot(1,3,2)
ax3=plt.subplot(1,3,3)
x = np.arange(1,n+1,1)
p = 0.5
pList1 = stats.geom.pmf(x,p)
ax2.plot(x,pList1,marker='o',linestyle='None')
ax2.vlines(x,0,pList1)
ax2.set_xlabel('n=10,p=0.5')
ax2.set_ylabel('Geometric Probability')

pList2 = stats.geom.pmf(x,0.8)
ax1.plot(x,pList2,marker='o',linestyle='None')
ax1.vlines(x,0,pList2)
ax1.set_xlabel('n=10,p=0.8')
ax1.set_ylabel('Geometric Probability')

pList3 = stats.geom.pmf(x,0.2)
ax3.plot(x,pList3,marker='o',linestyle='None')
ax3.vlines(x,0,pList3)
ax3.set_xlabel('n=10,p=0.2')
ax3.set_ylabel('Geometric Probability')
Text(0,0.5,'Geometric Probability')

3.4 泊松分布 Poisson Distribution

单位时间内随机事件发生的次数。

泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生率。

P(k,λ)=λke/k!

期望=λ 方差=λ

n=10
fig=plt.figure(figsize=(16,4),dpi=80)
ax1=plt.subplot(1,3,1)
ax2=plt.subplot(1,3,2)
ax3=plt.subplot(1,3,3)
x = np.arange(0,n+1,1)
p = 5
pList1 = stats.poisson.pmf(x,p)
ax2.plot(x,pList1,marker='o',linestyle='None')
ax2.vlines(x,0,pList1)
ax2.set_xlabel('n=10,λ=5')
ax2.set_ylabel('Geometric Probability')

pList2 = stats.poisson.pmf(x,8)
ax1.plot(x,pList2,marker='o',linestyle='None')
ax1.vlines(x,0,pList2)
ax1.set_xlabel('n=10,λ=8')
ax1.set_ylabel('Geometric Probability')

pList3 = stats.poisson.pmf(x,2)
ax3.plot(x,pList3,marker='o',linestyle='None')
ax3.vlines(x,0,pList3)
ax3.set_xlabel('n=10,λ=2')
ax3.set_ylabel('Geometric Probability')
Text(0,0.5,'Geometric Probability')

4.连续概率分布

4.1 正态分布

正态曲线呈钟型,两头低,中间高,左右对称,曲线与横轴间的面积总等于1。

(1)标准正态分布是一种特殊的正态分布,标准正态分布的μ和σ^2为0和1,通常用ξ(或Z)表示服从标准正态分布的变量,记为 Z~N(0,1)。

(2)标准化变换:此变换有特性:若原分布服从正态分布 ,则Z=(x-μ)/σ ~ N(0,1) 就服从标准正态分布,通过查标准正态分布表就可以直接计算出原正态分布的概率值。故该变换被称为标准化变换。 

期望=μ 期望=σ2

mu=0 #mean
sigma=1 #standard deviation
x=np.arange(-5,5,0.1)
y=stats.norm.pdf(x,0,1)
plt.plot(x,y)
plt.title('Normal:$\mu$=%.1f,$\sigma^2$=%.1f'%(mu,sigma))
plt.xlabel('x')
plt.ylabel('Probability density')
plt.show()

4.2 幂律分布

呈刀尖型,比如人类的财富是以幂律分布的,大多数财富掌握在少数人手里。

P(x;λ)=λe-λx

期望=1/λ 方差=1/λ2

import numpy as np
lambd=0.5
x=np.arange(0,15,0.1)
y=lambd*np.exp(-lambd*x)
plt.plot(x,y)
plt.title('Exponential:$\lambda$=%.2f'%lambd)
Text(0.5,1,'Exponential:$\\lambda$=0.50')

转载请注明 :IT樵客
文章地址:http://www.itlogger.com/res/2509.html
标签:
相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注