深入理解MCMC算法:原理、诊断与实用技巧
1. 不要混合后验样本
在MCMC过程中,我们会得到代表未知后验样本的向量。不同向量的元素不能混合使用,因为这会破坏逻辑。例如,在聚类问题中,两个聚类的标准差是相互依赖的。如果一个聚类的标准差小,另一个聚类的标准差大概率就大。所有的未知变量都以类似的方式相互关联,如标准差大时,均值的可能取值范围更广;标准差小时,均值的取值范围则会受限。
为避免这个问题,要确保正确索引轨迹。下面通过一个简单例子说明:
import pymc as pm
x = pm.Normal("x", 4, 10)
y = pm.Lambda("y", lambda x=x: 10 - x, trace=True)
ex_mcmc = pm.MCMC(pm.Model([x, y]))
ex_mcmc.sample(500)
在这个例子中, x 和 y 是相关的( x + y = 10 )。如果将 x 的第 i 个样本和 y 的第 j 个样本相加( i != j ),这是错误的做法。
2. 聚类预测
前面的聚类可以推广到 k 个聚类。当有新的数据点(如 x = 175 )需要标记到某个聚类时,不能简单地将其分配给最近的聚类中心,因
超级会员免费看
订阅专栏 解锁全文
55

被折叠的 条评论
为什么被折叠?



