我正在尝试使用以下内容将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等。
我该怎么做?
答案 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
此示例很好,并给出了以下摘要
清楚地界定了HPD中标准偏差的真实值。