Я знаю, что чего-то не хватает в моем понимании логистической регрессии, и буду очень признателен за любую помощь.
Насколько я понимаю, логистическая регрессия предполагает, что вероятность результата «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 уже некоторое время; Достаточно знать, что, вероятно, я виноват .. что здесь происходит?