Exemplo n.º 1
0
def do_dreesen(model, data, maxdeg=3):
    eqns = model.empirical_moment_equations(data, maxdeg)
    syms = model.param_symbols()
    M = MomentMatrix(2, syms, morder='grevlex')
    solsdp = solvers.solve_generalized_mom_coneqp(M, eqns, None)
    sol = extractors.extract_solutions_lasserre(M, solsdp['x'], Kmax=model.k)
    params = array([sol[sym][0] for sym in syms])
    params = array([make_distribution(col) for col in params.T]).T

    return model["w"], params
Exemplo n.º 2
0
def do_lasserre(model, data, maxdeg=3, maxcontrs=-1):
    eqns = model.empirical_moment_equations(data, 3)
    syms = model.param_symbols()
    #ipdb.set_trace()    
    M = MomentMatrix(maxdeg, syms, morder='grevlex')
    
    solsdp = solvers.solve_generalized_mom_coneqp(M, eqns, None)
    #solsdp = solvers.solve_basic_constraints(M, eqns, slack=1e-5)
    sol = extractors.extract_solutions_lasserre(M, solsdp['x'], Kmax=model.k, tol=1e-5)
    #sol = extractors.extract_solutions_dreesen(M, solsdp['x'], Kmax=model.k)
    #sol = extractors.extract_solutions_dreesen_proto(M, solsdp['x'], Kmax=model.k)
    return sol
Exemplo n.º 3
0
def do_lasserre(model, data, maxdeg=3, maxcontrs=-1):
    eqns = model.empirical_moment_equations(data, 3)
    syms = model.param_symbols()
    #ipdb.set_trace()
    M = MomentMatrix(maxdeg, syms, morder='grevlex')

    solsdp = solvers.solve_generalized_mom_coneqp(M, eqns, None)
    #solsdp = solvers.solve_basic_constraints(M, eqns, slack=1e-5)
    sol = extractors.extract_solutions_lasserre(M,
                                                solsdp['x'],
                                                Kmax=model.k,
                                                tol=1e-5)
    #sol = extractors.extract_solutions_dreesen(M, solsdp['x'], Kmax=model.k)
    #sol = extractors.extract_solutions_dreesen_proto(M, solsdp['x'], Kmax=model.k)
    return sol