bootstrap方法需要反复地抽样,我写程序的时候抽样用的是sample这个函数(当然,replace=T)
我想请问,用for循环加上sample函数重复抽样,跟用bootstrap程序包有什么区别吗
这样说可能不太清楚,那么我举两个小例子:有一个正态分布的总体,假设我不知道它的均值和标准差是多少,但是我从里面随机抽取了一个样本,要用这个样本去估计总体的均值和标准差
小程序1:
x<-rnorm(1000,100,15)
resultm<-rep(0,times=1000)
resultsd<-rep(0,times=1000)
for(b in 1:1000){
y<-sample(x,1000,replace=T)
resultm[b]<-mean(y)
resultsd[b]<-sd(y)
}
mean(resultm);mean(resultsd)
小程序2:
library(bootstrap)
x<-rnorm(1000,100,15)
a<-sample(x,1000,replace=T)
theta<-function(a){
b<-mean(a)
c<-sd(a)
return(c(b,c))
}
result<-bootstrap(a,1000,theta)
mean(result$thetastar[1,]);mean(result$thetastar[2,])
这两个小程序有没有什么不同?不同在哪里?这个问题困扰了我很久,还望各路大神不吝赐教
PS:这两个小程序是随手写的,怕我问题没说清楚加以说明而已,没有考虑到估计方法问题


雷达卡




京公网安备 11010802022788号







