Ajude-me a entender os valores de


13

Estou tentando executar um logit bayesiano nos dados aqui . Estou usando bayesglm()no armpacote em R. A codificação é direta o suficiente:

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) fornece a seguinte saída:

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, acompanhe-me. Eu entendo que esse código usa um prior muito fraco (já que não estou especificando os meios anteriores), portanto a saída será praticamente a mesma se eu usar em glm()vez de bayesglm(). Mas a saída ainda deve estar no espírito bayesiano, certo? Quais são os valores e aqui? Essas ferramentas de inferência freqüentista não são? Eles são interpretados de maneira diferente aqui?pz


Este é um comentário e não uma resposta, mas é isso que faria algum sentido para mim. Você obtém estimativas que provavelmente são os valores para os quais a distribuição posterior é maximizada. Também pode ser possível que eles sejam apenas os meios do posterior? Vale a pena conferir se puder. Mas não importa quais sejam os detalhes exatos, uma vez que você tenha algumas estimativas, poderá testá-las usando a estimativa / padrão usual. Erro -> procedimento de escore z, que funciona se o posterior estiver próximo o suficiente do normal (vai para o normal em algumas condições que normalmente se mantêm).
— Erik

Erik ... Você está correto: os coeficientes são realmente os meios das densidades posteriores. Minha pergunta é sobre os valores p e z. O que eles representam aqui?
— precisa saber é o seguinte

Está bem. Se você tem uma densidade aproximadamente distribuída normalmente, pode testar se a média é zero, obtendo o escore z = média / desvio padrão da distribuição e comparando-a com a distribuição normal padrão. Então você vê quão improvável seu valor ou um valor maior estaria abaixo da distribuição normal padrão -> valor-p. Veja z-score na Wikipedia para detalhes.
— Erik

Bem, sim. Mas por que se preocupar em fazer isso em um cenário bayesiano? Na inferência bayesiana, a estimativa pontual é o meu melhor palpite sobre o parâmetro aleatório, portanto não há necessidade de testá-lo. No máximo, posso incluir um "intervalo credível" que é equivalente a um "intervalo de confiança" freqüentista, mas cuja interpretação estatística é muito diferente. Essa é a parte confusa sobre a saída summary (). O espírito é bayesiano, mas a produção é freqüentista?
— user3671

Um ponto é que a estimativa obtida será diferente, já que você usou uma prévia. E enquanto a estimativa pontual é o "melhor palpite", se você deseja mostrar de maneira bayesiana que algo tem um efeito, você tentaria mostrar que o intervalo confiável não contém o zero. Quando você aproxima o posterior por um normal com a mesma média e sd (assintoticamente correto), o intervalo de credibilidade (1-p / 2) é o maior intervalo de credibilidade simétrico que contém o zero, portanto sua resposta é basicamente a mesma. O valor de p é p indicado acima.
— Erik

Respostas:


16

Ótima pergunta! Embora existam valores p bayesianos e um dos autores do pacote arm seja um defensor, o que você está vendo em sua saída não é um valor p bayesiano. Verifique a classe demodel

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

e você pode ver que a classe bayesglm herda da glm. Além disso, o exame da embalagem do braço não mostra um método de resumo específico para um objeto bayesglm. Então quando você faz

summary(model)

você está realmente fazendo

summary.glm(model)

e obter uma interpretação freqüente dos resultados. Se você quer uma perspectiva mais bayesiana, a função no braço édisplay()


+1 Excelente resposta! Esse é o problema com o R, há muitos estatísticos altamente inteligentes que escrevem códigos horríveis que deixam esses tipos de minas por aí.
— Bogdanovist

Parece uma escolha deliberada por parte dos designers, em vez de uma supervisão.
— atiretoo - restabelecer monica

Depois de ler o link, concordo com a intenção, mas nesse caso o resumo () deveria ter sido reimplementado para simplesmente chamar display () em vez de fornecer resultados sem sentido, sem aviso prévio. A pessoa que fez essa pergunta foi enganada por um código que quebrou o modelo de usuário para R que foi estabelecido por todos os outros objetos que eles já usaram. Essa é uma prática terrível de programação.
— Bogdanovist

2
Muito obrigado, atiretoo. Isso levanta outra questão. Qual é a diferença entre display () e summary ()? Parece-me que a saída da primeira é apenas a saída da última, menos duas colunas, e arredondada para 2 dígitos. Parece que sim, no post de Gelman que você vinculou acima.
— user3671

Sim, e a partir da discussão no blog de Andrew Gelman, parece que eles resolverão isso em versões futuras do pacote arm.
— atiretoo - restabelecer monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.