def loglike(self, beliefs, meta, state, var_value, params, latents): if params.indiv_level_noise: own_noise_lst = [state.own_noise for k in range(len(latents))] meta_noise_lst = [state.meta_noise for k in range(len(latents))] else: own_noise_lst = [ll.own_noise for ll in latents] meta_noise_lst = [ll.meta_noise for ll in latents] ll_ppl = [ scoring.reports_ll_person( bel, met, lat.world, lat.sm, lat.wp, on, mn, state.expertise, var_value, params, lat.bm, lat.mm ) for bel, met, lat, on, mn in zip(beliefs, meta, latents, own_noise_lst, meta_noise_lst) ] ll_ppl = np.array(ll_ppl) ll = np.nansum(ll_ppl, axis=0) if np.isinf(ll).any(): 1 / 0 return ll
def loglike(self, beliefs, meta, state, var_value, params, latents): assert self.name in ["own_noise", "meta_noise"] expertise = get_expertise(state, params.use_expertise) bias = get_bias(state, params.use_bias) if self.name == "own_noise": own_noise = var_value meta_noise = state.meta_noise else: own_noise = state.own_noise meta_noise = var_value ll_ppl = [ scoring.reports_ll_person( bel, met, lat.world, lat.sm, lat.wp, own_noise, meta_noise, expertise, bias, params, lat.bm, lat.mm ) for bel, met, lat in zip(beliefs, meta, latents) ] ll_ppl = np.array(ll_ppl) ll = np.nansum(ll_ppl, axis=0) l_prior = self.noise_log_prior(var_value) tot = ll + l_prior return tot
def loglike(self, beliefs, meta, state, var_value, params, latents): bias = get_bias(state, params.use_bias) debugs = [None] * len(beliefs) if params.indiv_level_noise: own_noise_lst = [state.own_noise for k in range(len(latents))] meta_noise_lst = [state.meta_noise for k in range(len(latents))] else: own_noise_lst = [ll.own_noise for ll in latents] meta_noise_lst = [ll.meta_noise for ll in latents] ll_ppl = [ scoring.reports_ll_person( bel, met, lat.world, lat.sm, lat.wp, own_noise, meta_noise, var_value, bias, params, lat.bm, lat.mm, d ) for bel, met, lat, d, own_noise, meta_noise in zip( beliefs, meta, latents, debugs, own_noise_lst, meta_noise_lst ) ] ll_ppl = np.array(ll_ppl) # var_val2 = np.ones(len(var_value)) * .5 # var_val2[18] = .7 # ll_pp0 = [scoring.reports_ll_person(bel, met, lat.world, lat.sm, # lat.wp, state.own_noise, # state.meta_noise, # var_val2, bias, params, lat.bm, lat.mm) # for bel, met, lat in # zip(beliefs, meta, latents)] # ll_pp0 = np.array(ll_pp0) # if np.any(var_value > 0): # s18v = np.array([b[1,18] for b in beliefs]) # ws = np.array([ll.world for ll in latents]) # 1/0 ll = np.nansum(ll_ppl, axis=0) # if np.isinf(ll).any(): # 1/0 return ll