如何解决PyMC3数组的第%个前导次幂不是肯定的
我正在尝试使用以下超级优先级配置PyMC3多项式内核;
with pm.Model() as self.model:
EPSILON = 0.1
l = pm.Gamma("l",alpha=2,beta=1)
offset = pm.Gamma("offset",beta=1)
nu = pm.HalfCauchy("nu",beta=1)
d = pm.HalfNormal("d",sd=5)
cov = nu ** 2 * pm.gp.cov.Polynomial(X.shape[1],l,d,offset)
self.gp = pm.gp.Marginal(cov_func=cov)
sigma = pm.HalfCauchy("sigma",beta=1)
y_ = self.gp.marginal_likelihood("y",X=X,y=Y,noise=sigma)
self. map_trace = [pm.find_MAP()]
但是,我遇到了如下的 Cholesky分解失败错误;
LinAlgError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/theano/compile/function_module.py in __call__(self,*args,**kwargs)
902 outputs =\
--> 903 self.fn() if output_subset is None else\
904 self.fn(output_subset=output_subset)
24 frames
LinAlgError: 7-th leading minor of the array is not positive definite
During handling of the above exception,another exception occurred:
LinAlgError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/scipy/linalg/decomp_cholesky.py in _cholesky(a,lower,overwrite_a,clean,check_finite)
38 if info > 0:
39 raise LinAlgError("%d-th leading minor of the array is not positive "
---> 40 "definite" % info)
41 if info < 0:
42 raise ValueError('LAPACK reported an illegal value in {}-th argument'
LinAlgError: 7-th leading minor of the array is not positive definite
Apply node that caused the error: Cholesky{lower=True,destructive=False,on_error='raise'}(Elemwise{Composite{((sqr(i0) * i1) + i2 + i3)}}[(0,0)].0)
Toposort index: 11
Inputs types: [TensorType(float64,matrix)]
Inputs shapes: [(40,40)]
Inputs strides: [(320,8)]
Inputs values: ['not shown']
Outputs clients: [[Solve{A_structure='lower_triangular',lower=False,overwrite_A=False,overwrite_b=False}(Cholesky{lower=True,on_error='raise'}.0,TensorConstant{[ 69.79 .. 472.83]}),Solve{A_structure='lower_triangular',Elemwise{Composite{(sqr(i0) * i1)}}[(0,0)].0)]]
更改超级优先级似乎会更改错误,例如将显示第x个其他领先的未成年人,而不是第7个领先的未成年人。但是我不确定这是由优先级较高还是其他原因引起的。
欢迎任何想法:)
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。