smooth.f
位于 boot
包(package)。 说明
此函数使用频率平滑方法来查找数据集上的分布,该数据集具有所需的感兴趣统计值 theta
。该方法导致分布随 theta
平滑变化。
用法
smooth.f(theta, boot.out, index = 1, t = boot.out$t[, index],
width = 0.5)
参数
theta |
感兴趣的统计所需的值。如果 |
boot.out |
通过调用 |
index |
|
t |
感兴趣的统计量的引导值。这必须是长度为 |
width |
内核平滑的标准化宽度。平滑使用 |
细节
新的分布权重是通过将正态核平滑器应用于 t
的观测值(按自举模拟中观测到的频率加权)来找到的。生成的分布的参数值可能不完全等于所需值 theta
,但它通常具有接近 theta
的值。有关此方法如何工作的详细信息,请参阅 Davison、Hinkley 和 Worton (1995) 以及 Davison 和 Hinkley (1997) 的第 3.9.2 节。
值
如果length(theta)
为1,则返回与数据集boot.out$data
长度相同的向量。位置i
中的值是赋予位置i
中的数据点的概率,使得分布的参数值大约等于theta
。如果 length(theta)
大于 1,则返回值是一个具有 length(theta)
行的矩阵,每行对应一个分布,参数值大约等于 theta
的对应值。
例子
# Example 9.8 of Davison and Hinkley (1997) requires tilting the resampling
# distribution of the studentized statistic to be centred at the observed
# value of the test statistic 1.84. In the book exponential tilting was used
# but it is also possible to use smooth.f.
grav1 <- gravity[as.numeric(gravity[, 2]) >= 7, ]
grav.fun <- function(dat, w, orig) {
strata <- tapply(dat[, 2], as.numeric(dat[, 2]))
d <- dat[, 1]
ns <- tabulate(strata)
w <- w/tapply(w, strata, sum)[strata]
mns <- as.vector(tapply(d * w, strata, sum)) # drop names
mn2 <- tapply(d * d * w, strata, sum)
s2hat <- sum((mn2 - mns^2)/ns)
c(mns[2] - mns[1], s2hat, (mns[2]-mns[1]-orig)/sqrt(s2hat))
}
grav.z0 <- grav.fun(grav1, rep(1, 26), 0)
grav.boot <- boot(grav1, grav.fun, R = 499, stype = "w",
strata = grav1[, 2], orig = grav.z0[1])
grav.sm <- smooth.f(grav.z0[3], grav.boot, index = 3)
# Now we can run another bootstrap using these weights
grav.boot2 <- boot(grav1, grav.fun, R = 499, stype = "w",
strata = grav1[, 2], orig = grav.z0[1],
weights = grav.sm)
# Estimated p-values can be found from these as follows
mean(grav.boot$t[, 3] >= grav.z0[3])
imp.prob(grav.boot2, t0 = -grav.z0[3], t = -grav.boot2$t[, 3])
# Note that for the importance sampling probability we must
# multiply everything by -1 to ensure that we find the correct
# probability. Raw resampling is not reliable for probabilities
# greater than 0.5. Thus
1 - imp.prob(grav.boot2, index = 3, t0 = grav.z0[3])$raw
# can give very strange results (negative probabilities).
参考
Davison, A.C. and Hinkley, D.V. (1997) Bootstrap Methods and Their Application. Cambridge University Press.
Davison, A.C., Hinkley, D.V. and Worton, B.J. (1995) Accurate and efficient construction of bootstrap likelihoods. Statistics and Computing, 5, 257-264.
也可以看看
相关用法
- R saddle.distn Bootstrap 统计的鞍点分布近似
- R survival 辐射剂量后大鼠的存活率
- R salinity 水盐度和河流排放
- R saddle Bootstrap 统计的鞍点近似
- R simplex 线性规划问题的单纯形法
- R poisons 动物生存时间
- R ducks 杂交鸭的行为和羽毛特征
- R nodal 前列腺癌的淋巴结受累
- R cloth 布料瑕疵数量
- R polar 新喀里多尼亚红土的极点位置
- R capability 模拟制造过程数据
- R beaver 海狸体温数据
- R tsboot 时间序列的引导
- R logit 比例的逻辑
- R EEF.profile 经验可能性
- R tau Tau 粒子衰变模式
- R gravity 重力加速度
- R boot 引导重采样
- R plot.boot Bootstrap 模拟的输出图
- R boot.ci 非参数引导置信区间
- R tilt.boot 非参数倾斜引导
- R envelope 曲线的置信区间
- R bigcity 美国城市人口
- R co.transfer 一氧化碳转移
- R imp.weights 重要性采样权重
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Smooth Distributions on Data Points。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。