Formação : Tenho doutorado em psicologia social, onde estatística e matemática teóricas mal foram abordadas em meus cursos quantitativos. Durante o curso de graduação e pós-graduação, fui ensinado (como muitos de vocês também nas ciências sociais, provavelmente) através da estrutura freqüentista "clássica". Agora, eu também adoro R e usando métodos de simulação para verificar que os métodos de trabalho faz maneiramais sentido para mim do que provas matemáticas (novamente: experiência em uma ciência social quantitativa, não estatística teórica). Métodos freqüentistas e métodos de simulação juntos fazem muito sentido para mim. Como os freqüentadores veem a probabilidade como probabilidades de longo prazo (por exemplo, se eu fizer isso um número arbitrariamente grande de vezes, e isso acontece 50% das vezes, existe uma probabilidade de 50%). Podemos simular esse longo prazo com os métodos Monte Carlo!
Complicações : Desde a graduação, eu tenho muita consciência dos métodos bayesianos, e sempre houve pessoas na minha vida me chamando para o lado bayesiano, dizendo que os resultados eram mais fáceis de interpretar, que obtemos probabilidade de uma hipótese em vez dos dados dada uma hipótese, etc. Eu realmente participei disso e fiz uma aula bayesiana, li alguns livros e jornais bayesianos e agora estou bastante familiarizada com Stan e seus pacotes R associados.
Digite Mayo : Depois de pensar "Bayesiano é provavelmente o caminho do futuro" por um tempo, li a Inferência Estatística de Deborah Mayo como Teste Severo . Ela diz que não escolhe um lado no começo do livro, mas escolhe: é freqüentadora e grande parte do livro defende metodologias freqüentistas. Eu não quero necessariamente entrar em uma discussão sobre se achamos ou não válidos o modo como ela vê as evidências, mas isso me fez pensar: Bayes é realmente tudo o que é anunciado? Quero dizer, a multidão de Bayes está tão fraturada que nem sequer sei a maneira "certa" de analisar dados em uma estrutura bayesiana frequentemente. Normalmente, eu usaria apenasrstanarm
e estimativas pontuais atuais e intervalos confiáveis ... que frequentemente se alinham estreitamente com estimativas freqüentes e intervalos de confiança. Posso fazer comparações de modelos, mas sempre tenho medo de descrever os fatores de Bayes como comparações de probabilidade posteriores, etc.
Mais reflexão : O que eu continuei pensando no livro de Mayo foi: existe uma maneira de usar computadores para garantir que nossos métodos freqüentadores funcionem, porque probabilidade é o que vemos a longo prazo e podemos simular isso. Os bayesianos nem conseguem concordar com o que realmente é a probabilidade, ao que parece, dependendo da escola bayesiana (padrão, subjetiva, etc.). O que me leva à minha pergunta:
Pergunta : Como os bayesianos verificam se seus métodos definem a incerteza corretamente (isto é, calculam intervalos credíveis válidos e distribuições posteriores) usando métodos de simulação de Monte Carlo, se a probabilidade não é definida como taxas a longo prazo?
Exemplo : eu crio um gerador de dados. Isso simulará apenas a partir de uma distribuição de Bernoulli com uma probabilidade de 0,5:
set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
rbinom(n, 1, p)
}
Agora, digamos que eu queira ter certeza de que os intervalos de confiança em uma regressão logística são realmente válidos. Posso simular uma regressão várias vezes e garantir que o valor real da população caia no intervalo de confiança de 95% em 95% das vezes. É um modelo somente de interceptação, então só quero ter certeza de que estou calculando p
corretamente:
set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
mod <- glm(gen_dat(n, p) ~ 1, binomial)
conf <- suppressMessages(confint(mod))
log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)
Isso leva alguns minutos para ser executado, mas terminamos com a mean(results)
ligação 0.9416
. Isso é cerca de 95%, e estou confiante em dizer que o glm
comando está descrevendo incertezas de uma maneira válida. Tenho certeza de que teria chegado mais perto do nariz em 95% se eu aumentasse iter
e quisesse esperar aqui no meu laptop por mais tempo.
Por outro lado, vamos ajustar um modelo bayesiano para a mesma coisa:
library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)
Em parte, isso me dá:
Estimates:
mean sd 2.5% 25% 50% 75% 97.5%
(Intercept) -0.1 0.2 -0.5 -0.2 -0.1 0.0 0.3
mean_PPD 0.5 0.1 0.3 0.4 0.5 0.5 0.6
log-posterior -73.0 0.7 -75.1 -73.1 -72.7 -72.5 -72.5
Como os bayesianos não definem probabilidade como o que vemos a longo prazo, como posso usar métodos de simulação para verificar se stan_glm
está capturando com precisão a incerteza? Ou seja, como eu poderia confiar que esses intervalos credíveis são válidos, usando métodos de simulação? E, no momento, nem estou definindo um prior - como a inclusão de priors entra em jogo aqui, pois isso afetará nossas medidas de incerteza?
Quando eu estava tentando escrever uma regressão beta com um componente de modelo de obstáculo no Stan uma vez, pedi a alguém que me recomendasse: "Simule dados. Faça isso várias vezes, e as estimativas verdadeiras devem estar no intervalo credível de 95 % do tempo." Mas para mim, isso vai contra o que os bayesianos acreditam! Isso depende de entendimentos freqüentes de probabilidade! Então, como um bayesiano me convenceria de que o intervalo credível que estou recebendo da summary()
chamada para o meu modelo está descrevendo com precisão a incerteza, usando métodos de simulação?
Objetivo da pergunta : Este é um exemplo trivial, mas muitas vezes os clientes me fornecem problemas difíceis. E eu tento coisas com as quais não estou familiarizado, então, frequentemente, faço um estudo de simulação para garantir que o que estou fazendo seja válido. Se eu escrevesse um modelo personalizado em Stan, como saberia que o que estou fazendo é legítimo? Como eu poderia usar métodos de simulação para verificar se o que estou fazendo em Stan realmente me diz o que quero saber?