PyMC3正常,每列有变化

时间:2019-03-25 08:23:09

标签: pymc3 pymc

我正在尝试使用以下内容将pymc3.Normal变量定义为mu:

import numpy as np
import pymc3 as pm

mx = np.array([[0.25 , 0.5  , 0.75 , 1.   ],    
               [0.25 , 0.333, 0.25 , 0.   ],
               [0.25 , 0.167, 0.   , 0.   ],
               [0.25 , 0.   , 0.   , 0.   ]])
epsilon = pm.Gamma('epsilon', alpha=10, beta=10)
p_ = pm.Normal('p_', mu=mx, shape = mx.shape, sd = epsilon)

问题是p_中的所有随机变量都具有相同的std(ε)。我希望第一行使用epsilon1,第二行使用epsilon2等。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

一个人可以为def pendulum_to_datetime(pendulum_date): """ Convert pendulum to datetime format. The conversion is done from pendulum -> string -> dateime. Args: pendulum_date (pendulum): The date you wish to convert. Returns: (datetime) The converted date. """ fmt = '%Y-%m-%dT%H:%M:%S%z' string_date = pendulum_date.strftime(fmt) return datetime.strptime(string_date, fmt) 参数传递一个参数来实现这一点。为了说明这一点,让我们根据观察结果传递一些假数据,在这些数据中使用固定的epsilon值,可以将其与推断的值进行比较。

示例模型

shape

此示例很好,并给出了以下摘要

enter image description here

清楚地界定了HPD中标准偏差的真实值。