按年份进行的Poisson回归总数的预测间隔

问题描述

我正在使用调查设计进行研究,以预测2017年至2030年数据集中每年的程序总数。我目前正在使用Poisson回归来创建这些预测性估计。

05:50:53
06:58:38
07:30:42

我能够成功使用以下数据来生成我们拥有数据的年份(2017年之前)的估计值和准确的置信区间:

svydesign( data = four,strata = ~NIS_STRATUMnew,ids = ~NISIDnew,weights = ~DISCWTnew,nest = T )

但是,当我尝试为估计值计算预测间隔时遇到问题(我的预测间隔太窄了),无论是尝试直接使用数据进行预测(1)还是使用svyby (2)做出预测的结果:

(1)

kneetotal1<- svyby(~kneePJI,~YEAR,design = mydesign,FUN = svytotal,vartype = "ci")

(这似乎会给每个人带来一个过程的可能性。我不确定如何得出此过程的年度累积总和以及置信区间)

(2)

AdjPoissonKnee <- svyglm(kneePJI ~ YEAR,family = poisson(),design = mydesign)
years <- data.frame(YEAR = 2018:2030)
predictHip <- predict(AdjPoissonHip,newdata = data.frame(YEAR = 2018:2030),type = "response",se.fit =TRUE,interval = "predict") 

数据集非常大,因此可能导致预测间隔非常窄的问题。如果有办法,我可以添加一些数据片段来帮助我。

示例输出(2)结合2002-2017年的svyby:

enter image description here

futureyears <- data.table(YEAR = 2018:2030)
AdjPoissonKnee <- glm(kneePJI ~ YEAR,data=kneetotal1)
kneepredict <- predict(object = AdjPoissonKnee,newdata=futureyears,type = "response")

解决方法

一个问题是predict.svyglm没有具有选项(您不会得到错误,因为R中的方法需要接受和忽略参数)他们不理解,因此继承有效)

但是,不会有太大的改变。平均值为20000的Poisson变量的标准偏差为$ \ sqrt {20000} $,或约为141,并且向区间半角加上$ 1.96 \乘以141 $不会产生很大的差异。

关于Poisson分布,您的数据很可能过度分散:如果您进行interval="predict"(对于summary(AdjPoissonKnee)),则输出的一部分是估计的分散参数,我猜测将大于1,这意味着预测分布不应为泊松。

这是为什么 svyglm当前不执行预测间隔的一部分。考虑泊松分布。它是离散的。预测间隔应该是什么?

可以创建一个预测间隔,该间隔估计色散参数,然后通过具有正确方差的正态分布来近似预测分布。彼得·埃利斯(Peter Ellis)为普通的glms讨论了这种方法here,他的代码也可以进行修改:您会这样做(未经测试,因为我没有您的数据)

predict.svyglm

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...