Ayúdame a comprender los valores

13

Estoy tratando de ejecutar un logit bayesiano en los datos aquí . Estoy usando bayesglm()el armpaquete en R. La codificación es bastante sencilla:

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) da el siguiente resultado:

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

Por favor guíame a través de esto. Entiendo que este código usa un previo muy débil (ya que no estoy especificando los medios anteriores), por lo que el resultado será prácticamente el mismo si lo uso en glm()lugar de bayesglm(). Pero la salida aún debería estar en el espíritu bayesiano, ¿verdad? ¿Cuáles son los valores y los valores aquí? ¿No son estas herramientas de inferencia frecuentista? ¿Se interpretan de manera diferente aquí?pagz

usuario3671
fuente
Este es un comentario y no una respuesta, pero esto es lo que tendría sentido para mí. Obtiene estimaciones que probablemente sean los valores para los que se maximiza la distribución posterior. ¿También podría ser posible que sean solo los medios de la parte posterior? Vale la pena echarle un vistazo si puedes. Pero no importa cuáles sean los detalles exactos, una vez que tenga algunas estimaciones, puede probarlas con el Estimate / Std habitual. Error -> procedimiento de puntaje z que funciona si la parte posterior está lo suficientemente cerca de lo normal (se normaliza en algunas condiciones que generalmente se mantienen).
Erik
Erik ... Tienes razón: los coeficientes son de hecho el medio de las densidades posteriores. Mi pregunta es sobre los valores p y z. ¿Qué representan aquí?
user3671
Okay. Si tiene una densidad aproximadamente distribuida normalmente, puede probar si su media es cero tomando la puntuación z = media / desviación estándar de la distribución y comparándola con la distribución normal estándar. Luego observa cuán improbable sería su valor o un valor mayor bajo la distribución normal estándar -> valor p. Ver puntuación z en Wikipedia para más detalles.
Erik
Bueno, sí. Pero, ¿por qué molestarse en hacer eso en un entorno bayesiano? En la inferencia bayesiana, la estimación puntual es mi mejor conjetura sobre el parámetro aleatorio, por lo que no hay necesidad de probarlo. A lo sumo, puedo incluir un "intervalo creíble" que es equivalente a un "intervalo de confianza" frecuente, pero cuya interpretación estadística es muy diferente. Esta es la parte confusa sobre el resultado del resumen (). ¿El espíritu es bayesiano, pero la salida es frecuentista?
user3671
Un punto es que la estimación que obtenga será diferente, ya que utilizó un previo. Y si bien la estimación puntual es la "mejor suposición" si desea mostrar de manera bayesiana que algo tiene un efecto, trataría de demostrar que el intervalo creíble no contiene el cero. Cuando aproxima la parte posterior por una normal con la misma media y sd (asintóticamente correcta), entonces el intervalo de credibilidad (1-p / 2) es el intervalo de credibilidad simétrico más grande que contiene el cero, por lo que su respuesta es básicamente la misma. El p es el valor p indicado anteriormente.
Erik

Respuestas:

16

Gran pregunta! Aunque hay valores p bayesianos , y uno de los autores del paquete arm es un defensor, lo que está viendo en su salida no es un valor p bayesiano. Comprueba la clase demodel

class(model)
"bayesglm" "glm"      "lm" 

y puedes ver que la clase bayesglm hereda de glm. Además, el examen del paquete del brazo no muestra un método de resumen específico para un objeto bayesglm. Entonces cuando lo haces

summary(model)

en realidad estás haciendo

summary.glm(model)

y obtener una interpretación frecuente de los resultados. Si desea una perspectiva más bayesiana, la función en el brazo esdisplay()

atiretoo - restablecer monica
fuente
+1 Excelente respuesta! Este es el problema con R, hay muchos estadísticos altamente inteligentes que escriben códigos horribles que dejan a este tipo de minas terrestres por ahí.
Bogdanovist
Parece una elección deliberada por parte de los diseñadores, en lugar de un descuido.
atiretoo - readmitir a monica el
Después de leer el enlace, estoy de acuerdo con la intención, pero en ese caso el resumen () debería haberse vuelto a implementar para simplemente llamar a display () en lugar de dar resultados sin sentido sin previo aviso. La persona que hizo esta pregunta se tropezó con un código que rompió el modelo de usuario para R que ha sido establecido por cualquier otro objeto que haya usado. Esa es una práctica de programación terrible.
Bogdanovist
2
Muchas gracias, atiretoo. Esto plantea otra pregunta. ¿Cuál es la diferencia entre display () y summary ()? Me parece que la salida de la primera es solo la salida de la segunda, menos dos columnas y redondeada a 2 dígitos. Parece que sí, de la publicación de Gelman que has vinculado anteriormente.
user3671
Sí, y de la discusión en el blog de Andrew Gelman parece que solucionarán esto en futuras versiones del paquete arm.
atiretoo - reinstalar a monica el