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


R control 控制变量计算


R语言 control 位于 boot 包(package)。

说明

该函数将从引导输出对象中找到控制变量估计。它可以使用 post-simulation 平衡找到调整后的偏差估计,也可以使用线性近似作为控制变量来估计偏差、方差、第三累积量和分位数。

用法

control(boot.out, L = NULL, distn = NULL, index = 1, t0 = NULL,
        t = NULL, bias.adj = FALSE, alpha = NULL, ...)

参数

boot.out

boot 返回的引导输出对象。引导程序复制必须是使用通常的非参数引导程序生成的。

L

感兴趣统计的经验影响值。如果未提供 L ,则调用 empinfboot.out 计算它们。

distn

如果存在,这必须是 smooth.spline 的输出,给出线性近似的分布函数。仅当 bias.adjFALSE 时才使用此选项。通常这可以使用鞍点近似来找到。如果在这种情况下未提供,则由 saddle.distn 计算。

index

boot.out$statistic 输出中感兴趣的变量的索引。

t0

原始数据集 boot.out$data 上感兴趣的统计量的观测值。仅当 bias.adjFALSE 时才使用此参数。如果未提供t,则忽略输入值。默认值为 boot.out$t0[index]

t

引导程序复制感兴趣的统计数据的值。仅当 bias.adjFALSE 时才使用此参数。如果未提供t0,则输入将被忽略。默认值为boot.out$t[,index]

bias.adj

一个逻辑变量,如果 TRUE 指定使用 post-simulation 平衡调整后的偏差估计就足够了。如果 bias.adjFALSE(默认),则计算统计量的线性近似值,并将其用作偏差、方差和第三累积量以及分位数估计中的控制变量。

alpha

如果 bias.adjFALSE ,则所需分位数的 alpha 级别。

...

boot.out$statistic 需要的任何其他参数。每次调用 boot.out$statistic 时,它们都会不变地传递。如果 bias.adjTRUE ,则 boot.out$statistic 被调用一次,否则,如果 L 未提供,则可能被 empinf 调用以进行经验影响计算。

细节

如果 bias.adjFALSE,则在每次引导复制时找到并评估统计量的线性近似值。然后使用方程 T* = Tl*+(T*-Tl*),可以找到矩估计。对于分位数估计,通过鞍点方法非常准确地近似 t 的线性近似分布,然后将其与引导复制相结合以近似 t 的引导分布,从而估计 t 的引导分位数。

如果bias.adjTRUE,则返回值是调整后的偏差估计。

如果 bias.adjFALSE,则返回的值是包含以下组件的列表

L

使用的经验影响值。如果提供的话,这些是输入值,否则它们是 empinf 计算的值。

tL

自举的线性近似复制了感兴趣的统计量的t

bias

使用 t 的线性近似作为控制变量来控制偏差估计。

var

使用t 的线性近似作为控制变量来控制方差估计。

k3

使用 t 的线性近似作为控制变量的第三累积量的控制估计。

quantiles

具有两列的矩阵;第一列是用于分位数的 alpha 水平,第二列使用 t 的线性近似作为控制变量给出相应的分位数控制估计。

distn

smooth.spline 的输出对象,说明 t 线性近似的自举分布的鞍点近似。如果在输入上提供了 distn ,则这与输入相同,否则它是通过调用 saddle.distn 来计算的。

例子

# Use of control variates for the variance of the air-conditioning data
mean.fun <- function(d, i)
{    m <- mean(d$hours[i])
     n <- nrow(d)
     v <- (n-1)*var(d$hours[i])/n^2
     c(m, v)
}
air.boot <- boot(aircondit, mean.fun, R = 999)
control(air.boot, index = 2, bias.adj = TRUE)
air.cont <- control(air.boot, index = 2)
# Now let us try the variance on the log scale.
air.cont1 <- control(air.boot, t0 = log(air.boot$t0[2]),
                     t = log(air.boot$t[, 2]))

参考

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

Davison, A.C., Hinkley, D.V. and Schechtman, E. (1986) Efficient bootstrap simulation. Biometrika, 73, 555-566.

Efron, B. (1990) More efficient bootstrap computations. Journal of the American Statistical Association, 55, 79-89.

也可以看看

boot , empinf , k3.linear , linear.approx , saddle.distn , smooth.spline , var.linear

相关用法


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