Почему я получаю «алгоритм не сходился» и «устанавливал prob численно 0 или 1» предупреждения с помощью glm?

Так что это очень простой вопрос, просто не могу понять.

Я запускаю логит, используя функцию glm, но продолжаю получать предупреждающие сообщения, относящиеся к независимой переменной. Они хранятся как факторы, и я изменил их на числовые, но не повезло. Я также закодировал их до 0/1, но это тоже не сработало.

Пожалуйста помоги!

> mod2 <- glm(winorlose1 ~ bid1, family="binomial") Warning messages: 1: glm.fit: algorithm did not converge 2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

Я также попробовал это в Zelig, но аналогичная ошибка:

 > mod2 = zelig(factor(winorlose1) ~ bid1, data=dat, model="logit") How to cite this model in Zelig: Kosuke Imai, Gary King, and Oliva Lau. 2008. "logit: Logistic Regression for Dichotomous Dependent Variables" in Kosuke Imai, Gary King, and Olivia Lau, "Zelig: Everyone's Statistical Software," http://gking.harvard.edu/zelig Warning messages: 1: glm.fit: algorithm did not converge 2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

РЕДАКТИРОВАТЬ:

 > str(dat) 'data.frame': 3493 obs. of 3 variables: $ winorlose1: int 2 2 2 2 2 2 2 2 2 2 ... $ bid1 : int 700 300 700 300 500 300 300 700 300 300 ... $ home : int 1 0 1 0 0 0 0 1 0 0 ... - attr(*, "na.action")=Class 'omit' Named int [1:63021] 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 ... .. ..- attr(*, "names")= chr [1:63021] "3494" "3495" "3496" "3497" ... 

Если вы посмотрите на ?glm (или даже выполните поиск Google для своего второго предупреждающего сообщения), вы можете наткнуться на это из документации:

Для фона для предупреждающих сообщений о «установленных вероятностях численно 0 или 1 произошло» для биномиальных GLM, см. Venables & Ripley (2002, с. 197-8).

Теперь не у всех есть эта книга. Но, предполагая, что для меня это кошерно, вот соответствующий отрывок:

Существует одно довольно распространенное обстоятельство, в котором могут возникать как проблемы сходимости, так и явление Хаука-Доннера. Это когда установленные вероятности очень близки к нулю или одному. Рассмотрите проблему медицинского диагноза с тысячами случаев и около 50 двоичной пояснительной переменной (которая может возникнуть из-за кодирования меньших категориальных переменных); один из этих показателей редко соответствует истине, но всегда указывает, что болезнь присутствует. Тогда установленная вероятность случаев с этим индикатором должна быть одной, что может быть достигнуто только с помощью β i = ∞. Результатом glm будут предупреждения и оценочный коэффициент около +/- 10. В статистической литературе довольно широко обсуждалось это, как правило, утверждающее, что не существует оценок максимального правдоподобия; см. Sautner and Duffy (1989, стр. 234).

Один из авторов этой книги более подробно прокомментировал ситуацию здесь . Итак, урок здесь – внимательно посмотреть на один из уровней вашего предиктора. (И Google предупреждение!)

  • Линейный цикл регрессии для каждой независимой переменной отдельно от зависимой
  • Как определить стандартное отклонение (stddev) набора значений?
  • Есть ли встроенная функция для поиска режима?
  • N-ая комбинация
  • Как затенять область под кривой, используя ggplot2
  • Давайте будем гением компьютера.