我在皮斯坦工作。假设我的可能性是:p1 * p2
其中p1 ~ N(x, xerr)
以及
p2 = 0.823 if t = 0
1 if t = 1
我的模型是:
^{pr2}$但是,我有一个错误!在
我所要做的就是把可能性乘以一个常数,以防满足某个条件。我怎么能在皮斯坦做到呢?在
以下是我得到的错误和回溯:
Traceback (most recent call last):
File "/home/paula/Desktop/fakedata.py", line 91, in <module>
fit = pystan.stan(model_code=fit_code, data=fit_data, iter=10, chains=1)
File "/usr/local/lib/python2.7/dist-packages/pystan/api.py", line 373, in stan
save_dso=save_dso, verbose=verbose)
File "/usr/local/lib/python2.7/dist-packages/pystan/model.py", line 219, in __init__
obfuscate_model_name=obfuscate_model_name)
File "/usr/local/lib/python2.7/dist-packages/pystan/api.py", line 129, in stanc
raise ValueError(error_msg)
ValueError: Failed to parse Stan model 'anon_model_04ef08903b48c28a7c3fee52b890cdaf'. Error message:
SYNTAX ERROR, MESSAGE(S) FROM PARSER:
ERROR at line 43
41: for (i in 1:N) {
42: if (cnd[i] == 1)
43: p2[i] ~ 0.823
^
44: else if (cnd[i] == 0)
PARSER EXPECTED: <distribution and parameters>
您要查找的函数是
increment_log_prob(...)
。在查看斯坦手册了解详细信息:http://mc-stan.org/manual.html
还值得注意的是,目前获得斯坦帮助的最佳位置是
stan-users
邮件列表:http://mc-stan.org/groups.html相关问题 更多 >
编程相关推荐