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


R Chisquare (非中心)卡方分布


R语言 Chisquare 位于 stats 包(package)。

说明

具有 df 自由度和可选非中心参数 ncp 的卡方 ( ) 分布的密度、分布函数、分位数函数和随机生成。

用法

dchisq(x, df, ncp = 0, log = FALSE)
pchisq(q, df, ncp = 0, lower.tail = TRUE, log.p = FALSE)
qchisq(p, df, ncp = 0, lower.tail = TRUE, log.p = FALSE)
rchisq(n, df, ncp = 0)

参数

x, q

分位数向量。

p

概率向量。

n

观察次数。如果是 length(n) > 1 ,则长度被视为所需的数量。

df

自由度(非负,但可以是非整数)。

ncp

非中心参数(非负)。

log, log.p

逻辑性;如果为 TRUE,则概率 p 以 log(p) 形式给出。

lower.tail

逻辑性;如果为 TRUE(默认值),则概率为 ,否则为

细节

具有 df 自由度的卡方分布具有密度

为了 ,其中 ,零质量点,不是一个本身的密度函数,而是一个“ 分配”。
均值和方差为 .

具有 df 自由度和非中心参数 ncp 的非中心卡方分布具有密度

为了 。对于整数 ,这是平方和的分布 每个正态分布的方差为一, 是正常平均值的平方和;更远,
, , 和 .

请注意,自由度 df 可以是非整数,也可以是与非中心性 相关的 ,请参阅 Johnson 等人(1995 年,第 29 章)。在这种(非中心,零 df)情况下,分布是 处的点质量(大小为 pchisq(0, df=0, ncp=ncp) )和连续部分的混合,并且 dchisq() 不是相对于该混合测量的密度,而是而是 的密度限制。

请注意,大于约 1e5(甚至更小)的 ncp 值可能会给出不准确的结果,并针对 pchisqqchisq 发出许多警告。

dchisq 给出密度,pchisq 给出分布函数,qchisq 给出分位数函数,rchisq 生成随机偏差。

无效参数将导致返回值 NaN ,并带有警告。

结果的长度由 rchisqn 确定,并且是其他函数的数值参数长度的最大值。

n 之外的数字参数将被回收到结果的长度。仅使用逻辑参数的第一个元素。

注意

提供 ncp = 0 使用非中心分布的算法,这与省略 ncp 时使用的算法不同。这是为了在 ncp 值非常接近零的极端情况下提供一致的行为。

非零 ncp 的代码主要用于 ncp 的中等值:对于大值,它不会非常准确,尤其是在尾部。

例子

require(graphics)

dchisq(1, df = 1:3)
pchisq(1, df =  3)
pchisq(1, df =  3, ncp = 0:4)  # includes the above

x <- 1:10
## Chi-squared(df = 2) is a special exponential distribution
all.equal(dchisq(x, df = 2), dexp(x, 1/2))
all.equal(pchisq(x, df = 2), pexp(x, 1/2))

## non-central RNG -- df = 0 with ncp > 0:  Z0 has point mass at 0!
Z0 <- rchisq(100, df = 0, ncp = 2.)
graphics::stem(Z0)

## visual testing
## do P-P plots for 1000 points at various degrees of freedom
L <- 1.2; n <- 1000; pp <- ppoints(n)
op <- par(mfrow = c(3,3), mar = c(3,3,1,1)+.1, mgp = c(1.5,.6,0),
          oma = c(0,0,3,0))
for(df in 2^(4*rnorm(9))) {
  plot(pp, sort(pchisq(rr <- rchisq(n, df = df, ncp = L), df = df, ncp = L)),
       ylab = "pchisq(rchisq(.),.)", pch = ".")
  mtext(paste("df = ", formatC(df, digits = 4)), line =  -2, adj = 0.05)
  abline(0, 1, col = 2)
}
mtext(expression("P-P plots : Noncentral  "*
                 chi^2 *"(n=1000, df=X, ncp= 1.2)"),
      cex = 1.5, font = 2, outer = TRUE)
par(op)

## "analytical" test
lam <- seq(0, 100, by = .25)
p00 <- pchisq(0,      df = 0, ncp = lam)
p.0 <- pchisq(1e-300, df = 0, ncp = lam)
stopifnot(all.equal(p00, exp(-lam/2)),
          all.equal(p.0, exp(-lam/2)))

来源

中心情况是通过伽玛分布计算的。

非中心 dchisqrchisq 被计算为中心 chi-squares 的泊松混合(Johnson 等人,1995 年,第 436 页)。

非中心 pchisq 用于根据中心 chi-squares 的泊松混合计算得出的 ncp < 80,对于较大的 ncp,则通过 C 翻译

Ding, C. G. (1992) 算法 AS275:计算非中心卡方分布函数。应用统计学家,41 478-482。

它仅计算下尾部(因此上尾部会受到取消的影响,并且当这可能很重要时会发出警告)。

非中心 qchisq 基于 pchisq 的反转。

参考

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

Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions, chapters 18 (volume 1) and 29 (volume 2). Wiley, New York.

也可以看看

Distributions 适用于其他标准发行版。

具有 自由度的中心卡方分布与具有 shape scale 的伽玛分布相同。因此,请参阅 dgamma 了解 Gamma 分布。

d.f. 为 2 的中心卡方分布与比率为 1/2 的指数分布相同: ,请参阅dexp

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The (non-central) Chi-Squared Distribution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。