• Bootstrap抽样


    2019-07-07 14:35:47

          原文地址: http://blog.sciencenet.cn/home.php?mod=space&uid=255662&do=blog&id=523462

          Bootstrap又称自展法,是用小样本估计总体值的一种非参数方法,在进化和生态学研究应用十分广泛。例如进化树分化节点的自展支持率等。

         在进行分析的时候,首先要做的就是,判断随机变量的类型,然后就是判断随机变量的数据服从什么分布。什么分布至关重要,因为它直接决定能不能分析。举例:如果进行方差分析,首先就要求正态分布,如果不是正态分布,就要有补救措施,这个补救措施就是bootstrap,也是应用bootstrap的原因,如果因变量符合或者大概符合正态分布,bootstrap方法就可以不用。

        Bootstrap的思想,是生成一系列bootstrap伪样本,每个样本是初始数据有放回抽样。通过对伪样本的计算,获得统计量的分布。例如,要进行1000次bootstrap,求平均值的置信区间,可以对每个伪样本计算平均值。这样就获得了1000个平均值。对着1000个平均值的分位数进行计算, 即可获得置信区间。可以证明,在初始样本足够大的情况下,bootstrap抽样能够无偏得接近总体的分布(均值和方差)。

        原理:中心极限定理,样本均值的抽样分布是所有的样本均值形成的分布,即μ的概率分布.样本均值的抽样分布在形状上却是对称的.随着样本量n的增大,不论原来的总体是否服从正态分布,样本均值的抽样分布都将趋于正态分布,其分布的数学期望为总体均值μ,方差为总体方差的1/n。

       下面是一个实例:

       例如,假设有一批产品,随机抽出30个,使用寿命(天数)如下,试用bootstrap的方法估计这批产品寿命95%的置信区间。

    dat<-c(119,120,131,209,210,337,332,287,146,129,232,169,208,253,142,105,419,179,324,287,115,132,308,356,286,221,204,105,45,245)
    ## 查看原始数据的频数直方图
    hist(dat, col = "blue")
    

      

    ##生成一个存储器
    boot.sample <- list()
    ## 循环1000次,有放回的抽样,每次生成的
    
    ## 新样本存储在boot.sample中
    
    for(i in 1:1000){
    
         boot.sample[[i]] <- sample(dat,size = 30, replace = TRUE)
    
    }
    ## 求每个样本的mean,结果为1000个bootstrap样本的mean
    ## unlist 平展列表对象生成的内容
    
    boot.mean <- unlist(lapply(boot.sample, mean))
    
    ## 频数直方图
    
    hist(boot.mean, col = "red")
    
    ## 求95%的置信区间
    
    CI95 <- quantile(boot.mean, probs = c(0.025, 0.975))
    
    ## 在频数直方图上加置信区间
    
    abline(v = CI95, col = "blue")
    

      

  • 相关阅读:
    PHP图像处理之画图
    PHP中的日期和时间
    windows socket网络编程基础知识
    socket编程(Linux)
    变量作用域
    JavaScript中的this
    基于jQuery的2048小游戏设计(网页版)
    I/O流
    并发名词解释
    synchronized 实现原理
  • 原文地址:https://www.cnblogs.com/lhsguaigege/p/11146266.html
Copyright © 2020-2023  润新知