當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。