(nb。刚刚在google网上发布了此内容,但它表示现已弃用)
我有一些代码可以将12个模型参数拟合到一系列数据集中。来自pymc代码的结果看起来很好并且与使用lmfit包的相同版本的代码一致,即非线性最小二乘。我所担心的一个问题是95%的可信区间对我来说很小,这表明我某处出现了错误。来自其他拟合脚本的标准误差在大小上是合理的,并且功能足够复杂以表明这种独特的最小值是不可能的。这可能是我对数据进行抽样的结果吗?我正在进行100,000次迭代,燃烧50,000次并减少10倍。
我的代码是:
https://github.com/mdekauwe/FitFarquharModel/blob/master/fit_farquhar_model/fit_dummy_pymc.py
我可以尝试上传一个示例驱动文件,如果这有帮助,但也许我做了一些明显愚蠢的事情?
当我说这里的小小就是一个例子:
[lmfit] Vcmax25_1 = 16.55232485 +/- 1.22831709(Std.err)
[pymc] Vcmax25_1 = 19.5718912 [19.57150052,19.57232205](95%HPD)
非常感谢,
马丁
PS。我添加了一个示例文件,如果有人想测试它。该脚本的底部有必要的链接......(当然需要从examples目录下载文件)
我的猜测是采样器必须卡住,所以我会尝试在轨迹上查看更多细节。