#@title Eq. b# Two state (0 or 1)# 0 when pL < 0.5; 1 when pL >= 0.5defcorrect_latent(pL,pS,pG,T): parameters ={}for t inrange(T-1): parameters['pL_correct_obs'+str(t)]= np.dot(pL, (1- pS))/(np.dot(pL, (1- pS))+ np.dot((1- pL), pG))return'pL_correct_obs'+str(t)
#@title Eq. c# Two state (0 or 1)# 0 when pL < 0.5; 1 when pL >= 0.5defwrong_latent(pL,pS,pG,T): parameters ={}for t inrange(T-1): parameters['pL_wrong_obs'+str(t)]= np.dot(pL, pS)/(np.dot(pL, pS)+ np.dot((1- pL), (1- pG)))return'pL_wrong_obs'+str(t)