《统计学bootstrap》由会员分享,可在线阅读,更多相关《统计学bootstrap(55页珍藏版)》请在金锄头文库上搜索。
1、1上节课内容总结n统计推断基本概念n统计模型:参数模型与非参数模型n统计推断/模型估计:点估计、区间估计、假设检验n估计的评价:无偏性、一致性、有效性、MSEn偏差、方差、区间估计nCDF估计:n点估计、偏差、方差及区间估计n统计函数估计n点估计n区间估计/标准误差n影响函数nBootstrapnBootstrap也可用于偏差、置信区间和分布估计等计算2本节课内容n重采样技术(resampling)nBootstrapn刀切法(jackknife)3引言n 是一个统计量,或者是数据的某个函数,数据来自某个未知的分布F,我们想知道 的某些性质(如偏差、方差和置信区间)n假设我们想知道 的方差n如
2、果 的形式比较简单,可以直接用上节课学习的嵌入式估计量 作为 的估计n例: ,则n ,其中 n ,其中n问题:若 的形式很复杂(任意统计量),如何计算/估计?4Bootstrap简介nBootstrap是一个很通用的工具,用来估计标准误差、置信区间和偏差。由Bradley Efron于1979年提出,用于计算任意估计的标准误差n术语“Bootstrap”来自短语“to pull oneself up by ones bootstraps” (源自西方神话故事“ The Adventures of Baron Munchausen”,男爵掉到了深湖底,没有工具,所以他想到了拎着鞋带将自己提起来)
3、n计算机的引导程序boot也来源于此n意义:不靠外界力量,而靠自身提升自己的性能,翻译为自助/自举n1980年代很流行,因为计算机被引入统计实践中来5Bootstrap简介nBootstrap:利用计算机手段进行重采样n一种基于数据的模拟(simulation)方法,用于统计推断。基本思想是:利用样本数据计算统计量和估计样本分布,而不对模型做任何假设(非参数bootstrap)n无需标准误差的理论计算,因此不关心估计的数学形式有多复杂nBootstrap有两种形式:非参数bootstrap和参数化的bootstrap,但基本思想都是模拟6重采样n通过从原始数据 进行n次有放回采样n个数据,得到
4、bootstrap样本n对原始数据进行有放回的随机采样,抽取的样本数目同原始样本数目一样n如:若原始样本为n则bootstrap样本可能为7计算bootstrap样本n重复B次,n1. 随机选择整数 ,每个整数的取值范围为1, n,选择每个1, n之间的整数的概率相等,均为n2. 计算bootstrap样本为:nWeb上有matlab代码:nBOOTSTRAP MATLAB TOOLBOX, by Abdelhak M. Zoubir and D. Robert Iskander,nhttp:/www.csp.curtin.edu.au/downloads/bootstrap_ toolbox
5、.htmlnMatlab函数:bootstrp8Bootstrap样本n在一次bootstrap采样中,某些原始样本可能没被采到,另外一些样本可能被采样多次n在一个bootstrap样本集中不包含某个原始样本 的概率为n一个bootstrap样本集包含了大约原始样本集的1-0.368 = 0.632,另外0.368的样本没有包括9模拟n假设我们从 的分布 中抽取IID样本 ,当 时,根据大数定律,n也就是说,如果我们从 中抽取大量样本,我们可以用样本均值 来近似n当样本数目B足够大时,样本均值 与期望 之间的差别可以忽略不计10模拟n更一般地,对任意均值有限的函数h,当 有n则当 时,有n用模
6、拟样本的方差来近似方差11模拟n怎样得到 的分布?n已知的只有X,但是我们可以讨论X的分布Fn如果我们可以从分布F中得到样本 ,我们可以计算n怎样得到F?用 代替(嵌入式估计量)n怎样从 中采样?n因为 对每个数据点 的质量都为1/n n所以从 中抽取一个样本等价于从原始数据随机抽取一个样本n也就是说:为了模拟 ,可以通过有放回地随机抽取n个样本(bootstrap 样本)来实现12Bootstrap:一个重采样过程n重采样:n通过从原始数据 进行有放回采样n个数据,得到bootstrap样本n模拟:n为了估计我们感兴趣的统计量 的方差/中值/均值,我们用 bootstrap样本对应的统计量(
7、bootstrap复制) 近似,其中13例:中值X = (3.12, 0, 1.57, 19.67, 0.22, 2.20)Mean=4.46X1=(1.57,0.22,19.67, 0,0,2.2,3.12)Mean=4.13X2=(0, 2.20, 2.20, 2.20, 19.67, 1.57)Mean=4.64X3=(0.22, 3.12,1.57, 3.12, 2.20, 0.22)Mean=1.7414Bootstrap方差估计n方差: n其中n注意:F为数据X的分布,G为统计量T的分布n通过两步实现:n第一步:用 估计 n插入估计,积分符号变成求和n第二步:通过从 中采样来近似计
8、算nBootstrap采样+大数定律近似15Bootstrap:方差估计nBootstrap的步骤:n1.画出n2.计算n3.重复步骤1和2共B次,得到n4.(大数定律)(计算boostrap样本)(计算boostrap复制)16例:混合高斯模型:n假设真实分布为n现有n=100个观测样本:直接用嵌入式估计结果:17例:混合高斯模型(续)n用Bootstrap计算统计量 的方差:n1. 得到B=1000个bootstrap样本 ,其中n2. 计算B=1000个bootstrap样本对应的统计量的值n 3. 与直接用嵌入式估计得到的结果比较:18Bootstrap:方差估计n真实世界:nBoot
9、strap世界:n发生了两个近似n近似的程度与原始样本数目n及bootstrap样本的数目B有关19Bootstrap:方差估计n在方差估计中, 可为任意统计函数n如均值(混合高斯模型的例子)n中值(伪代码参见教材)n偏度(例子参见教材)n极大值(见后续例子)nn除了用来计算方差外,还可以用作其他应用nCDF近似、偏差估计、置信区间估计20CDF近似n令 为 的CDFn则 的bootstrap估计为21偏差估计n偏差的bootstrap估计定义为:nBootstrap偏差估计的步骤为:n得到B个独立bootstrap样本n计算每个bootstrap样本 对应的统计量的值n计算bootstrap
10、期望:n计算bootstrap偏差:22例:混合高斯模型: n标准误差估计n在标准误差估计中,B为50到200之间结果比较稳定n偏差估计B B1010202050501001005005001000100010000100000.13860.13860.21880.21880.22450.22450.21420.21420.22480.22480.22120.22120.21870.2187B B1010202050501001005005001000100010000100005.05875.05874.95514.95515.02445.02444.98834.98834.99454.99
11、455.00355.00354.99964.99960.06170.0617-0.0417-0.04170.02740.0274-0.0087-0.0087-0.0025-0.00250.00640.00640.00250.002523Bootstrap置信区间n正态区间:n简单,但该估计不是很准确,除非 接近正态分布n 百分位区间: ,对应 的样本分位数n还有其他一些计算置信区间的方法n如枢轴置信区间:24例:Bootstrap置信区间n例8.6:Bootstrap方法的发明者Bradley Efron给出了下列用语解释Bootstrap方法的例子。这些数据是LAST分数(法学院的入学分数)
12、和GPA。计算相关系数及其标准误差。LSAT (Y)576635558578666580555661651605653575545572594GPA (Z)3.393.302.813.033.443.073.003.433.363.133.122.742.762.882.9625例8.6 (续)n相关系数的定义为:n相关系数的嵌入式估计量为:nBootstrap得到的相关系数插入估计的标准误差为:标准误差趋向稳定于B252550100200400800160032000.1400.1400.1420.1420.1510.1510.1430.1430.1410.1370.1330.13226例8
13、.6 (续)n当B=1000时,n 的直方图为下图,可近似为从 的分布采样n95%的正态区间为:n95%的百分点区间为:n当大样本情况下,这两个区间趋近于相同27非参数bootstrap过程总结n对原始样本数据 进行重采样,得到B个bootstrap样本 ,其中b=1, , Bn 对每个bootstrap样本 ,计算其对应的统计量的值(bootstrap复制)n根据bootstrap复制 ,计算其方差、偏差和置信区间等n称为非参数bootstrap方法,因为没有对F的先验(即F的知识仅从样本数据中获得)28非参数bootstrapn统计量/统计函数:n没有对F的先验,F的知识仅从样本数据中获得
14、(CDF估计),统计函数的估计变为嵌入式估计n真实世界:nBootstrap世界:n如方差计算中,发生了两个近似n近似的程度与样本数目n及bootstrap样本的数目B有关29Bootstrap的收敛性n例:混合高斯模型:n nn=100个观测样本:n4次试验得到不同B的偏差和方差的结果30Bootstrap的收敛性nB的选择取决于n计算机的可用性n问题的类型:标准误差/偏差/置信区间/n问题的复杂程度31Bootstrap失败的一个例子n ,我们感兴趣的统计量 为 n 的CDF用G表示n则 的pdf为 32Bootstrap失败的一个例子(续)n对非参数bootstrap,令n则n所以 ,非
15、参数bootstrap不能很好地模拟真正的分布33Bootstrap失败的一个例子(续)n假设样本数目n=10,样本为 ,取参数 X = (0.5729,0.1873,0.5984,0.2883,0.8722,0.4320,0.4896,0.7106,0.2754,0.7637) 非参数bootstrap复制的直方图B=1000,最高峰为理论结果:34Bootstrap失败的一个例子n为什么失败?nEDF 不是真正分布 的很好近似n为了得到更好的结果,需要F的参数知识或者 的平滑性n参数化的bootstrap表现很好,能很好模拟真正的分布35Bootstrap的收敛性n给定n个IID数据 ,要
16、求n当 , 收敛于Fn 为 的嵌入式估计n统计函数的平滑性n平滑函数:n均值、方差n不平滑函数:数据的一个小的变化会带来统计量的很大变化n顺序统计量的极值(极大值、极小值)36参数化的bootstrapn真实世界:nBootstrap世界:n与非参数的bootstrap相比:nF的先验用参数模型表示n多了一个步骤:根据数据估计参数 (参数估计),从而得到 不是经验分布函数EDFn重采样:从估计的分布 采样(产生随机数)F的先验37例: 非参数bootstrap失败的例子n ,取参数 ,假设样本数目n=10,样本为 X = (0.5729,0.1873,0.5984,0.2883,0.8722,
17、0.4320,0.4896,0.7106,0.2754,0.7637)n在参数bootstrap中:nF的先验:n根据数据估计F中的参数:n得到F的估计:n从分布 产生B=1000个样本 , 得到B个 , 直方图如右图的分布为真正的分布38参数化的bootstrapn当F为参数模型时,参数化的bootstrap也可用于计算方差、偏差、置信区间等n如计算方差:0. 根据数据 估计 f 的参数 ,得到 f 的估计1. 抽取样本2. 计算3. 重复步骤1和2 B次,得到4.39参数bootstrap Vs. 非参数的bootstrapnF的先验n参数bootstrap中利用了分布F的先验,表现为一个
18、参数模型,因此多了一个步骤,估计F模型中的参数。当先验模型正确时,参数bootstrap能得到更好的结果n而非参数bootstrap不利用F的先验知识就能得到正确的标准误差(在大多数情况下)n参数bootstrap能得到与Delta方法(计算变量的函数的方差)相当的结果,但更简单n重采样n参数bootstrap中,通过从分布 中产生随机数,得到bootstrap样本,得到的样本通常与原始样本不重合n非参数bootstrap中,通过对原始样本进行有放回采样实现对 的采样,每个bootstrap样本都是原始样本集合的一部分二者相同的是模拟的思想40Bootstrap(参数/非参数)不适合的场合n小
19、样本(n太小)n原始样本不能很好地代表总体分布nBootstrap只能覆盖原始样本的一部分,带来更大的偏差n结构间有关联n如时间/空间序列信号n因为bootstrap假设个样本间独立n脏数据n奇异点(outliers)给估计带来了变化41刀切法(jackknife)42引言nBootstrap方法并不总是最佳的。其中一个主要原因是bootstrap样本是从 产生而不是从F产生。n问题:能完全从F采样或重采样吗?n如果样本数目为n,答案是否定的!n若样本数目为m (m n),则可以从F中找到数目为m的采样/重采样,通过从原始样本X得到不同的子集就可以!n寻找原始样本的不同子集相当于从观测 进行无
20、放回采样,得到数目为m的重采样样本(在此称为子样本)这就是jackknife的基本思想。43刀切法(jackknife)nJackknife由Maurice Quenouille (1949)首先提出n比bootstrap出现更早n与bootstrap相比,Jackknife ( m=n-1) 对计算机不敏感。nJackknife为一种瑞士小折刀,很容易携带。通过类比, John W. Tukey (1958)在统计学中创造了这个术语,作为一种通用的假设检验和置信区间计算的方法。44Jackknife样本nJackknife样本定义为:一次从原始样本 中留出一个样本 :n Jackknife样
21、本中的样本数目为m=n-1n共有n个不同的jackknife样本n无需通过采样手段得到 jackknife样本BOOTSTRAP MATLAB TOOLBOX中也有该功能45Jackknife复制n统计量为:nJackknife复制为:n均值的jackknife复制为:46Jackknife方差估计n 从原始样本X中计算n个jackknife样本n计算n个jackknife复制:n计算jackknife估计的方差:n 47例:计算均值的方差n ,则n所以方差的无偏估计48例:计算均值的方差n因子 比bootstrap中的因子 大多了。n直观上,因为jackknife 方差 比bootstrap
22、中的方差 小得多(相比bootstrap样本,jackknife样本与原始样本更相似n事实上,因子 就是考虑特殊情况 得到的 (有点武断)49例:混合高斯模型: nBootstrap结果:nJacknife结果:B B1010202050501001005005001000100010000100000.13860.13860.21880.21880.22450.22450.21420.21420.22480.22480.22120.22120.21870.21870.06170.0617-0.0417-0.04170.02740.0274-0.0087-0.0087-0.0025-0.002
23、50.00640.00640.00250.002550例:混合高斯模型: n复制的直方图1000个Bootstrap复制100个Jacknife复制Jackknife复制之间的差异很小,每两个Jackknife样本中只有两个单个的原始样本不同51Jackknife Vs. bootstrapn当n较小时,能更容易(更快)计算 n个 jackknife复制。n但是,与bootstrap 相比,jackknife只利用了更少的信息(更少的样本) 。n事实上, jackknife为bootstrap的一个近似(jackknife方差为bootstrap方差的一阶近似)!n估计样本分位数时,jackk
24、nife计算的方差不是一致估计52Jackknife的其他应用nJackknife可用于类似bootstrap的应用,如偏差估计53Jackknife不适合的场合n统计函数不是平滑函数:数据小的变化会带来统计量的一个大的变化n如极值、中值n如对数据 X=(10,27,31,40,46,50,52,104,146)的中值n得到的结果为48,48,48,48,45,43,43,43,43n偶数个数的中值为最中间两个数的平均值n当函数不平滑时,可以用delete-d jackknife子采样来弥补n每个delete-d jackknife样本中的样本的数目为n-dn共有 个不同的delete-d j
25、ackknife样本nd的取值:54参考文献nBooksnAn Introduction to Bootstrap, B. Efron and R. J. Tibshirani, Chapman & Hall, 1998.nBootstrap Methods and Their Application, A. Davidson and D. Hinkley, Cambridge University Press, 1997.nRandomization, Bootstrapping, and Monte Carlo Methods in Biology, Manly, Chapman & Ha
26、ll, 1997.nSpecial issuesnSilver Anniversary of the Bootstrap, Statistical Science, Vol. 18, nb. 2, May 2003.nSignal Processing Applications Of The Bootstrap by S. Shamsunder; Computer-intensive methods in statistical analysis by D.N. Politis; The bootstrap and its application in signal processing, A.M. Zoubir and B. Boashash, in IEEE Signal Processing Magazine, January 1998.有Demo55参考文献n对bootstrap的批判nExploring the limits of bootstrap edited, by Le Page and Billard, 1990