Estoy utilizando una regresión binomial con un factor categórico con 9 niveles (denominado "grupo de tratamiento") y tamaños de muestra en cada grupo de 1-8. Un grupo de tratamiento tiene todos los casos positivos (es decir, 1) - y esto crea un problema de estimación con la función "estándar" glm() en R causado por la "separación perfecta" para ese nivel de tratamiento. Por lo tanto, estoy utilizando bayesglm del paquete arm.
Mi pregunta es que el enlace de identidad por defecto es "lógico" pero he leído que "cloglog" o (Log-Log complementario) se utiliza frecuentemente cuando la probabilidad de un evento es muy pequeña o muy grande. Por lo tanto, dado que mi modelo muestra una separación perfecta en un grupo de tratamiento, la probabilidad del evento es muy grande y debería utilizar "cloglog". El uso de cloglog me da un resultado significativo para el grupo de tratamiento con separación perfecta, mientras que "logit" no lo hace.
¿Estoy justificado en el uso de "cloglog" o hay una manera de ver mis resultados y estar seguro de qué enlace es mejor?
f1<- bayesglm(response~ treat.group,family=binomial(link="logit"), data=df)
f2 <- bayesglm(response~ treat.group,family=binomial(link="cloglog"), data=df)
(Cuadro de datos más abajo)
{ structure(list(response = c(0L, 1L, 1L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L), treat.group = c("pctc", "phth", "phth", "phtl", "pltc", "pcth", "pltl", "phtc", "pctl", "phtc", "pcth", "pctl", "pctc", "phtl", "plth", "pltc", "phtc", "pcth", "phtl", "plth", "pctl", "pltc", "phtl", "pctc", "pcth", "pltc", "phtc", "phtl", "phtc", "pctl", "pctc", "pcth", "phth", "pctc", "phtl", "pcth", "phth", "phtc", "pcth", "phth")), .Names = c("response", "treat.group"), row.names = c(NA, -40L), class = c("tbl_df", "tbl", "data.frame"), na.action = structure(c(1L, 4L, 5L, 7L, 15L, 21L, 23L, 24L, 27L, 29L, 33L, 37L, 39L, 48L, 50L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L, 62L, 63L, 65L, 66L, 67L, 68L, 70L, 71L, 72L, 73L), .Names = c("1", "4", "5", "7", "15", "21", "23", "24", "27", "29", "33", "37", "39", "48", "50", "53", "54", "55", "56", "57", "58", "59", "60", "62", "63", "65", "66", "67", "68", "70", "71", "72", "73"), class = "omit")) }