gpt4 book ai didi

r - 如何拟合 Skellam 回归?

转载 作者:行者123 更新时间:2023-12-04 03:58:01 26 4
gpt4 key购买 nike

是否有一种简单的方法可以在 R 中拟合多元回归,其中因变量根据 Skellam distribution 分布? (两个泊松分布计数之间的差异)?比如:

myskellam <- glm(A ~ B + C + D, data = mydata, family = "skellam")

这应该适应固定效果。但理想情况下,我更喜欢随机效应,因为我知道固定效应可能会引入测量偏差。因此我想理想的解决方案应该是使用 lme4glmmADMB 包。

或者,有没有办法转换数据以应用更常用的回归工具?

最佳答案

不完整的答案,但似乎不仅仅是评论。

混合效果似乎很难;你可以用 AD Model BuilderTemplate Model Builder ,两者都具有用于拉普拉斯近似的内置设施。对于固定效果,您可以使用类似

library("skellam")
library("bbmle")

dskellam(x, lambda1, lambda2) 重新参数化为本质上是位置的形式(几何平均 lambda=gmlambda=sqrt(lambda1*lambda2)) 和形状 (lambdas 中的差异:ldiff=sqrt(lambda1/lambda2) (所以 lambda1=gmlambda*ldiff, lambda2=gmlambda/ldiff )。

 dskellam2 <- function(x, gmlambda, ldiff, log=FALSE) {
dskellam(x,gmlambda*ldiff,gmlambda/ldiff,log=log)
}

那么这样的事情应该可以工作:

 mle2(A~dskellam2(gmlambda=exp(logmu),ldiff=exp(logs), data=mydata,
parameters=list(logmu~B+C+D),
start=list(logmu=0,logs=0)))

...但它可能需要一些大惊小怪才能让它发挥作用。

关于r - 如何拟合 Skellam 回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com