예제 #1
0
	# 1d EMG Priors
	mu_emg = pm.Normal('mu_emg',mu = 0.,sd = 5., 
							shape=N_dp)

	sigma_emg = pm.HalfCauchy('sigma_emg',beta = 1.,shape = N_dp)

	tau_emg = pm.Uniform("tau_emg",lower = .1,upper = 10, shape=N_dp)

	lamb_emg = pm.Deterministic("lamb_emg",1./tau_emg)
	
	# Observations
	points = pm.DensityDist("obs",lambda value: 
		logp_emg(value[:,0],mu_emg[category],sigma_emg[category],
													lamb_emg[category])+\
		mvNormal_logp(mu_norm[category],tau_norm[category],value[:,1:]),
		observed = data)



############################
# Example of Sort Run Code #
############################

# n_step = 25000
# start = time.time()
# with model:
# 	step0 = pm.Metropolis(vars=[alpha,n_lkj])
# 	step1 = pm.Metropolis(vars=[mu_norm,sigma_norm,lkj_norm,
# 								mu_emg,sigma_emg,tau_emg])
# 	step2 = pm.Metropolis(vars=[v])
		tt.dot(lkj_structure[0],corr_triangle0.reshape((1,-1)))+\
		tt.dot(lkj_structure[1],corr_triangle1.reshape((1,-1))) )



	# corr_matrix = corr_triangle[tri_index]
	# corr_matrix = tt.fill_diagonal(corr_matrix, 1)

	# cov_matrix = tt.diag(sigma).dot(corr_matrix.dot(tt.diag(sigma)))

	cov = pm.Deterministic("cov",cov_funct_special(lkj,sigma,tri_index))

	tau = pm.Deterministic("tau",tau_funct(cov))

	points = pm.DensityDist("obs",lambda value: 
		mvNormal_logp(mu[category],tau[category],value),
		observed = dataset)


n = 25000
start = time.time()
with model_pre_multiD:
	step = pm.Metropolis(vars=[alpha,n_lkj,mu,sigma,corr_triangle0,corr_triangle1])
	step1 = pm.Metropolis(vars=[v])
	step2 = pm.ElemwiseCategorical(vars=[category],
			values = list(np.arange(N_dp)))
	tr = pm.sample(n, step=[step,step1,step2])
end = time.time()


tr_storage = dict()