参数 Bootstrap 方法
假设所研究的总体的分布函数的形式已知,但其中包含未知参数
(
可以是向量)
。现在已知有一个来自
的样本
利用这一样本求出的最大似然估计
。在
中以
代替
得到
,接着在
中产生容量为
的样本
这种样本可以产生很多个,如产生
个,就可以利用这些样本对总体进行统计推断。
例1 已知某种电子元件的寿命(单位:h)服从威布尔分布,其分布函数为
概率密度为
已知参数。今有样本
(1)确定参数的最大似然估计。
(2)对于时刻,求可靠性
的置信水平为0.95的Bootstrap置信区间。
解 (1)设有样本,似然函数为(已将
代入)
令,得
以数据代入,得的最大似然估计为
。
(2)对于参数,产生服从对应威布尔分布的10000个容量为10的Bootstrap样本。
R代码
eta_est <- function(x) sqrt(mean(x^2))
bootstrap <- function(B, FUN, alpha = 0.05)
{
rnd <- replicate(B, rweibull(10, 2, 100.0696)) # 产生威布尔随机数
est <- sort(apply(rnd, 2, FUN))# 计算Bootstrap估计并排序
upper <- est[floor(R * (1 - alpha/2))] # 置信上限
lower <- est[floor(R * alpha/2)] # 置信下限
c("CL" = lower, "CU" = upper)
}
bootstrap(1e4, eta_est)
# CL CU
# 69.9376 130.7169
于是,的置信水平为0.95的Bootstrap置信区间为
。
非参数 Bootstrap 方法
在很多情况下,总体的分布函数的形式通常是未知的,这时就无法产生模拟样本,需要另外的方法。
现在设分布未知,
是来自
的样本值,
是相应的经验分布函数。当
很大时,
接近
。在
中抽样,就是在原始样本
中每次随机地取一个个体作放回抽样。如此得到一个容量为
的样本称为Bootstrap样本。相应地、独立地抽得
个Bootstrap样本,以这些样本分别求出
的相应地Bootstrap估计如下:
Bootstrap样本1
,Bootstrap估计
;
Bootstrap样本2
,Bootstrap估计
;
Bootstrap样本B ,Bootstrap估计
。
则
的标准误差
,就以
来估计,其中。
例2 设金属元素铂的升华热是具有分布函数的连续型随机变量,
的中位数
是未知参数,现测得以下数据(以 kcal/mol 计):
136.3 136.6 135.8 135.4 134.7 135.0 134.1 143.3 147.8 148.8 134.8 135.2 134.9 149.5 141.2 135.4 134.8 135.8 135.0 133.7 134.4 134.9 134.8 134.5 134.3 135.2
以样本中位数
作为总体中位数
的估计,试求均方误差
的Bootstrap估计。
R代码
bootstrap <- function(B, x)
{
m <- median(x) # 样本中位数
bs <- replicate(B, sample(x, length(x), replace = T)) # 抽取Bootstrap样本
bs <- apply(bs, 2, median) # 计算Bootstrap样本中位数
sum((bs - m)^2)/(B - 1) # 计算均方误差
}
x <- c(136.3, 136.6, 135.8, 135.4, 134.7,
135.0, 134.1, 143.3, 147.8, 148.8,
134.8, 135.2, 134.9, 149.5, 141.2,
135.4, 134.8, 135.8, 135.0, 133.7,
134.4, 134.9, 134.8, 134.5, 134.3, 135.2)
bootstrap(1e4, x)
# [1] 0.07338434