diff --git a/mbmvpa/preprocessing/computational_modeling/peer_ocu.py b/mbmvpa/preprocessing/computational_modeling/peer_ocu.py index b2e17e3..b5fa47d 100644 --- a/mbmvpa/preprocessing/computational_modeling/peer_ocu.py +++ b/mbmvpa/preprocessing/computational_modeling/peer_ocu.py @@ -27,20 +27,37 @@ def _set_latent_process(self, df_events, param_dict): U_safe = p_gamble * pow(safe_Hpayoff, rho) + \ (1-p_gamble) * pow(safe_Lpayoff, rho) - self._add('EVsafe',U_safe) - U_risky = p_gamble * pow(risky_Hpayoff, rho) + \ (1-p_gamble) * pow(risky_Lpayoff, rho) + + self._add('Util_solo_safe',U_safe) + self._add('Util_solo_risky',U_risky) + if condition == 1: # safe-safe U_safe += ocu elif condition == 3: # risky-risky U_risky += ocu - + pRisky = inv_logit(tau * (U_risky - U_safe)) - - self._add('OCUModifiedEVsafe',U_safe) - self._add('EVrisky',U_safe) - self._add('SUrisky',U_risky - U_safe) + + ##########################needs additional consideration for fMRI####################### + if choice == 0: # modified utility: U_OCU chosen gamble − U_OCU unchosen gamble, for fMRI extraction + self._add('Util_unchosen_ocu',U_safe) # vmPFC + self._add('Util_unchosen_ocu',U_risky) + elif choice == 1: + self._add('Util_chosen_ocu',U_safe) # vmPFC + self._add('Util_chosen_ocu',U_risky) + # U_ocu_safe and U_ocu_risky should be merged into U_ocu + + if condition == 1: # safe-safe + self._add('distance',pRisky) # dACC, insula via interactive effect + elif condition == 3: # risky-risky + self._add('distance',1-pRisky) # dACC, insula via interactive effect + # two distance_ss and distance_rr are essentially the same parameter + ######################################################################################### + + #self._add('Util_ocu_safe',U_safe) + #self._add('Util_ocu_risky',U_risky) self._add('Prisky',pRisky) self._add('Psafe', 1-pRisky)