Python 在pyMC3中创建确定性变量矩阵
我试图用pyMC3实现以下模型 我无法定义确定性变量的8x8矩阵 假设我想要的2D矩阵的名称是s 我希望Python 在pyMC3中创建确定性变量矩阵,python,python-3.x,pymc3,Python,Python 3.x,Pymc3,我试图用pyMC3实现以下模型 我无法定义确定性变量的8x8矩阵 假设我想要的2D矩阵的名称是s 我希望s[I,j]等于np.exp(-c*(w*d1[I,j]+(1-w)*d2[I,j]) 在哪里, d1[i,j]、d2[i,j]是np数组 c ~ Uniform(0,5) w ~ Uniform(0,1) 我尝试了以下方法: s=np.zero((d1.shape[0],d1.shape[1])) 使用pm.Model()作为模型: c=颗粒均匀(“c”,0,5) w=粉末均匀(“w
s[I,j]
等于np.exp(-c*(w*d1[I,j]+(1-w)*d2[I,j])
在哪里,
d1[i,j]、d2[i,j]
是np数组
c ~ Uniform(0,5)
w ~ Uniform(0,1)
我尝试了以下方法:
s=np.zero((d1.shape[0],d1.shape[1]))
使用pm.Model()作为模型:
c=颗粒均匀(“c”,0,5)
w=粉末均匀(“w”,0,1)
对于范围(8)中的i:
对于范围(8)内的j:
name_str=“s[“+str(i)+”,“+str(j)+]””
s[i,j]=pm.Deterministic(name_str,tt.exp(-c*(w*d1[i,j]+(1-w)*d2[i,j]))
当我尝试运行此操作时,会出现以下错误:
ValueError: setting an array element with a sequence.
我是pyMC3的新手。有什么方法可以实现上面的图形模型吗?PyMC3支持矢量化操作,因此您应该能够使用 以pm.Model()作为模型的
:
c=颗粒均匀(“c”,0,5)
w=粉末均匀(“w”,0,1)
s=pm.Deterministic('s',tt.exp(-c*(w*d1+(1-w)*d2)))