我正在看一个在pymc3中实现了CMPoisson模型的人的要点。不幸的是,有两个步骤我不确定。在模型的主要建筑物。带有令人困惑的数据参数的pymc3中的Conway-Maxwell泊松模型
(GIST可以在这里找到:https://gist.github.com/dadaromeo/33e581d9e3bcbad83531b4a91a87509f)
在测试数据的建设,他用两个步骤来计算的数据:
n,d = 1000, 4 X = np.abs(np.random.randn(n,d)) y = np.round(X.sum(axis=1)).astype(int)
我m试图找出为什么使用两步过程?它是否创建与泊松类似的数据,但具有CMPoisson分布的特征?
在pymc3模型中,参数是用X数组计算:
with cmp_model: alpha = pm.Normal("alpha", mu=1) beta = pm.Normal("beta", mu=1, shape=d) lam = alpha + tt.dot(X,beta) nu = pm.HalfNormal("nu", sd=10) like = CMPoisson("like", lamda=lam, nu=nu, observed=y)
为什么呢?由于我使用真实数据(看起来像y),我不确定我的相应X值来自哪里?
任何帮助非常感谢!