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