小编Anj*_*yed的帖子

PyMC3 高斯混合模型

我一直在关注 PyMC3 的高斯混合模型示例:https : //github.com/pymc-devs/pymc3/blob/master/pymc3/examples/gaussian_mixture_model.ipynb 并让它与人工数据集很好地工作。 在此处输入图片说明

我已经用一个真实的数据集尝试过它,我正在努力让它给出合理的结果: 在此处输入图片说明

关于我应该缩小/扩大/改变哪些参数以获得更好的拟合的任何想法?痕迹似乎很稳定。这是我从示例中调整的模型片段:

model = pm.Model()
with model:
    # cluster sizes
    a = pm.constant(np.array([1., 1., 1.]))
    p = pm.Dirichlet('p', a=a, shape=k)
    # ensure all clusters have some points
    p_min_potential = pm.Potential('p_min_potential', tt.switch(tt.min(p) < .1, -np.inf, 0))


    # cluster centers
    means = pm.Normal('means', mu=[0, 1.5, 3], sd=1, shape=k)
    # break symmetry
    order_means_potential = pm.Potential('order_means_potential',
                                     tt.switch(means[1]-means[0] < 0, -np.inf, 0)
                                     + tt.switch(means[2]-means[1] < 0, -np.inf, 0))

    # measurement error
    sd = pm.Uniform('sd', lower=0, upper=2, shape=k)

    # …
Run Code Online (Sandbox Code Playgroud)

python bayesian mcmc pymc3

5
推荐指数
1
解决办法
2549
查看次数

标签 统计

bayesian ×1

mcmc ×1

pymc3 ×1

python ×1