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


R exp.tilt 指數傾斜


R語言 exp.tilt 位於 boot 包(package)。

說明

此函數計算指數傾斜多項式分布,以便統計量的線性近似的重采樣分布具有所需的均值。

用法

exp.tilt(L, theta = NULL, t0 = 0, lambda = NULL,
         strata = rep(1, length(L)))

參數

L

基於觀測數據的感興趣統計的經驗影響值。 L的長度應與原始數據集的大小相同。通常,L 將通過調用 empinf 來計算。

theta

傾斜分布的中心值。如果提供了lambda,則不需要此操作,但否則需要此操作。

t0

統計數據的當前值。默認情況下統計量等於 0。

lambda

拉格朗日乘子。對於 lambda 的每個值,找到一個多項式分布,其概率與 exp(lambda * L) 成比例。一般來說,lambda 是未知的,因此將提供theta,並找到lambda 的相應值。如果同時提供lambdatheta,則忽略lambda,並找到傾斜到theta 的乘數。

strata

L 長度相同的向量或因子,給出觀測數據的層和經驗影響值 L

細節

指數傾斜涉及找到數據集的一組權重,以確保感興趣的統計量的線性近似的自舉分布具有平均值 theta 。為實現此目的而選擇的權重由 p[j]exp(lambda*L[j]/n) 成比例給出,其中 n 是數據點的數量。然後選擇 lambda 以使感興趣統計量的線性近似的自舉分布的平均值等於所需值 theta 。因此lambda被定義為非線性方程的解。通過使用函數 nlmin 最小化方程左側和右側之間的歐幾裏德距離來求解方程。如果該最小值不等於零,則該方法失敗。

通常,指數傾斜用於尋找適合重要性重采樣的權重。如果需要感興趣統計量分布的小尾部概率或分位數,則更有效的模擬是將重采樣分布集中在感興趣點附近,然後使用函數 imp.probimp.quantile 來估計所需的數量。

實現類似的分布移位的另一種方法是使用 smooth.f 。函數 tilt.boot 使用 exp.tiltsmooth.f 來查找傾斜引導的權重。

包含以下組件的列表:

p

傾斜的概率。將有m 發行版,其中mtheta 的長度(或lambda,如果提供的話)。如果 m 為 1,則 plength(L) 概率的向量。如果 m 大於 1,則 p 是一個具有 m 行的矩陣,每行包含 length(L) 概率。在這種情況下,矢量 p[i,] 是向 theta[i] 傾斜的分布。 p 的格式是函數 boot 的參數 weights 所需的形式,用於重要性重采樣。

lambda

方程中使用拉格朗日乘數來確定傾斜概率。 lambda 是與 theta 長度相同的向量。

theta

分布已傾斜的theta 的值。一般來說,這將是 theta 的輸入值,但如果提供了 lambda,則這是相應的 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.  This can be achieved as follows.
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])
boot(grav1, grav.fun, R = 499, stype = "w", weights = grav.tilt$p,
     strata = grav1[,2], orig = grav.z0[1])

參考

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

Efron, B. (1981) Nonparametric standard errors and confidence intervals (with Discussion). Canadian Journal of Statistics, 9, 139-172.

也可以看看

empinf , imp.prob , imp.quantile , optim , smooth.f , tilt.boot

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Exponential Tilting。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。