Я пытаюсь запустить байесовский логит на данных здесь . Я использую bayesglm()
в arm
пакете в R. Кодирование достаточно просто:
df = read.csv("http://dl.dropbox.com/u/1791181/bayesglm.csv", header=T)
library(arm)
model = bayesglm(PASS ~ SEX + HIGH, family=binomial(link="logit"), data=df)
summary(model)
дает следующий вывод:
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.10381 0.10240 1.014 0.311
SEXMale 0.02408 0.09363 0.257 0.797
HIGH -0.27503 0.03562 -7.721 1.15e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2658.2 on 1999 degrees of freedom
Residual deviance: 2594.3 on 2000 degrees of freedom
AIC: 2600.3
Пожалуйста, проведите меня через это. Я понимаю, что в этом коде используется очень слабый априор (поскольку я не определяю априорные средства), поэтому результат будет практически таким же, если я буду использовать glm()
вместо bayesglm()
. Но результат все еще должен быть в байесовском духе, верно? Каковы здесь и ? Разве это не частые инструменты вывода? Они здесь по-разному интерпретируются?
Ответы:
Отличный вопрос! Хотя есть байесовское значение р , и один из авторов пакета плеча является адвокатом, что вы видите в вашем выходе не байесовский р-значение. Проверьте класс
model
и вы можете видеть, что класс bayesglm наследуется от glm. Кроме того, проверка пакета arm не показывает какого-либо конкретного метода сводки для объекта bayesglm. Итак, когда вы делаете
вы на самом деле делаете
и получить частую интерпретацию результатов. Если вы хотите более Байесовскую перспективу, функция в руке
display()
источник