分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布

推论统计学是指在统计学中,研究如何根据样本数据去推断总体数量特征的方法。它是在对样本数据进行描述的基础上,对统计总体的未知数量特征做出以概率形式表述的推断。

相比于描述统计学,主要有俩点不同。

1、定义不同:描述统计学是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法。推论统计是借助抽样调查,从局部推断总体,以对不肯定的事物做出决策的一种统计。

2、主要内容不同:描述统计分为集中趋势分析、离中趋势分析和相关分析三大部分。推论统计包括总体参数估计与假设检验两种。前者以一次性抽样实验为依据,对整个总体的某个数字特征做出估计。后者则是对某种假设进行检验,根据计算结果推断所做的假设是否可以接受。

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第1张图片
思维导图及目录

一、概率分布

1、随机变量

随机事件:在随机试验中,可能发生也可能不发生的事件,如明天是否下雨。

随机变量:用随机的数字表示随机事件的可能结果,常用大写字母X表示。

随机变量分为离散随机变量和连续随机变量。

计算离散随机变量的概率公式叫概率质量函数(Probability Mass Function), 统计形状为离散型概率分布,变量大小与数量有关。

计算连续随机变量的概率公式叫概率密度函数(Probability Density Function), 统计形状为连续型概率分布,变量大小与曲线下面积有关。

2、概率分布

概率分布的类型有很多,分为离散型概率分布和连续型概率分布,其中

离散概率分布主要有伯努利分布,二项分布,几何分布,泊松分布;

连续概率分布主要有正态分布, 幂律分布。

下面我们介绍这6种常见概率分布。

2.1 伯努利分布(Bernouli Distribution)

也称为“两点分布”,其E(X)=p(0

Python实现过程如下:

#导入包
#数组包
import numpy as np
#绘图包
import matplotlib.pyplot as plt
#统计计算包的统计模块
from scipy import stats


'''
第1步,定义随机变量:1次抛硬币
成功指正面朝上记录为1,失败指反面朝上记录为0
'''
X = np.arange(0, 2,1)

#第2步,#求对应分布的概率:概率质量函数 (PMF)
#它返回一个列表,列表中每个元素表示随机变量中对应值的概率
p = 0.5 # 硬币朝上的概率
pList = stats.bernoulli.pmf(X, p)

plot默认绘制折线,这里我们只绘制点,所以传入下面的参数:
marker:点的形状,值o表示点为圆圈标记(circle marker)
linestyle:线条的形状,值None表示不显示连接各个点的折线
'''
plt.plot(X, pList, marker='o',linestyle='None')
'''
vlines用于绘制竖直线(vertical lines),
参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)
我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,
竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值
'''
plt.vlines(X, 0, pList)
#x轴文本
plt.xlabel('随机变量:抛硬币1次')
#y轴文本
plt.ylabel('概率')
#标题
plt.title('伯努利分布:p=%.2f' %  p)
#显示图形
plt.show()

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第2张图片

2.2 二项分布(Binomial distribution):

做某件事(相互独立)n次,结果要么成功要么失败,每次成功的概率相同,想知道成功r次的概率是多少。

成功概率记为p, 失败概率为1-p,记为q。计算公式:

268668187da5dcd9f54e02b95e5c6c6b.png

二项分布就是做了n次伯努利实验,当n=1时,二项分布就是伯努利分布。

Python实现过程:

#导入包
#数组包
import numpy as np
#绘图包
import matplotlib.pyplot as plt
#统计计算包的统计模块
from scipy import stats
'''
arange用于生成一个等差数组,arange([start, ]stop, [step, ]
'''
#第1步,定义随机变量:5次抛硬币,正面朝上的次数
n = 5   # 做某件事情的次数
p = 0.5 # 做某件事情成功的概率
X = np.arange(0, n+1,1)
X
array([0, 1, 2, 3, 4, 5])

#第2步,#求对应分布的概率:概率质量函数 (PMF)
#它返回一个列表,列表中每个元素表示随机变量中对应值的概率
pList = stats.binom.pmf(X, n, p)
pList
array([ 0.03125,  0.15625,  0.3125 ,  0.3125 ,  0.15625,  0.03125])
#第3步,绘图
'''
plot默认绘制折线,这里我们只绘制点,所以传入下面的参数:
marker:点的形状,值o表示点为圆圈标记(circle marker)
linestyle:线条的形状,值None表示不显示连接各个点的折线
'''
plt.plot(X, pList, marker='o',linestyle='None')
'''
vlines用于绘制竖直线(vertical lines),
参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)
我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,
竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值
'''
plt.vlines(X, 0, pList)
#x轴文本
plt.xlabel('随机变量:抛硬币正面朝上次数')
#y轴文本
plt.ylabel('概率')
#标题
plt.title('二项分布:n=%i,p=%.2f' % (n,p))
#显示图形
plt.show()

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第3张图片

2.3 几何分布(Geometric distribution)

在n次伯努利实验中,每次成功的概率相同,想知道实验r次时才取得第1次成功的概率是多少。

成功概率记为p, 失败概率为1-p,记为q。计算公式:

65c77bb89850e453de02a8d6bd3633ad.png

Python实现过程:

#导入包
#数组包
import numpy as np
#绘图包
import matplotlib.pyplot as plt
#统计计算包的统计模块
from scipy import stats
'''
arange用于生成一个等差数组,arange([start, ]stop, [step, ]
'''

'''
第1步,定义随机变量:
首次表白成功的次数,可能是1次,2次,3次等
'''
#第k次做某件事情,才取到第1次成功
#这里我们想知道5次表白成功的概率
k = 5   
# 做某件事情成功的概率,这里假设每次表白成功概率都是60%
p = 0.6 
X = np.arange(1, k+1,1)
X
array([1, 2, 3, 4, 5])

'''
第2步,#求对应分布的概率:概率质量函数 (PMF)
它返回一个列表,列表中每个元素表示随机变量中对应值的概率
分别表示表白第1次才成功的概率,表白第2次才成功的概率,表白第3次才成功的概率,
表白第4次才成功的概率,表白第5次才成功的概率
'''
pList = stats.geom.pmf(X,p)
pList
array([ 0.6    ,  0.24   ,  0.096  ,  0.0384 ,  0.01536])

#第3步,绘图
'''
plot默认绘制折线,这里我们只绘制点,所以传入下面的参数:
marker:点的形状,值o表示点为圆圈标记(circle marker)
linestyle:线条的形状,值None表示不显示连接各个点的折线
'''
plt.plot(X, pList, marker='o',linestyle='None')
'''
vlines用于绘制竖直线(vertical lines),
参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)
我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,
竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值
'''
plt.vlines(X, 0, pList)
#x轴文本
plt.xlabel('随机变量:表白第k次才首次成功')
#y轴文本
plt.ylabel('概率')
#标题
plt.title('几何分布:p=%.2f' % p)
#显示图形
plt.show()

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第4张图片

2.4 泊松分布(Poisson distribution)

当一个随机事件以固定的平均瞬时速率λ(或称密度)随机且独立地出现时,那么这个事件在单位时间(面积或体积)内出现的次数就近似地服从泊松分布。

计算公式:

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第5张图片

μ:在给定的时间范围内发生某件事的平均次数;

r : 事情发生的次数。

Python实现过程:

#导入包
#数组包
import numpy as np
#绘图包
import matplotlib.pyplot as plt
#统计计算包的统计模块
from scipy import stats
'''
arange用于生成一个等差数组,arange([start, ]stop, [step, ]
'''

'''
第1步,定义随机变量:
已知某路口发生事故的比率是每天2次,
那么在此处一天内发生k次事故的概率是多少?
'''
mu = 2   # 平均值:每天发生2次事故
k=4 #次数,现在想知道每天发生4次事故的概率
#包含了发生0次、1次、2次,3次,4次事故
X = np.arange(0, k+1,1)
X

array([0, 1, 2, 3, 4])


#第2步,#求对应分布的概率:概率质量函数 (PMF)
#它返回一个列表,列表中每个元素表示随机变量中对应值的概率
#分别表示发生1次,2次,3次,4次事故的概率
pList = stats.poisson.pmf(X,mu)
pList

array([ 0.13533528,  0.27067057,  0.27067057,  0.18044704,  0.09022352])

#第3步,绘图
'''
plot默认绘制折线,这里我们只绘制点,所以传入下面的参数:
marker:点的形状,值o表示点为圆圈标记(circle marker)
linestyle:线条的形状,值None表示不显示连接各个点的折线
'''
plt.plot(X, pList, marker='o',linestyle='None')
'''
vlines用于绘制竖直线(vertical lines),
参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)
我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,
竖直线y坐标最小值是0,y坐标值最大值是对应pList中的值
'''
plt.vlines(X, 0, pList)
#x轴文本
plt.xlabel('随机变量:某路口发生k次事故')
#y轴文本
plt.ylabel('概率')
#标题
plt.title('泊松分布:平均值mu=%i' % mu)
#显示图形
plt.show()

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第6张图片

2.5 正态分布

又称高斯分布,是一个非常常见的连续概率分布,中间高,两边低,左右对称,大部分数据集中在中间的平均值附近。

求正态分布概率的计算办法:

  • 确定概率范围;
  • 根据标准分公式Z=(X-μ)/σ ,求出对应概率的标准分Z大小;
  • 查找Z表格中,Z值对应的概率。

Python实现过程:

#导入包
#数组包
import numpy as np
#绘图包
import matplotlib.pyplot as plt
#统计计算包的统计模块
from scipy import stats
'''
arange用于生成一个等差数组,arange([start, ]stop, [step, ]
'''

'''
第1步,定义随机变量:

'''
mu=0 #平均值
sigma= 1 #标准差
X = np.arange(-5, 5,0.1)

#第2步,概率密度函数(PDF)
y=stats.norm.pdf(X,mu,sigma)
#第3步,绘图
'''
plot默认绘制折线
'''
plt.plot(X, y)
#x轴文本
plt.xlabel('随机变量:x')
#y轴文本
plt.ylabel('概率:y')
#标题
plt.title('正态分布:$mu$=%.1f,$sigma^2$=%.1f' % (mu,sigma))
#网格
plt.grid()
#显示图形
plt.show()

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第7张图片

2.6 幂律分布

幂律分布、长尾分布、二八法则、赢者通吃、马太效应,其实他们说的都是一件事。那就是绝大多数个体的尺度很小,而只有少数个体的尺度相当大,像国家人口,全世界有224个国家和地区,只有11个国家的人口数超过一亿。

二、抽样分布

1、总体与样本

总体:所要考察对象的全体叫做总体。

样本:从总体中所抽取的一部分个体叫做总体的一个样本。

样本的抽取方法有:简单随机抽样、系统抽样、分层抽样。

简单随机抽样:从总体N个单位中任意抽取n个单位作为样本,使每个可能的样本被抽中的概率相等的一种抽样方式。

系统抽样:依据一定的抽样距离,从母体中抽取样本。要从容量为N的总体中抽取容量为n的样本,可将总体分成均衡的若干部分,然后按照预先规定的规则,从每一部分抽取一个个体,得到所需要的样本的抽样方法。

分层抽样:从一个可以分成不同子总体(或称为层)的总体中,按规定的比例从不同层中随机抽取样品(个体)的方法。这种方法的优点是样本的代表性比较好,抽样误差比较小。

简单随机抽样的Python实现:

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第8张图片

pandas数据框(DataFrame)的抽样方法利用sample方法来实现。

2、中心极限定理

中心极限定理是概率论中最重要的一类定理,它支撑着和置信区间相关的T检验和假设检验的计算公式和相关理论。

中心极限定理的通俗解释:给定一个任意分布的总体,每次从这些总体中随机抽取 n 个抽样(即为一个样本),一共抽 m 次,然后把这 m 组抽样(即为m个样本)分别求出平均值。这些平均值的分布接近正态分布。

要注意的点是:

1)总体本身的分布不要求正态分布;

2)样本每组要足够大,但也不需要太大。取样本的时候,一般认为,每组大于等于30个,即可让中心极限定理发挥作用;

3)样本的平均值约等于总体平均值。

根据总体的信息,可以判断某个样本是否属于总体。

3、用样本估计总体

利用中心极限定理可以用样本估计出总体的平均值,也可以用样本来估计总体的方差或标准差。

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第9张图片

标准误差:就是求所有样本的平均值的标准差。

分布直方图分析概率_推论统计分析学习(1)—概率分布与抽样分布_第10张图片

根据上图可以看出:

68%的样本平均值在总体平均值±1个标准误差范围内;

95%的样本平均值在总体平均值±2个标准误差范围内;

99.7%的样本平均值在总体平均值±3个标准误差范围内;

如果某个样本平均值在总体平均值的±3个标准误差范围以外,我们可以说该样本不属于这个总体。

4、避免偏差

样本偏差:以少数个体的信息代表总体,以偏概全。例如通过少数人不读书也能取得大成就来证明读书无用论。实际读书学习是当代人生存标配技能,以个例来代表总体,但是个例没有代表性。避免这种偏见,我们需要用更有代表性的数据信息来代表总体。

幸存者偏差:只看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。一般情况下由于样本信息渠道过于单一,得到的样本信息不全面,因此得到不正确的结论。避免这种偏见,我们需要学会多个角度全面观察问题,避免获取的信息渠道过于单一,看到的现象过于片面。

概率偏见:人们自以为是的概率叫做心理概率,当心理概率和客观概率不吻合的时候就出现了概率偏见。例如由于飞机出事后人们的恐惧心理认为飞机出行很危险。为避免这样的偏见,我们需要客观地看待问题,使用科学的方法去验证概率,可以多咨询专家,降低偏见的可能性。

信息茧房:是指看到的信息都是自己感兴趣的,而看不见世界其他信息。个性化推荐更容易导致信息茧房。如果我们想获取不一样的信息,就需要避免信息茧房。

你可能感兴趣的:(分布直方图分析概率)