safeBinaryRegression:无法找到导致分离的正确术语

时间:2017-05-21 17:25:04

标签: r logistic-regression glm

根据safeBinaryRegression的文档,该软件包将屏蔽 glm 函数,并在发生准分离或完全分离时发出错误消息。通过指定separation = "find",它将列出导致问题的预测变量。

但是,当我使用此包并对我的数据使用glm时,它无法正确找到实际上是准分离结果变量的唯一预测变量的术语。

例如:

y <- c(1, 0, 1, 1, 1, 1, 1, 1, 0, 0)
x2  <-  c(3, 2, 3, 1, 3, 1, 2, 2, 3, 3)
x1 <- c(0, 0, 0, 1, 1, 1, 0, 0, 0, 2)
x0 <- c(1, 0, 1, 0, 1, 0, 0, 0, 0, 0) # This causes separation

test.data <- cbind(y,x0,x1,x2)
test.data <- as.data.frame(test.data)

library(safeBinaryRegression)
glm(y ~ x0 + x1 + x2, data = test.data,  family=binomial, separation="find")
# Error in ... The following terms are causing separation among the sample points: (Intercept), x0, x1, x2
glm(y ~ x0, data = test.data,  family=binomial,  separation="find")
# Error in ... The following terms are causing separation among the sample points: (Intercept), x0
glm(y ~ x1, data = test.data,  family=binomial,  separation="find")
# No error message
glm(y ~ x2, data = test.data,  family=binomial,  separation="find")
# No error message

我不明白为什么所有预测变量都列在错误消息中,而只有一个预测变量导致分离。我误解了什么吗?

(在R 3.4.0下使用safeBinaryRegression 0.1-3运行)

0 个答案:

没有答案