コード例 #1
0
def mh_wp_func(pkd_x):
    (x, meta, beliefs, state, params) = pkd_x
    if params['prior_wp_sm'] == "only_bij" and not fwd.bijection(state['sm'], x)[0]:
        return float(-np.inf)
    mll = meta_loglike_marg(meta, state['world'], state['sm'], x,
                            state['meta_noise'], params)
    lpw = log_prob_world(state['world'], x) 
    if params['binary_beliefs']:
        bll = beliefs_loglike_binary(beliefs, state['signals'], state['sm'], x,
                                     params['own_noise_type'], state['own_noise'])
        return mll + lpw + bll
    else:
        bll = beliefs_loglike_marg(beliefs, state['world'], state['sm'], x,
                                   params['own_noise_type'], state['own_noise'])
        return mll + lpw + bll
コード例 #2
0
def mh_sm_func(pkd_x):
    (x, meta, beliefs, state, params) = pkd_x
    if (params['prior_wp_sm'] == "only_bij" and
        not fwd.bijection(x, state['wp'])[0]):
        return float(-np.inf)
    #if experts:
    #    lps = log_prob_signals_expertise(state['signals'], state['world'],
    #                                     x, state['expertise'])
    #else:
    #    lps = log_prob_signals(state['signals'], state['world'], x)
    mll =  meta_loglike_marg(meta, state['world'], x, state['wp'],
                             state['meta_noise'], params)
    if params['binary_beliefs']:
        bll = beliefs_loglike_binary(beliefs, state['signals'], x, state['wp'],
                                     params['own_noise_type'], state['own_noise'])
    else:
        bll = beliefs_loglike_marg(beliefs, state['world'], x, state['wp'],
                                   params['own_noise_type'], state['own_noise'])
    return mll + bll