- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是近似二项式变量总和的分布。我使用以下纸张The Distribution of a Sum of Binomial Random Variables作者:肯·巴特勒和迈克尔·斯蒂芬斯。
我想编写一个 R 脚本来查找二项式总和的 PIL 逊近似值。有一个 R 包 PearsonDS这允许以简单的方式做到这一点。
因此,我采用论文中的第一个示例,并尝试找到此情况下 PIL 逊分布的密度。最后我收到一条错误消息“这些时刻没有概率分布”。
您能解释一下下面的代码有什么问题吗?
library(PearsonDS)
# 定义五个二项式随机变量的参数
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)
我收到错误消息“这些时刻没有概率分布”。
最佳答案
您尝试在时刻插入的峰度实际上是过度峰度,即峰度 - 3
。来自 dpearson()
的帮助页面:
moments:
optional vector/list of mean, variance, skewness, kurtosis (not excess kurtosis).
因此,将 3 添加到 beta.2
将为您提供真正的峰度:
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
该函数抛出错误,因为峰度和偏度之间的关系无效:峰度由偏度确定下限,如下所示:峰度 >= (偏度)^2 - 1
。证明并不漂亮,而且肯定超出了问题的范围,但如果您喜欢这种不等式的不同版本,您可以查看下面的引用资料。
关于r - 近似 R 中二项式随机变量之和的分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15926448/
使用 glm 时,binomial、binomial() 和 'binomial' 之间有什么区别。它们并不相同,如以下代码所示: > library(MASS) > bwdf = birthwt[-
我一直在用我的(非 r-savvy)大脑来让 R 产生二项式 glmer 模型的正确预测的百分比。我知道这不是统计上的 super 信息,但经常被报道;所以我也想举报。 数据: 因变量:Tipo,它有
我一直在寻找一种方法来使数据符合 beta 二项分布并估计 alpha 和 beta,类似于 VGAM 库中的 vglm 包的方式。我一直无法找到如何在 python 中执行此操作。有一个 scipy
如何在 Julia 中提取一般线性模型中指定的数据分布?例如,下面我安装了一个玩具示例 Poisson GLM。我想从模型中提取一个字符串“Poisson”。同样,如果使用数据分布指定模型 = Bin
我是一名优秀的程序员,十分优秀!