当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。