近似R中二项式随机变量之和的分布

时间:2013-04-10 12:54:37

标签: r statistics pearson

我的目标是近似二项式变量之和的分布。 我使用Ken Butler和Michael Stephens的以下论文The Distribution of a Sum of Binomial Random Variables

我想编写一个R脚本来查找Pearson近似二项式之和。 有一个R-package PearsonDS允许以简单的方式执行此操作。

所以我从论文中拿出第一个例子,试图找到这种情况下Pearson分布的密度。 最后,我收到一条错误消息“这些时刻没有概率分布”。

您可以在下面的代码中解释一下我的错误吗?

library(PearsonDS)

#define五个二项式随机变量的参数

n<-rep(5,5)
p<-seq(0.02,0.10,0.02)

#找到前四个累积量

k.1<-sum(n*p)
k.2<-sum(n*p*(1-p))
k.3<-sum(n*p*(1-p)*(1-2*p))
k.4<-sum(n*p*(1-p)*(1-6*p*(1-p)))

#找到偏度和峰度参数

beta.1<-k.3^2/k.2^3
beta.2<-k.4/k.2^2

#定义时刻并计算

moments <- c(mean=k.1,variance=k.2,skewness=sqrt(beta.1),kurtosis=beta.2)
dpearson(1:7,moments=moments)

我收到错误消息“这些时刻没有概率分布”。

1 个答案:

答案 0 :(得分:2)

你试图在你的时刻插入峰度,实际上是多余的峰度,它只是kurtosis - 3。来自dpearson()的帮助页面:

  

时刻:
  可选矢量/均值,方差,偏度,峰度(不是过度峰度)列表。

因此,向beta.2添加3将为您提供真正的峰度:

beta.1 <- (k.3^2)/(k.2^3)
beta.2 <- k.4/(k.2^2)
kurt <- beta.2 + 3

moments <- c(mean = k.1, variance = k.2, skewness = beta.1, kurtosis = kurt)
dpearson(1:7, moments=moments)
# [1] 0.3438773545 0.2788412385 0.1295129534 0.0411140817 0.0099279576
# [6] 0.0019551512 0.0003294087

为了得到与论文中的结果类似的结果,我们应该研究累积分布函数并加上0.5以校正由连续分布近似离散分布引起的偏差:

ppearson(1:7+0.5, moments = moments)
# [1] 0.5348017 0.8104394 0.9430092 0.9865434 0.9973715 0.9995578 0.9999339

一些背景信息:

该函数引发了一个错误,因为峰度和偏度之间的关系并非无效:峰度以下列方式受到偏度的限制:kurtosis >= (skewness)^2 - 1。证明不够漂亮,肯定超出了问题的范围,但如果你喜欢这种不等式的不同版本,你可以查看下面的参考文献。

  1. Wilkins,J。Ernest 。关于偏度和峰度的一个注记。安。数学。中央集权。 15(1944),没有。 3,333--335。 http://projecteuclid.org/euclid.aoms/1177731243
  2. ķ。皮尔逊即可。对进化论的数学贡献,XIX;关于偏斜变化的回忆录的第二补充。 PHILOS。跨。罗伊。 SOC。伦敦系列A,216(1916),p。 432 http://rsta.royalsocietypublishing.org/content/216/538-548/429
  3. Pearson,K。(1929)。 “编辑说明'频率函数和各种统计常数的不等式'”。 Biometrika。 21(1-4):361-375。 link