我熟悉 Sklearn Gaussian Mixture,并且很难在 Pymc3 上取得进展。使用以下 pymc3 代码,对 1 个变量 X 和 2 个 W=[0.2,0.8] 的混合使用时间序列
with pm.Model() as model:
w = pm.Dirichlet("w", np.ones_like(W))
mu = pm.Normal("mu", -0.05, 0.06, shape=W.size)
sigma=pm.Gamma('vol',0.0001,0.03,shape=W.size)
x_obs = pm.NormalMixture("x_obs", w, mu,sigma, observed=x)
接着
with model:
trace = pm.sample(1000, n_init=2000, tune=1000)
# sample posterior predictive samples
ppc_trace = pm.sample_posterior_predictive(trace, var_names=["x_obs"])
# Get an arviz inference object
idata_pymc3 = az.from_pymc3(trace, posterior_predictive=ppc_trace)
如何获得组件的时间序列(哪个分布?),组件概率,均值,西格玛?