MCMC Trace Plot в Эдварде

Я использую модель процесса Дирихле (DPMM) для вывода назначений кластера и параметров кластера в синтетическом наборе данных с использованием Edward на основе следующей публикации сообщества. Я использую GPU-ускоренный Metropolis Hastings для изучения апостериорного распределения по параметрам модели. Например, для кластерных средств имеем:

D = 2 #dimension of the data
K = 5 #cluster truncation
T = 10000 #number of samples
mu = Normal(loc=tf.zeros(D), scale=tf.ones(D), sample_shape=K)  
qmu = Normal(loc=tf.zeros(D), scale=tf.ones(D), sample_shape=K) #posterior
gmu = Normal(loc=tf.zeros(D), scale=tf.ones(D), sample_shape=K) #proposal

inference = ed.MetropolisHastings(
    latent_vars={mu: qmu, ...},
    proposal_vars={mu: gmu, ...},
    data={x: x_data})

Я заинтересован в создании трассировки для визуализации образцов из апостериорного распределения qmu, Я ищу что-то похожее на PyMC pm.traceplot()Как мне создать график трассировки в Эдварде?

1 ответ

Решение

Для Empirical Распределение, используемое в выборке, мы можем получить доступ к выборочным значениям следующим образом:

thin=4
burnin=2000
qmu_trace = qmu.params[burnin::thin].eval()

Затем мы можем построить трассировку и вычислить гистограмму и автокорреляцию как обычно.

Другие вопросы по тегам