1.Bootstrap的原理
数据分析需要大量的数据,但如果样本数量很小,如何实现小样本统计值的统计参数,Bootstrap就能帮上大忙。Bootstrap通过对样本数据的不断重复采样,得到每一次采样的统计值,近而估算出我们这个原始小样本的统计参数。数学原理见参考文献【1,2】。下面介绍非参数自举法的一些说明。
2.实现方法
2.1bootstrp函数
MATLAB中的bootstrp函数。nboot代表采样次数,bootfun每次计算的统计值,可以是多个,如@(x)[mean(x) std(x)],d1是原始数据,可以是矩阵,向量。bootstat是每次的计算的抽样数据统计值,bootsam是说明单的是每次抽样出的样本,但以索引形式给出。
[bootstat,bootsam] = bootstrp(nboot,bootfun,d1,...)
小例子帮助说明。
y = exprnd(5,100,1);
[bootstat,bootsam] = bootstrp(50, @(x) mean(x), y);
[bootstat,bootsam] = bootstrp(50, @(x) [mean(x) iqr(x)], y);%多个函数同时计算
2.2bootci函数(类似的ibootci)
函数的用法和bootstrp类似, 100*(1-alpha) 为置信区间,type为置信区间的计算方法,默认是’bca’方法。
ci = bootci(nboot,{bootfun,...},'alpha',alpha)
ci = bootci(nboot,{bootfun,...},...,'type',type)
3.参考文献
【1】https://zhuanlan.zhihu.com/p/54201828
【2】https://blog.csdn.net/yuzhiping1/article/details/82989015
【3】https://blog.csdn.net/qq_41218103/article/details/97805926
注①:随机数表也称乱数表,是由随机生成的从0到9十个数字所组成的数表,每个数字在表中出现的次数是大致相同的,它们出现在表上的顺序是随机的。