我知道我对逻辑回归的理解中缺少一些东西,非常感谢您的帮助。
据我所知,逻辑回归假设给定输入的结果为“ 1”的概率是通过逆逻辑函数传递的输入的线性组合。以下R代码对此进行了举例说明:
#create data:
x1 = rnorm(1000) # some continuous variables
x2 = rnorm(1000)
z = 1 + 2*x1 + 3*x2 # linear combination with a bias
pr = 1/(1+exp(-z)) # pass through an inv-logit function
y = pr > 0.5 # take as '1' if probability > 0.5
#now feed it to glm:
df = data.frame(y=y,x1=x1,x2=x2)
glm =glm( y~x1+x2,data=df,family="binomial")
我收到以下错误消息:
警告消息:1:glm.fit:算法未收敛2:glm.fit:发生数值为0或1的拟合概率
我已经和R合作了一段时间。足以知道我可能是应该责怪的..这是怎么回事?
2
模拟数据的方式对我来说很奇怪。:如果你想,一个替代更标准的方式,你可以看看这里stats.stackexchange.com/questions/12857/...
—
ocram
@ocram:你是对的;这是一个重复的问题!
—
user603 2012年
正如@StéphaneLaurent所解释的,我确实进行了错误的模拟。但是,问题是逻辑回归中的完美分离,这是我不熟悉的问题,对此我感到非常惊讶。
—
zorbar
@zorbar:是我对您的问题的答复(现已删除)。
—
user603 2012年
@ user603:我可能错过了您的回复;无论如何
—
zorbar