Aprendendo estatísticas bayesianas pela primeira vez; como um ângulo para entender o MCMC, eu me perguntava: está fazendo algo que fundamentalmente não pode ser feito de outra maneira, ou está apenas fazendo algo com muito mais eficiência do que as alternativas?
A título de ilustração, suponha que estamos tentando calcular a probabilidade de nossos parâmetros, dados os dados dados um modelo que calcula o oposto, . Para calcular isso diretamente com o teorema de Bayes, precisamos do denominador como apontado aqui . Mas poderíamos calcular isso por integração, digamos o seguinte:
p_d = 0.
for x in range(xmin,xmax,dx):
for y in range(ymin,ymax,dy):
for z in range(zmin,zmax,dz):
p_d_given_x_y_z = cdf(model(x,y,z),d)
p_d += p_d_given_x_y_z * dx * dy * dz
Isso funcionaria (embora de maneira muito ineficiente com números mais altos de variáveis) ou há algo mais que causaria falha nessa abordagem?
Respostas:
Você está descrevendo uma aproximação de grade à posterior, e essa é uma abordagem válida, embora não seja a mais popular. Existem alguns casos em que a distribuição posterior pode ser calculada analiticamente. As cadeias de Monte Carlo Markov, ou outros métodos aproximados, são métodos para obter amostras da distribuição posterior, que às vezes funcionam quando a solução analítica não pode ser encontrada.
As soluções analíticas que podem ser encontradas são geralmente casos de famílias "conjugadas" e você pode descobrir mais sobre isso pesquisando no Google, por exemplo, https://en.wikipedia.org/wiki/Conjugate_prior .
Como primeiro exemplo, se sua prévia
p
for uniforme[0, 1]
, ondep
é um parâmetro de sucesso em um experimento binomial simples, a posterior é igual a uma distribuição Beta. Integração, ou soma, pode ser feita explicitamente neste caso.Se você tiver muitas opções de parâmetros finitos ou usar uma aproximação de grade como no seu exemplo, uma soma simples pode ser tudo o que você precisa. O número de cálculos pode explodir rapidamente, no entanto, se você tiver algumas variáveis e quiser usar uma grade densa.
Existem vários algoritmos para amostragem a partir do posterior. Hamiltonian Monte Carlo, especificamente o amostrador NUTS, agora é popular e usado em
stan
ePyMC3
, Metropolis Hastings é o clássico. A inferência variacional é um recém-chegado relativo, não um método de amostragem, na verdade, mas uma maneira diferente de obter uma aproximação. No momento, nenhum dos métodos, incluindo soluções analíticas, é o melhor, todos funcionam bem em casos específicos.fonte
fonte
fonte