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


R saddle.distn Bootstrap 統計的鞍點分布近似


R語言 saddle.distn 位於 boot 包(package)。

說明

使用鞍點方法近似整個分布。該函數可以計算感興趣的單變量量的簡單條件鞍點分布近似值。對於簡單鞍點,感興趣的量是 W 的線性組合,其中 W 是隨機變量向量。對於條件鞍點,我們需要給定任意數量的其他線性組合的值,得到一個線性組合的分布。 W 的分布必須是多項式、泊鬆分布或二元分布之一。此函數的主要用途是使用鞍點近似計算引導分布的分位數。函數 control 需要這樣的分位數來近似統計量的線性近似分布。

用法

saddle.distn(A, u = NULL, alpha = NULL, wdist = "m", 
             type = "simp", npts = 20, t = NULL, t0 = NULL, 
             init = rep(0.1, d), mu = rep(0.5, n), LR = FALSE, 
             strata = NULL, ...)

參數

A

這是已知係數的矩陣或返回此類矩陣的函數。如果是函數,則其第一個參數必須是需要鞍點的點t。 A 是函數的最常見原因是統計量本身不是 W 的線性組合,而是線性估計方程的解。

u

如果 A 是一個函數,則 u 也必須是一個返回向量的函數,該向量的長度等於 A 返回的矩陣的列數。通常,除了第一個分量之外的所有分量都是常量,因為其他分量是條件變量的值。如果 A 是具有多於一列的矩陣(例如 wdist = "cond" 時),則 u 應該是長度比 ncol(A) 小一的向量。在本例中,u 指定條件變量的值。如果A 是具有一列的矩陣或向量,則不使用u

alpha

應返回的分布分位數的 alpha 水平。默認情況下,計算 0.1、0.5、1、2.5、5、10、20、50、80、90、95、97.5、99、99.5 和 99.9 百分位數。

wdist

W 的分布。可能的值為 "m"(多項式)、"p"(泊鬆)或 "b"(二進製)。

type

要使用的鞍點類型。可能的值為"simp"(簡單鞍點)和"cond"(條件)。如果 wdist"m" ,則 type 設置為 "simp"

npts

應計算鞍點近似值然後用於擬合樣條線的點數。

t

計算鞍點近似值的點向量。這些點應超出所需的極端分位數,但仍處於引導分布的可能範圍內。統計量的觀測值不應包含在 t 中,因為此時分布函數近似會失效。然而,這些點應該覆蓋分布的整個有效範圍,包括靠近中心的地方。如果提供 t ,則 npts 設置為 length(t) 。當未提供t時,該函數嘗試找到分布的有效範圍,然後選擇點來覆蓋該範圍。

t0

如果未提供 t ,則應將長度為 2 的向量作為 t0 傳遞。 t0 的第一個組成部分應該是分布的中心,第二個組成部分應該是分布的估計(例如標準誤差)。然後使用這兩個來找到分布的有效範圍。測距機製確實依賴於 t0[1] 中位置的準確估計。

init

wdist"m" 時,該向量應包含在調用它求解鞍點方程時要傳遞給 nlmin 的初始值。

mu

分布的參數值向量。默認情況下 W 的分量是同分布的。

LR

一個邏輯標誌。當LRTRUE 時,計算Lugananni-Rice cdf 近似值並用於擬合樣條曲線。否則,使用的 cdf 近似值基於 Barndorff-Nielsen 的 r*。

strata

當 A 的行與分層數據相關時給出分層的向量。僅當 wdist"m" 時使用。

...

Au 是函數時,每次調用其中之一時,任何附加參數都會原樣傳遞。

細節

使用鞍點的範圍使得端點處的 cdf 近似比 alpha 的極值所需的更極端。通過評估 t0[1]-2*t0[2]t0[1]-4*t0[2]t0[1]-8*t0[2] 等點處的鞍點來找到下端點,直到找到 cdf 近似小於 min(alpha)/10 的點,然後使用二分法找到端點其 cdf 近似值在範圍( min(alpha)/1000min(alpha)/10 )內。然後在下端點和 t0[1] 之間選擇許多等距的點,直到完成總共 npts/2 近似。以類似的方式將剩餘的npts/2點選擇在t0[1]的右側。任何非常接近分布中心的點都會被忽略,因為 cdf 近似在中心不可靠。然後將平滑樣條擬合到剩餘點處的鞍點分布函數近似的概率,並根據樣條預測所需的分位數。

有時該函數會終止並顯示消息 "Unable to find range" 。出現這種情況的主要原因有兩個。一是分布過於離散和/或所需的分位數過於極端,這可能導致函數無法在允許範圍內找到超出極端分位數的點。另一種可能性是 t0[2] 的值太小,因此需要太多步驟才能找到範圍。第一個問題隻能通過要求不太極端的分位數來解決,盡管對於非常離散的分布,近似值可能不是很好。在第二種情況下,使用較大的 t0[2] 值通常可以解決問題。

返回的值是類 "saddle.distn" 的對象。有關此類對象的說明,請參閱 saddle.distn.object 的幫助文件。

例子

#  The bootstrap distribution of the mean of the air-conditioning 
#  failure data: fails to find value on R (and probably on S too)
air.t0 <- c(mean(aircondit$hours), sqrt(var(aircondit$hours)/12))
## Not run: saddle.distn(A = aircondit$hours/12, t0 = air.t0)

# alternatively using the conditional poisson
saddle.distn(A = cbind(aircondit$hours/12, 1), u = 12, wdist = "p",
             type = "cond", t0 = air.t0)

# Distribution of the ratio of a sample of size 10 from the bigcity 
# data, taken from Example 9.16 of Davison and Hinkley (1997).
ratio <- function(d, w) sum(d$x *w)/sum(d$u * w)
city.v <- var.linear(empinf(data = city, statistic = ratio))
bigcity.t0 <- c(mean(bigcity$x)/mean(bigcity$u), sqrt(city.v))
Afn <- function(t, data) cbind(data$x - t*data$u, 1)
ufn <- function(t, data) c(0,10)
saddle.distn(A = Afn, u = ufn, wdist = "b", type = "cond",
             t0 = bigcity.t0, data = bigcity)

# From Example 9.16 of Davison and Hinkley (1997) again, we find the 
# conditional distribution of the ratio given the sum of city$u.
Afn <- function(t, data) cbind(data$x-t*data$u, data$u, 1)
ufn <- function(t, data) c(0, sum(data$u), 10)
city.t0 <- c(mean(city$x)/mean(city$u), sqrt(city.v))
saddle.distn(A = Afn, u = ufn, wdist = "p", type = "cond", t0 = city.t0, 
             data = city)

參考

Booth, J.G. and Butler, R.W. (1990) Randomization distributions and saddlepoint approximations in generalized linear models. Biometrika, 77, 787-796.

Canty, A.J. and Davison, A.C. (1997) Implementation of saddlepoint approximations to resampling distributions. Computing Science and Statistics; Proceedings of the 28th Symposium on the Interface 248-253.

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

Jensen, J.L. (1995) Saddlepoint Approximations. Oxford University Press.

也可以看看

lines.saddle.distn , saddle , saddle.distn.object , smooth.spline

相關用法


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