正文
Python函数抽样 python 抽样函数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
使用Python构造经验累积分布函数(ECDF)
对于一个样本序列 ,经验累积分布函数 (Empirical Cumulative Distribution Function)可被定义为
其中 是一个指示函数,如果 ,指示函数取值为1,否则取值为0,因此 能反映在样本中小于 的元素数量占比。
根据格利文科定理(Glivenko–Cantelli Theorem),如果一个样本满足独立同分布(IID),那么其经验累积分布函数 会趋近于真实的累积分布函数 。
首先定义一个类,命名为ECDF:
我们采用均匀分布(Uniform)进行验证,导入 uniform 包,然后进行两轮抽样,第一轮抽取10次,第二轮抽取1000次,比较输出的结果。
输出结果为:
而我们知道,在真实的0到1均匀分布中, 时, ,从模拟结果可以看出,样本量越大,最终的经验累积分布函数值也越接近于真实的累积分布函数值,因此格利文科定理得以证明。
统计学6-抽样分布
抽样分布也称统计量分布、随机变量函数分布,是指样本估计量的分布。 样本估计量是样本的一个函数,在统计学中称作统计量,因此抽样分布也是指统计量的分布 【1】。以样本平均数为例,它是总体平均数的一个估计量,如果按照相同的样本容量,相同的抽样方式,反复地抽取样本,每次可以计算一个平均数,所有可能样本的平均数所形成的分布,就是样本平均数的抽样分布。
也就是说,我们将 抽样分布 定义为 样本统计量 的分布。
有多种样本统计量:均值,方差,标准差。
如果说我们有随机变量X,和方差 σ 2 ,那么 的分布 (样本平均数的抽样分布) 方差为: σ 2 /n
我们经常使用希腊符号作为 参数 ,使用小写字母作为对应 统计量 。有时候在文学作品中,你也会看到带有 "帽子" 的希腊字母,表示这是对应 参数 的估算。
下面这个表格提供了一些最常见的参数和对应统计量:
大数法则 表示 随着样本容量增加,样本平均数越来越接近总体平均数 。
但是我们首先如何确定样本平均数可以估计总体平均数呢?我们以后如何识别参数与统计量的其他关系呢?
下面是三种最常见的估计技巧:
最大似然估计 (英语:maximum likelihood estimation,缩写为MLE),也称 极大似然估计 、 最大概似估计 ,是用来估计一个概率模型的参数的一种方法【4】。
上文已经提到,似然函数取得最大值表示相应的参数能够使得统计模型最为合理。
最大似然估计的做法是:首先选取似然函数(一般是概率密度函数)或概率质量函数),整理之后求最大值。实际应用中一般会取 似然函数的对数作为求最大值的函数 ,这样求出的最大值和直接求最大值得到的结果是相同的。 似然函数的最大值不一定唯一,也不一定存在 。与矩法估计比较,最大似然估计的精确度较高,信息损失较少,但计算量较大。
贝叶斯估计(Bayesian estimation)是利用贝叶斯定理【7】结合 新的证据 及以前的 先验概率 ,来得到 新的概率 。它提供了一种计算假设概率的方法,基于假设的先验概率、给定假设下观察到不同数据的概率以及观察到的数据本身。
贝叶斯估计将 后验概率 (考虑相关证据或数据后,某一事件的条件机率)推导为 先验概率 (考虑相关证据或数据前,某一事件不确定性的机率)及 似然函数 的共同作用结果。贝叶斯推断根据贝叶斯定理计算后验概率:
针对不同的 H 数值,只有 P(H) 和 P(E|H) (都在分子)会影响 P(H|E) 的数值。假说的 后验概率 和其 先验概率 (固有似然率)和新产生的 似然率 (假说和新得到证据的相容性)乘积成正比。
贝叶斯估计最关键的点是可以利用贝斯定理结合新的证据及以前的先验机率,来得到新的机率(这和频率论推论相反,频率论推论只考虑证据,不考虑先验机率)。
而且贝叶斯估计可以迭代使用:在观察一些证据后得到的后设机率可以当作新的先验机率,再根据新的证据得到新的后设机率。因此贝斯定理可以应用在许多不同的证据上,不论这些证据是一起出现或是不同时出现都可以,这个程序称为 贝叶斯更新 (Bayesian updating)。
中心极限定理表示样本容量足够大,平均数的抽样分布越接近正态分布。
中心极限定理 实际上应用于这些常见的统计量中:
推论统计在于使用我们收集的数据( 样本 )对更大的总体数据( 总体 )得出结论。
使用推论统计要求我们对准确代表感兴趣的总体进行取样。
收集数据的常见方式是调查。然而,根据提问的问题和提问的方式,调查会带有 偏见性 。这是解决项目时你应该想到的话题。
Bootstrap方法是非常有用的一种统计学上的估计方法,是斯坦福统计系的教授Bradley Efron【9】在总结、归纳前人研究成果的基础上提出一种新的非参数统计方法。【8】
Bootstrap是可进行统计量区间估计的统计方法,也称为自助法。
我们往往无法知道总体的参数,因此我们通过抽样来试图对总体的参数进行估计。为此,一种方法是不停的对总体不停的取样,来得出样本统计量的分布。但是,这显然是不可能的。还有两种方法能派上用场:
对于#1,如果你能确定假设成立,即整体服从某一种分布,那么只要计算量在可接受的范围内,就没有问题。比方说,总体服从正态分布,那么样本来自总体,也能以正态分布进行描述,抽样分布为正态分布。然而,当总体分布未知的时候,只能以Bootstrap方法进行分析。
我们有理由采用#2,因为样本是我们仅有的也是最好的关于总体的信息,而且,大多数随机抽取的样本同总体非常的相似。【10】
Bootstrap是放回抽样。这里以一个🌰来描述其基本过程:
假设我们有两个金融资产X和Y,我们现在想要合理配置这两个资产,使得其资产组合的风险最小。也就是找到一个α,使得Var(αX + (1-α) Y)最小。这个问题几十年前马尔可维茨已经在其投资组合理论里给出了解答,最优的α表达式如下:
我们发现,通过Bootstrap方法我们竟然不仅可以估计α的值( 这点普通方法也可以很容易做到),还可以估计α的accuracy也就是其Standard Error。这可是只利用原有的样本进行一次估计所做不到的。那么Bootstrap对于分布特性的估计效果究竟如何呢?请看下图:
左边是真实的α分步,右边则是基于bootstrap方法得到的1000个α的分布,可以看到,二者是比较相近的,也就是说Bootstrap有着不错的估计效果。而且当重复次数增多,Bootstrap的估计效果会更好。
不仅是α的标准差,如果我们想要估计α的中位数、分位数等统计量,也是可以通过Boostrap方法做到的,其整个流程可以用下面一张图诠释:
本质上,Bootstrap方法,是将一次的估计过程,重复上千次上万次,从而便得到了得到上千个甚至上万个的估计值,于是利用这不止一个的估计值,我们就可以估计α均值以外的其他统计量:比如标准差、中位数等。
在 python 中使用 random.choice 实际上是自助法。无论选择多少次,我们数据集中任何数字的概率保持不变。
【1】 抽样分布
【2】 似然函数
【3】 贝叶斯法则
【4】 最大似然估计
【5】 卡尔·皮尔逊
【6】 Method of Moments
【7】 统计学5-贝叶斯法则 : 关于先验概率,后验概率,条件概率的概念及他们之间的关系,可以参考这篇文章。
【8】 Bootstrap详解 :本文的例子来自于这篇文章。
【9】 布拉德利·埃弗龙
【10】
python中的排列组合
在日常的工作学习中,我们肯定会遇到排列组合问题,比如,在5种颜色的球中,任意取3个,共有多少种组合方式,这也包括有放回和无放回抽样。
在python中,自带的排列组合函数,都在python的指导工具包itertools中。
product 笛卡尔积(有放回抽样排列)
permutations 排列(不放回抽样排列)
combinations 组合,没有重复(不放回抽样组合)
combinations_with_replacement 组合,有重复(有放回抽样组合)
python3中返回的为对象,可以通过迭代读取将值输出。
end
关于Python函数抽样和python 抽样函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。