예제 #1
0
파일: test_gp_D.py 프로젝트: jeffhsu3/limix
    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)
예제 #2
0
    # 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