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


R Beta 貝塔分布


R語言 Beta 位於 stats 包(package)。

說明

使用參數 shape1shape2 (以及可選的非中心參數 ncp )的 Beta 分布的密度、分布函數、分位數函數和隨機生成。

用法

dbeta(x, shape1, shape2, ncp = 0, log = FALSE)
pbeta(q, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE)
qbeta(p, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE)
rbeta(n, shape1, shape2, ncp = 0)

參數

x , q

分位數向量。

p

概率向量。

n

觀察次數。如果是 length(n) > 1 ,則長度被視為所需的數量。

shape1 , shape2

Beta 分布的非負參數。

ncp

非中心參數。

log , log.p

邏輯性;如果為 TRUE,則概率 p 以 log(p) 形式給出。

lower.tail

邏輯性;如果為 TRUE(默認值),則概率為 ,否則為

細節

參數為 shape1 shape2 的 Beta 分布具有密度

為了 , 其中邊界值在 或者 被定義為連續性(作為極限)。
平均值是 方差是 .如果 ,(或其中之一 ),眾數為 。這些和所有其他分布屬性可以定義為極限(導致點質量為 0、1/2 或 1) 或者 為零或無窮大,相應的[dpqr]beta()相應地定義了函數。

pbeta與不完整的beta函數密切相關。正如 Abramowitz 和 Stegun 6.6.1 所定義的

和 6.6.2 ,其中 是 Beta 函數 (beta)。

pbeta(x, a, b)

非中心 Beta 分布(帶有 ncp )被定義(Johnson 等人,1995 年,第 502 頁)為 的分布,其中 。其中, 是具有 自由度和非中心參數 的非中心卡方分布,請參閱 Chisquare

dbeta 給出密度,pbeta 分布函數,qbeta 分位數函數,rbeta 生成隨機偏差。

無效參數將導致返回值 NaN ,並帶有警告。

結果的長度由 rbetan 確定,並且是其他函數的數值參數長度的最大值。

n 之外的數字參數將被回收到結果的長度。僅使用邏輯參數的第一個元素。

注意

提供ncp = 0使用非中心分布的算法,這與省略ncp時的算法不同。這是為了在 ncp 值非常接近零的極端情況下提供一致的行為。

例子

x <- seq(0, 1, length.out = 21)
dbeta(x, 1, 1)
pbeta(x, 1, 1)

## Visualization, including limit cases:
pl.beta <- function(a,b, asp = if(isLim) 1, ylim = if(isLim) c(0,1.1)) {
  if(isLim <- a == 0 || b == 0 || a == Inf || b == Inf) {
    eps <- 1e-10
    x <- c(0, eps, (1:7)/16, 1/2+c(-eps,0,eps), (9:15)/16, 1-eps, 1)
  } else {
    x <- seq(0, 1, length.out = 1025)
  }
  fx <- cbind(dbeta(x, a,b), pbeta(x, a,b), qbeta(x, a,b))
  f <- fx; f[fx == Inf] <- 1e100
  matplot(x, f, ylab="", type="l", ylim=ylim, asp=asp,
          main = sprintf("[dpq]beta(x, a=%g, b=%g)", a,b))
  abline(0,1,     col="gray", lty=3)
  abline(h = 0:1, col="gray", lty=3)
  legend("top", paste0(c("d","p","q"), "beta(x, a,b)"),
         col=1:3, lty=1:3, bty = "n")
  invisible(cbind(x, fx))
}
pl.beta(3,1)

pl.beta(2, 4)
pl.beta(3, 7)
pl.beta(3, 7, asp=1)

pl.beta(0, 0)   ## point masses at  {0, 1}

pl.beta(0, 2)   ## point mass at 0 ; the same as
pl.beta(1, Inf)

pl.beta(Inf, 2) ## point mass at 1 ; the same as
pl.beta(3, 0)

pl.beta(Inf, Inf)# point mass at 1/2

來源

  • 中心 dbeta 基於二項式概率,如果任一形狀參數大於 1,則使用 Catherine Loader 貢獻的代碼(請參閱 dbinom ),否則直接來自定義。非中心情況基於 beta 的泊鬆混合的推導(Johnson 等人,1995,第 502-3 頁)。

  • 默認值 ( log_p = FALSE ) 的中央 pbeta 使用基於 C 的翻譯

    Didonato, A. 和 Morris, A., Jr, (1992) 算法 708:不完全 beta 函數比率的有效數字計算,ACM 數學軟件匯刊,18, 360-373,號碼:10.1145/131766.131776。 (也可以看看
    Brown, B. 和 Lawrence Levy, L. (1994) 算法 708 的認證:不完整 beta 的有效數字計算,ACM 數學軟件匯刊,20, 393-397,號碼:10.1145/192115.192155.)
    我們稍微調整了原始的“TOMS 708”算法,並增強了log.p = TRUE。對於 (log-scale) 情況,下溢到-Inf(IE。, ) 或者0, (IE。, )仍然會發生,因為原始算法的設計沒有考慮log-scale。下溢至-Inf現在通常發出信號warning.

  • 非中心 pbeta 使用 C 翻譯

    Lenth, R. V. (1987) 算法 AS 226:計算非中心 beta 概率。應用。國家主義者,36,241-244,納入
    Frick, H. (1990) 的 AS R84,應用。國家主義者,39、311-2 和
    林 M.L. (1995) 的 AS R95,應用。國家主義者,44,551-2。

    這僅計算下尾部,因此上尾部會受到取消的影響,並且當這可能很重要時會發出警告。

  • qbeta 的中心案例基於以下內容的 C 翻譯

    克蘭 (G. W.)、K. J. 馬丁 (K. J. Martin) 和 G. E. 托馬斯 (G. E. Thomas) (1977)。備注 AS R19 和算法 AS 109、應用統計、26、111-114 以及後續備注(AS83 和更正)。

    R Core 的增強函數,特別是起始值和切換到 log-scale 牛頓搜索。

  • rbeta 的中心案例基於以下內容的 C 翻譯

    鄭瑞昌 (1978)。生成 beta 隨非整數形狀參數變化。 ACM 通訊,21, 317-322。

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Abramowitz, M. and Stegun, I. A. (1972) Handbook of Mathematical Functions. New York: Dover. Chapter 6: Gamma and Related Functions.

Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions, volume 2, especially chapter 25. Wiley, New York.

也可以看看

Distributions 適用於其他標準發行版。

beta 用於 Beta 函數。

相關用法


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