Eu estava passando por algumas palestras relacionadas ao MCMC. No entanto, não encontro um bom exemplo de como é usado. Alguém pode me dar um exemplo concreto. Tudo o que vejo é que eles administram uma cadeia de Markov e dizem que sua distribuição estacionária é a distribuição desejada.
Quero um bom exemplo em que é difícil provar a distribuição desejada. Então criamos uma cadeia de Markov. Quero saber como selecionar a matriz de transição para que sua distribuição estacionária da cadeia Markov seja a distribuição alvo
probability
bayesian
mcmc
markov-process
user34790
fonte
fonte
Respostas:
Um bom exemplo de uma distribuição difícil de amostrar é o modelo Hard-Core, consulte esta página para uma visão geral:
http://www.mathematik.uni-ulm.de/stochastik/lehre/ss06/markov/skript_engl/node34.html
Este modelo define uma distribuição sobre grades para alguns n fixos , onde em cada ponto da grade você pode ter um valor igual a um ou zero. Para que uma grade seja admissível no modelo de núcleo duro, dois pontos adjacentes na grade não podem ter o valor 1.n×n n
A imagem abaixo mostra um exemplo de configuração admissível para um grade de acordo com o modelo do núcleo duro. Nesta imagem, são mostrados pontos pretos e zeros brancos. Observe que nem dois pontos pretos são adjacentes.8×8
Acredito que a inspiração para este modelo vem da física, você pode pensar em cada posição na grade como uma partícula, e o valor nessa posição que representa carga elétrica ou rotação.
Queremos amostrar uniformemente a população de grades admissíveis, ou seja, se é o conjunto de grades admissíveis, queremos amostrar e ∈ E de modo queE e∈E
onde é o número de todas as configurações admissíveis possíveis.|E|
Isso já representa um desafio, considerando que estamos considerando grades, como podemos determinar | E | o número de grades admissíveis?n×n |E|
Uma das coisas boas do MCMC é que ele permite a amostra de distribuições em que a constante de normalização é difícil ou impossível de avaliar.
Vou deixar você ler o artigo sobre os detalhes de como implementar o MCMC para esse problema, mas é relativamente direto.
fonte
Eu acho que o melhor exemplo que posso dar é esse:
Um exemplo de Monte Carlo da Cadeia de Markov de Murali Haran
O que inclui algum código útil em R.
Eu acho que poderia reproduzir o artigo aqui, mas não faz sentido.
fonte
Outra questão assustadora nas estatísticas. A questão é antiga, mas os exemplos introdutórios on-line são difíceis de encontrar. Então, deixe-me simplificar dois ótimos exemplos, no caso de alguém seguir o passeio aleatório de Markov pelas terras do PageRank aqui confundido pelo MCMC e cheio de expectativa por uma resposta fácil de seguir. Qual a probabilidade? Essa poderia ser uma pergunta de acompanhamento.
A dificuldade está em perceber que, depois de passar por todas as etapas mecânicas, existe apenas um truque mágico: a decisão binária de aceitar ou rejeitar um valor proposto .
mean
sd
rnorm(10000)
eps
runif(1, - eps, eps)
Todo valor proposto diferiria, portanto, do valor anterior de maneira aleatória e dentro dos limites de
[- eps,+ eps]
.min(1, dnorm(candidate_value)/dnorm(x))
min(1, ...)
dnorm
Portanto, temos uma probabilidade de aceitação, mas precisamos tomar uma decisão binária (aceitar o novo valor proposto ou rejeitá-lo). E aqui vem o truque de mágica: se a probabilidade calculada como0 0 1
min(1, dnorm(candidate_value)/dnorm(x))
maior que umrunif(1)
x[i+1]
x[i]
sd
x = 0; vec[1] = x
Isso é mais interessante e faz referência à estimativa dos parâmetros de uma curva de regressão linear, calculando as probabilidades de log para parâmetros aleatórios, considerando um conjunto de dados . No entanto, a exegese das linhas de código é construída na simulação condensada salva aqui , seguindo etapas muito semelhantes ao primeiro exemplo.
fonte
Este vídeo do YouTube é uma visualização muito boa de um problema simples que foi resolvido usando o MCMC.
A distribuição de interesse é a distribuição posterior sobre possíveis inclinações e intercepta em uma regressão linear (painel superior direito). Algumas combinações de declives e interceptações são muito prováveis (ou seja, têm uma alta probabilidade de produzir os pontos de dados observados e são consistentes com nossos dados a priori). expectativas a ), portanto devem ser amostradas com freqüência. Outras combinações são improváveis (por exemplo, se correspondem a uma linha azul que não passa pela nuvem de pontos de dados) e devem ser amostradas com menos frequência.
O grande painel na parte inferior esquerda mostra o caminho percorrido pela cadeia de Markov através de um espaço bidimensional de encostas e interceptações. Os histogramas mostram resumos unidimensionais do progresso da cadeia até agora. Uma vez que a cadeia tenha rodado por tempo suficiente, temos estimativas muito boas das distribuições para possíveis valores da inclinação e interceptação.
Nesse caso, o MCMC é um exagero, mas há alguns problemas em que uma solução é difícil de escrever e faz muito sentido explorar as possibilidades com uma cadeia de Markov, em vez de tentar resolvê-la diretamente.
fonte