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.
FIRST EXAMPLE:
N( 0 , 1 ) usando o algoritmo Metropolis - Hastings. Longe de ser um caso desafiador, mas bom para dissecar. Eu coletei o código da postagem aqui para conveniência e anotações.
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 .
xmean
0 0sd
1rnorm(10000)
eps
ϵxEuxi + 1runif(1, - eps, eps)
xEu
Todo valor proposto diferiria, portanto, do valor anterior de maneira aleatória e dentro dos limites de [- eps,+ eps]
.
Eui + 1
N( 0 , 1 )xi + 1xEu
min(1, dnorm(candidate_value)/dnorm(x))
1N( 0 , 1 ) p dfxi + 1xEumin(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 como min(1, dnorm(candidate_value)/dnorm(x))
maior que umrunif(1)
0 01x[i+1]
x[i]
sd
10 0
0 0x = 0; vec[1] = x
SECOND EXAMPLE:
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.