Страницы справки для
predict.glm
состояние: «Таким образом, для биномиальной модели по умолчанию предсказания по умолчанию имеют лог-шансы (вероятности в логит-масштабе), а« type = "response» «дает предсказанные вероятности». Итак, predict(mdl)
возвращает лог (шансы), а использование «type =» response »возвращает предсказанные вероятности. Вы можете найти этот игрушечный пример поучительным:
> y <- c(0,0,0,1,1,1,1,1,1,1)
> prop.table(table(y))
y
0 1
0.3 0.7
> glm.y <- glm(y~1, family = "binomial")
> ## predicted log(odds)
> predict(glm.y)
1 2 3 4 5 6 7 8
0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 0.8472979
9 10
0.8472979 0.8472979
> ## predicted probabilities (p = odds/(1+odds))
> exp(predict(glm.y))/(1+exp(predict(glm.y)))
1 2 3 4 5 6 7 8 9 10
0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7
> predict(glm.y, type = "response")
1 2 3 4 5 6 7 8 9 10
0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7
Что касается вашего второго вопроса, вы можете проверить пакет эффектов http://socserv.socsci.mcmaster.ca/jfox/Misc/effects/index.html от Джона Фокса; см. также его статью JSS «Отображение эффектов в R для обобщенных линейных моделей» (стр. 8-10).