python - pymc3 创建 pm.Normal 变量时出现无法解释的 TypeError

标签 python pymc3

以下代码取自大量简单的 pymc3 使用示例:

import os
os.environ['MKL_THREADING_LAYER'] = 'GNU'
import pymc3 as pm
with pm.Model() as model:
    alpha = pm.Normal('alpha', mu=0, sigma=1)

由于某种原因,它抛出以下异常:

Traceback (most recent call last):
   File "test2.py", line 5, in <module>
    alpha = pm.Normal('alpha', mu=0, sigma=1)
  File "C:\Users\%USERNAME%\AppData\Local\Continuum\anaconda3\lib\site- 
packages\pymc3\distributions\distribution.py", line 41, in __new__
    dist = cls.dist(*args, **kwargs)
  File "C:\Users\%USERNAME%\AppData\Local\Continuum\anaconda3\lib\site- 
packages\pymc3\distributions\distribution.py", line 52, in dist
    dist.__init__(*args, **kwargs)
  File "C:\Users\%USERNAME%\AppData\Local\Continuum\anaconda3\lib\site- 
packages\pymc3\distributions\continuous.py", line 404, in __init__
    super(Normal, self).__init__(**kwargs)
  File "C:\Users\%USERNAME%\AppData\Local\Continuum\anaconda3\lib\site- 
packages\pymc3\distributions\distribution.py", line 180, in __init__
    shape, dtype, defaults=defaults, *args, **kwargs)
 TypeError: __init__() got an unexpected keyword argument 'sigma'

这个错误的原因是什么?

我尝试过版本 3.5 和 3.6 以及 pymc3。

最佳答案

你应该使用 sd 而不是 sigma:

import os
os.environ['MKL_THREADING_LAYER'] = 'GNU'
import pymc3 as pm
with pm.Model() as model:
    alpha = pm.Normal('alpha', mu=0, sd=1)

这对我有用:

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['MKL_THREADING_LAYER'] = 'GNU'
>>> import pymc3 as pm
>>> with pm.Model() as model:
...     alpha = pm.Normal('alpha', mu=0, sd=1)
... 
>>> 

关于python - pymc3 创建 pm.Normal 变量时出现无法解释的 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259416/

相关文章:

python - 获取两个日期之间的月份列表

python - 有没有办法测试 SQLAlchemy 连接?

python - __metaclass__ 不应该强制在 Python 中使用元类吗?

python - opencv如何通过跟踪栏缩放图像?

python - Python 中改进的负二项式 GLM

bayesian - PyMC3 Sample() 函数不接受 "start"值来生成跟踪

python - PyMC3 多项式模型不适用于非整数观察数据

python - 为什么我的分类器无法学习正类?

python - 在 PyMC3 中设置确定性分布

python - 如何用PyMC3得到累积分布函数?