KeyError Traceback (most recent call last) <ipython-input-7-7587d3b8778f> in <module> ----> 1 p = trace.get_values('p', burn=niter//2, combine=True, chains=[0,2]) 2 p.shape ~\anaconda3\lib\site-packages\pymc3\backends\base.py in get_values(self, varname, burn, thin, combine, chains, squeeze) 485 varname = get_var_name(varname) 486 try: --> 487 results = [self._straces[chain].get_values(varname, burn, thin) for chain in chains] 488 except TypeError: # Single chain passed. 489 results = [self._straces[chains].get_values(varname, burn, thin)] ~\anaconda3\lib\site-packages\pymc3\backends\base.py in <listcomp>(.0) 485 varname = get_var_name(varname) 486 try: --> 487 results = [self._straces[chain].get_values(varname, burn, thin) for chain in chains] 488 except TypeError: # Single chain passed. 489 results = [self._straces[chains].get_values(varname, burn, thin)]
错误信息“KeyError:'p'”表明变量'p'在跟踪中不存在。
要解决此问题,您应该检查模型是否正确定义和采样,以及变量'p'是否在模型中指定为参数。如果未将'p'定义为参数,则应将其添加到模型中并重新运行采样。如果模型未正确定义或采样,则应检查代码并尝试确定问题。