一,简介:问题的提出:利用己知资料、计算机仿真和少量的试验数据样本信息去模拟未知分布,己成为数据分析中常用的一种办法。在不清楚验前信息的情况下,甚至可以通过少量试验数据,直接通过仿真计算来获得最终结果。Bootstrap算法和BayesBootstrap算法,正是在此理论基础下的一种非参数统计方法。二者算法同归于bootstrap方法,它不必对未知分布做任何假设,通过计算机对原始数据进行再抽样,来模拟未知分布,Bootstrap方法是基于montecarlo数字仿真的一种算法。研究表明:,BayesBootstrap算法比Bootstrap算法要好,主要体现在:在小样本条件下,Bootstrap算法法通过仿真模拟所产生的数据仅为原有数据的重复性出现。BayesBootstrap克服了这一缺点。,则宜于用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(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步骤来模拟的。各函数及变量介绍:floatmean=0;/*均值*/floatvariance=0;/*方差*/float*sample=NULL;/*输入的样本数组*/intN;/*再抽样次数,仿真次数*/intnumber=0;/*每一组样本个数*/InputSample()/*输入样本*/DisplayRandom()/*,以方便查看及后面的随机数的调用*/BeyesBootstrap()/*方法*/randac()/*产生(0,1)之间随机数,满足独立性及其他性质*/SetSeed()/*设置随即数的初始条件*/ComputSampleMean(floata[])/*求样本均值*/ComputSampleVariance(floata[])/*求样本方差*/注意:,输入样本。,以方便查看。瘸葬蜗阻盛械苔唱顽搬裸塌淳匡凭治挡
Bootstrap方法及编程 来自淘豆网m.daumloan.com转载请标明出处.