2017-09-25 1 views
2

community post을 기준으로 Edward을 사용하여 Dymichlet Process Mixture Model (DPMM)을 사용하여 클러스터 할당 및 클러스터 매개 변수를 합성 데이터 집합에 유추했습니다. 나는 GPU 가속 메트로폴리스 헤이스팅스를 사용하여 모델 매개 변수에 대한 사후 분포를 학습합니다. 예를 들어, 클러스터 수단, 우리는이 :에드워드의 MCMC 추적 플롯

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() Edward에서 트레이스 플롯을 생성하려면 어떻게해야합니까? 다음과 같이

답변

2

샘플링에 사용되는 Empirical 유통을 위해, 우리는 샘플링 된 값에 액세스 할 수 있습니다

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

우리는 다음 추적을 플롯 평소와 같이 히스토그램 및 자동 상관 관계를 계산할 수 있습니다.