当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R Imp.Estimates 重要性抽样估计


R语言 Imp.Estimates 位于 boot 包(package)。

说明

重要性重采样下统计量的中心矩、尾部概率和分位数估计。

用法

imp.moments(boot.out = NULL, index = 1, t = boot.out$t[, index], 
            w = NULL, def = TRUE, q = NULL)
imp.prob(boot.out = NULL, index = 1, t0 = boot.out$t0[index], 
         t = boot.out$t[, index], w = NULL, def = TRUE, q = NULL)
imp.quantile(boot.out = NULL, alpha = NULL, index = 1, 
             t = boot.out$t[, index], w = NULL, def = TRUE, q = NULL)

参数

boot.out

通过调用 boottilt.boot 生成的类 "boot" 的对象。仅当引导重采样对观测值使用不相等的权重时,使用这些函数才有意义。如果未提供重要性权重 w,则 boot.out 是必需参数。如果未提供 t,则也需要提供该信息。

alpha

所需分位数的 alpha 水平。默认计算 1%、2.5%、5%、10%、90%、95%、97.5% 和 99% 分位数。

index

boot.out$statistic 输出中感兴趣的变量的索引。如果提供了参数 t,则不会使用此选项。

t0

需要尾部概率估计的值。对于每个值 t0[i] ,该函数将估计在 t0[i] 处评估的 bootstrap cdf。如果在不带参数 t0 的情况下调用 imp.prob,则可以找到在统计观察值处评估的引导 cdf。

t

引导程序复制统计数据。默认情况下,这些是从引导输出对象 boot.out 中获取的,但如果需要,可以单独提供它们(例如,当感兴趣的统计量是 boot.out 中计算值的函数时)。必须提供boot.outt

w

引导程序重复重采样权重的重要性。如果未提供它们,则必须提供 boot.out,在这种情况下,重要性权重通过调用 imp.weights 来计算。

def

一个逻辑值,指示防御混合物是否用于重量计算。仅当 w 缺失且未更改地传递给 imp.weights 以计算 w 时才使用此选项。

q

一个概率向量,指定应从中找到任何估计值的重采样分布。一般来说,这对应于通常的引导重采样分布,它为每个原始观测值赋予相同的权重。估计仅通过重要性权重 w 取决于此分布,因此如果提供了 w,则忽略此参数。如果 w 丢失,则 q 将作为参数传递给 imp.weights 并用于查找 w

包含以下组件的列表:

alpha

如果使用 imp.quantile,则用于分位数的 alpha 级别。

t0

如果使用imp.prob,则估计尾部概率的值。

raw

原始重要性重采样估计。对于imp.moments,其长度为 2,第一个分量是均值估计,第二个分量是方差估计。对于 imp.probrawt0 具有相同的长度,对于 imp.quantile ,它与 alpha 具有相同的长度。

rat

比率重要性重采样估计。在此方法中,权重 w 在使用之前会重新调整为平均值为 1。该向量的格式与 raw 相同。

reg

回归重要性重采样估计。在此方法中,使用的权重源自 t*ww 的回归。可以证明权重的这种选择可以最小化权重的方差以及权重与均匀权重的欧几里德距离。该向量的格式与 raw 相同。

例子

# 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 this example
# we show how certain estimates can be found using resamples taken from
# the tilted distribution.
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.L <- empinf(data = grav1, statistic = grav.fun, stype = "w", 
                 strata = grav1[,2], index = 3, orig = grav.z0[1])
grav.tilt <- exp.tilt(grav.L, grav.z0[3], strata = grav1[, 2])
grav.tilt.boot <- boot(grav1, grav.fun, R = 199, stype = "w", 
                       strata = grav1[, 2], weights = grav.tilt$p,
                       orig = grav.z0[1])
# Since the weights are needed for all calculations, we shall calculate
# them once only.
grav.w <- imp.weights(grav.tilt.boot)
grav.mom <- imp.moments(grav.tilt.boot, w = grav.w, index = 3)
grav.p <- imp.prob(grav.tilt.boot, w = grav.w, index = 3, t0 = grav.z0[3])
unlist(grav.p)
grav.q <- imp.quantile(grav.tilt.boot, w = grav.w, index = 3, 
                       alpha = c(0.9, 0.95, 0.975, 0.99))
as.data.frame(grav.q)

参考

Davison, A. C. and Hinkley, D. V. (1997) Bootstrap Methods and Their Application. Cambridge University Press.

Hesterberg, T. (1995) Weighted average importance sampling and defensive mixture distributions. Technometrics, 37, 185-194.

Johns, M.V. (1988) Importance sampling for bootstrap confidence intervals. Journal of the American Statistical Association, 83, 709-714.

也可以看看

boot , exp.tilt , imp.weights , smooth.f , tilt.boot

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Importance Sampling Estimates。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。