je cherche à étudier l'adéquation des modèles de régression logistique conditionnelle suivants :
modele1<-clogit(cas~ast+ptb+pest+strata(id),cc)
modele2<-clogit(cas~ecz+ptb+pest+strata(id),cc)
modele3<-clogit(cas~rhin+ptb+pest+strata(id),cc)
Puis pour faire mon Hosmer-Lemeshow j'ai créé la fonction
hosmerlem = function(y, yhat, g=10) {
cutyhat = cut(yhat,
breaks = quantile(yhat, probs=seq(0,
1, 1/g)), include.lowest=TRUE)
obs = xtabs(cbind(1 - y, y) ~ cutyhat)
expect = xtabs(cbind(1 - yhat, yhat) ~ cutyhat)
chisq = sum((obs - expect)^2/expect)
P = 1 - pchisq(chisq, g - 2)
return(list(chisq=chisq,p.value=P))
}
Comme ni fitted.values ni fitted n'existent pour clogit, j'appelle la fonction en faisant
sansna<-na.omit(cc)
hosmerlem(sans$cas,predict(modele1)
Et à chaque fois j'ai une p-value à 1 :
$chisq
[1] -279.1566
$p.value
[1] 1
$table_Obs_Pred
0 1 0 1
[-1.72,-0.618] 52 6 107.549208 -49.549208
(-0.618,-0.427] 42 16 87.616971 -29.616971
(-0.427,-0.282] 45 12 76.879292 -19.879292
(-0.282,-0.122] 46 12 68.895700 -10.895700
(-0.122,0.00484] 38 20 60.845750 -2.845750
(0.00484,0.147] 41 16 52.864398 4.135602
(0.147,0.24] 40 18 46.865963 11.134037
(0.24,0.411] 34 23 38.426574 18.573426
(0.411,0.611] 33 25 28.301339 29.698661
(0.611,1.58] 17 41 8.754806 49.245194
Où est le problème...?
Merci d'avance