我正在处理月经周期数据,我想调查是否携带感染预测月经前症状的发生。另外,我没有先验的理由认为月经前期持续3,4或5天(或更少或更多)。因此,我想比较模型与变量的不同版本" 阶段"研究一个想要预测月经前症状作为感染线索的月经前期最长相关长度。
但是,对于我所拥有的数据和问题,我必须使用不计算AIC的glmmPQL,因此我不能使用MuMin和其他类似的包(我也不能获得qAIC)。目前我已经使用ROC包和性能函数来比较模型,但我不确定它是一种合理的方法。下面我详细介绍了我的数据集和模型。我花了很多时间在网上试图找到一种方法来比较glmmPQL模型与二项式响应和时间自相关结构,但在我的情况下都没有用(例如比较gls模型,因为我的响应是二项式,比较lmer模型因为我的数据是自相关的)。非常感谢任何帮助,谢谢!
数据集:每一行描述一天,女性内重复几天。在此示例中,数据仅通知1个月经周期。响应变量是二进制(0,1),固定变量和#34; inf" (感染:是/否)和"阶段" (阶段:月经前/其他)。因为数据在时间上是自相关的(每天的症状与前一天在女性中发生的症状相关),我使用glmmPQL来包括时间自相关结构和随机效应ID。这给出了下面的模型(长度:周期长度;周期:周期中的一天)
# model #
library(MASS)
library(nlme)
modc.PQL<-glmmPQL(cramps~inf*phase+log(age)+log(clength), random=~1|id, correlation=corCAR1(form=~dcycle|id), family=binomial, data=data2)
# inspecting model fit #
require(ROCR)
pr <- predict(modc.PQL)
pred <- prediction(as.vector(pr), data2$cramps)
auc.perf = performance(pred, measure = "auc")
auc.perf@y.values
现在我想将模型与不同版本的变量Phase进行比较(第4期 - >月经前4天;第5期 - >月经前5天等......)
# candidate set #
modc.PQL4<-glmmPQL(cramps~inf*phase4+log(age)+log(clength), random=~1|id, correlation=corCAR1(form=~dcycle|id), family=binomial, data=data2)
modc.PQL5<-glmmPQL(cramps~inf*phase5+log(age)+log(clength), random=~1|id, correlation=corCAR1(form=~dcycle|id), family=binomial, data=data2)
modc.PQL6<-glmmPQL(cramps~inf*phase6+log(age)+log(clength), random=~1|id, correlation=corCAR1(form=~dcycle|id), family=binomial, data=data2)
modc.PQL7<-glmmPQL(cramps~inf*phase7+log(age)+log(clength), random=~1|id, correlation=corCAR1(form=~dcycle|id), family=binomial, data=data2)
# inspecting model fit model by model #
require(ROCR)
pr <- predict(modc.PQL3)
pred <- prediction(as.vector(pr), data2$cramps)
auc.perf = performance(pred, measure = "auc")
auc.perf@y.values
pr <- predict(modc.PQL4)
pred <- prediction(as.vector(pr), data2$cramps)
auc.perf = performance(pred, measure = "auc")
auc.perf@y.values
等...
这感觉不对,因为我没有设定标准来决定两个模型的准确性何时不同(如使用AIC时的2点规则)。因此,即使一个模型具有更好的准确度值,所有模型也可能大致相同。
最后,如果有人知道如何在glmmPQL上运行半标准图,请告诉我!
非常感谢
亚历