Use Boot package for bootstrapping

Hunan U

1 Use Boot

我们可以使用 boot 包中的 boot 函数来进行自助法估计. 下面我们仍然以给熊猫丫丫称重为例, 了解如何使用 boot 函数来计算 bootstrap 标准误.

先加载 boot 包:

library(boot)

boot 函数的基本语法为: boot(data, statistic, R), 其中

在计算 bootstrap 标准误时, 只需要指定这三个参数即可. 你可以运行 ?boot::boot 命令, 查看关于 boot 函数的更多说明.

2 使用 boot 计算标准误

这里的原始样本为熊猫丫丫的十次称重:

k_weights <- c(93, 77, 62, 78, 75, 85, 66, 83, 91, 72)

设定随机数种子:

set.seed(2023)

这里的统计量为丫丫体重的均值:

boot.fn = function(data, index) {
  mean(data[index])
} 

函数 boot.fn 会返回参数 data 的均值, conditional on 对应的指标 index.

boot 函数帮助我们自动完成了反复再抽样这个过程. 下面我们使用 boot 函数进行 1000 次再抽样, 并计算标准误:

bstrap = boot(k_weights, boot.fn, 1000)

lm 类似, 我们使用自助法估计得到的所有信息, 都储存在了 bstrap 这个对象中.

bstrap

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = k_weights, statistic = boot.fn, R = 1000)


Bootstrap Statistics :
    original  bias    std. error
t1*     78.2 -0.0433    3.058956

我们计算得到的标准误 (std. error) 约为 3.06. 作为对比, 我们之前使用 sample 函数进行再抽样计算得到的标准误约为 3.27.