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


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