Cg = freeform(P) Cn = freeform(P) Cg1 = freeform(P) Cn1 = freeform(P) ipdb.set_trace() if 1: # compare with mtSet implementation params = {} params['Cg'] = SP.randn(int(0.5*P*(P+1))) params['Cn'] = SP.randn(int(0.5*P*(P+1))) print "check gradient with gp2kronSum" gp = gp2kronSum(mu,Cg,Cn,XX) gp.setParams(params) if 0: gp.set_reml(False) print "test optimization" start = TIME.time() conv,info = OPT.opt_hyper(gp,params,factr=1e3) print 'Reml GP:', TIME.time()-start if mtSet_present: params1 = copy.copy(params) params1['mean'] = SP.zeros(mu1.getParams().shape[0]) gp1 = gp2kronSumMtSet(mu1,Cg1,Cn1,XX) gp1.setParams(params1)
# define covariance matrices Cg = freeform(P) Cn = freeform(P) Cg1 = freeform(P) Cn1 = freeform(P) # compare with mtSet implementation params = {} params['Cg'] = SP.randn(int(0.5 * P * (P + 1))) params['Cn'] = SP.randn(int(0.5 * P * (P + 1))) print "creating gp2kronSum object" XX = SP.dot(X, X.T) XX /= XX.diagonal().mean() gp = gp2kronSum(mu, Cg, Cn, XX) gp.setParams(params) if "ML" in sys.argv: print "ML estimation" gp.set_reml(False) else: print "REML estimation" print "optimization of GP parameters" start = TIME.time() conv, info = OPT.opt_hyper(gp, params, factr=1e3) print 'time for fitting GP:', TIME.time() - start print conv