Bootstrap方法及编程
一,简介:
问题的提出: 利用己知资料、计算机仿真和少量的试验数据样本信息去模拟未知分布,己成为数据分析中常用的一种办法。在不清楚验前信息的情况下,甚至可以通过少量试验数据,直接通过仿真计算来获得最终结果。Bootstrap算法和BayesBootstrap算法,正是在此理论基础下的一种非参数统计方法。二者算法同归于bootstrap方法,它不必对未知分布做任何假设,通过计算机对原始数据进行再抽样,来模拟未知分布,Bootstrap方法是基于monte carlo 数字仿真的一种算法。
研究表明:
1. 在未知分布的情况下,BayesBootstrap算法比Bootstrap算法要好,主要体现在:在小样本条件下,Bootstrap算法法通过仿真模拟所产生的数据仅为原有数据的重复性出现。BayesBootstrap克服了这一缺点。
2. 当能大概确定原始数据服从某一分布时,则宜于用Bootstrap算法。
由于不知道总体的分布,所以本文采用BayesBootstrap算法。
:
算法步骤:
STEP1 :计算现场子样的均值和方差,即有:
STEP2 :产生N 组Diricklet 随机向量, V( i) = ( Vi1 , ⋯, Vin) , i = 1 , …, N , 这里( Vi1 , …, Vin) 为参数为(-1 ⋯,1) 的Diricklet 随机向量,记它的联合分布为:D( i)(1 , …,1) 。它可按如下方法产生:
设v1 , …, vn - 1是(0 ,1) 上均匀分布的随机变量v 的i . i . d 子样,按由小到大的次序重新排序,记它们为v (1) ≤v (2) ≤…≤v ( n - 1) 。又记v (0) = 0 , v ( n) = 1 , Vij = v ( j) - v ( j - 1) , j = 1 , …, n 。那么, ( Vi1 , …, Vin)的联合分布就是D( i)(1 , …,1) 。它就是我们所需要的Diricklet 随机向量。
本文也是按照以上4步骤来模拟的。
各函数及变量介绍:
float mean=0;/*均值*/
f
Bootstrap方法及编程.doc 来自淘豆网m.daumloan.com转载请标明出处.