PyMC中两个正态分布的拟合模型
由于我是一名试图学习更多统计信息的软件工程师,因此我什至在开始之前就必须原谅我,所以这是一个严重的问题。 我一直在学习PyMC,并通过一些(非常)简单的示例进行研究。我无法使用(并且无法找到任何相关示例)的一个问题是将模型拟合到由两个正态分布生成的数据。 假设我有1000个值;从a生成Normal(mean=100, stddev=20)500个,从a生成另一个500个Normal(mean=200, stddev=20)。 如果我想对它们拟合模型,即使用PyMC确定两个均值和单个标准差。我知道这有点像... mean1 = Uniform('mean1', lower=0.0, upper=200.0) mean2 = Uniform('mean2', lower=0.0, upper=200.0) precision = Gamma('precision', alpha=0.1, beta=0.1) data = read_data_from_file_or_whatever() @deterministic(plot=False) def mean(m1=mean1, m2=mean2): # but what goes here? process = Normal('process', mu=mean, tau=precision, value=data, observed=True) 也就是说,生成过程是正常的,但是mu是两个值之一。我只是不知道如何表示值来自m1还是之间的“决定” m2。 也许我只是完全采用了错误的方法来对此建模?谁能给我指出一个例子?我可以读BUGS和JAGS,所以真的没事。