我是R的新手,我正在尝试所有可能的模型组合 使用广义线性模型和逻辑回归与概率链接。但是,当我运行代码时,没有一个模型似乎是足够的 我知道,如果其中一个模型足够,那么它就是最好的模型。 这是我的代码,它有什么问题吗?
install.packages("glm2")
library(glm2)
data("heart")
attach(heart)
head(heart)
nondeath<-c(Patients - Deaths)
nondeath
logreg4<-glm(cbind(Deaths,nondeath)~AgeGroup+Severity+Delay+Region,family=binomial(link = probit))
summary(logreg4)
1-pchisq(109.02,69)##model is not adequate 0.001524977
logreg6<-glm(cbind(Deaths,nondeath)~AgeGroup*Severity+Delay+Region,family=binomial(link = probit))
summary(logreg6)
1-pchisq(88.607,68)#0.04740388
logreg7<-glm(cbind(Deaths,nondeath)~AgeGroup*Severity*Delay+Region,family=binomial(link = probit))
summary(logreg7)
1-pchisq(85.906,65)#0.04232451
logreg8<-glm(cbind(Deaths,nondeath)~AgeGroup*Severity*Delay*Region,family=binomial(link = probit))
summary(logreg8)###model is not adequate 0.04740388
logreg5<-glm(cbind(Deaths,nondeath)~AgeGroup*Severity+Delay+Region,family=quasibinomial(link = probit))
summary(logreg5)
1-pchisq(79.485,58)##model is not adequate 0.04740388
logreg9<-glm(cbind(Deaths,nondeath)~AgeGroup*Severity*Delay+Region,family=quasibinomial(link = probit))
summary(logreg9)#0.04232451
logreg0<-glm(cbind(Deaths,nondeath)~AgeGroup*Severity*Delay*Region,family=quasibinomial(link = probit))
summary(logreg0)##model is not adequate 0.04740388
答案 0 :(得分:0)
您在glm2中使用的数据集用于演示glm收敛中的问题,但您不能使用glm2而是glm。 您需要先将变量转换为因子,这里有数字,所以请使用
logreg4<-
glm(cbind(Deaths,nondeath)~factor(AgeGroup)+factor(Severity)+factor(Delay)+factor(Region),family=binomial(link
= probit))
在查看残差时,有一些问题,因此使用数据集的日志链接可能会更好。检查? glm2举个例子。 您可以选择AIC最低的模型。