相关疑难解决方法(0)

带有PyMC3的贝叶斯概率矩阵分解(BPMF):使用`NUTS的PositiveDefiniteError

我在Python中实现了贝叶斯概率矩阵分解算法pymc3.我还实现了它的前驱,概率矩阵分解(PMF).请参阅我之前的问题,以获取此处使用的数据的参考.

我在使用NUTS采样器绘制MCMC样本时遇到问题.我使用来自PMF的MAP初始化模型参数,使用高斯随机抽取的超参数在0附近散布.但是,我PositiveDefiniteError在为采样器设置步骤对象时得到了一个.我已经验证了PMF的MAP估计是合理的,所以我希望它与超参数初始化的方式有关.这是PMF模型:

import pymc3 as pm
import numpy as np
import pandas as pd
import theano
import scipy as sp

data = pd.read_csv('jester-dense-subset-100x20.csv')    
n, m = data.shape
test_size = m / 10
train_size = m - test_size

train = data.copy()
train.ix[:,train_size:] = np.nan  # remove test set data
train[train.isnull()] = train.mean().mean()  # mean value imputation
train = train.values

test = data.copy()
test.ix[:,:train_size] = np.nan  # remove train set data
test = test.values …
Run Code Online (Sandbox Code Playgroud)

bayesian mcmc pymc

5
推荐指数
1
解决办法
982
查看次数

标签 统计

bayesian ×1

mcmc ×1

pymc ×1