예제 #1
0
cs1_score = expr.behav_score(stage = 'test',
                             trial_pos = ['cs1 -> nothing'],
                             resp_pos = ['us'])

cs2_score = expr.behav_score(stage = 'test',
                             trial_pos = ['cs2 -> nothing'],
                             resp_pos = ['us'])


##### DEFINE OATS AND EXPERIMENTS #####

# basic conditioning, i.e. acquistion of a conditioned response
conditioning = expr.experiment(schedules = {'control': no_cond, 'experimental': cond},
                               oats = {'acquistion': expr.oat(schedule_pos = ['experimental'],
                                                              schedule_neg = ['control'],
                                                              behav_score_pos = cs_score,
                                                              behav_score_neg = cs_score)
})

# basic extinction of a conditioned response
extinction = expr.experiment(schedules = {'control': cond, 'experimental': extn},
                             oats = {'extinction': expr.oat(schedule_pos = ['control'],
                                                            schedule_neg = ['experimental'],
                                                            behav_score_pos = cs_score,
                                                            behav_score_neg = cs_score)
})

# ABA renewal
aba_renewal = expr.experiment(schedules = {'experimental': extn_aba, 'control': extn_aaa},
                              oats = {'renewal': expr.oat(schedule_pos = ['experimental'],
                                                          schedule_neg = ['control'],
예제 #2
0
                                'transfer': expr.stage(x_pn = [['a', 'x'], ['b', 'y']],
                                                       y = [['cat3'], ['cat4']],
                                                       n_rep = 10),
                                'test': expr.stage(x_pn = [['a', 'y'], ['b', 'x']],
                                                   y_psb = ['cat3', 'cat4'],
                                                   lrn = False,
                                                   n_rep = 1)})

rel_irl_oat = expr.oat(schedule_pos = ['design'],
                      behav_score_pos = expr.behav_score(stage = 'test',
                                                        trial_pos = ['a.y -> nothing', 'b.x -> nothing'],
                                                        trial_neg = ['a.y -> nothing', 'b.x -> nothing'],
                                                        resp_pos = ['cat3', 'cat4'],
                                                        resp_neg = ['cat4', 'cat3']))

learned_predictiveness = expr.experiment(schedules = {'design': design},
                                         oats = {'rel_irl': rel_irl_oat})

del design; del rel_irl_oat

# inattention after blocking
design = expr.schedule(resp_type = 'choice',
                  stages = {'single_cue': expr.stage(x_pn = [['a'], ['b']], y = [['cat1'], ['cat2']], n_rep = 5),
                            'double_cue': expr.stage(x_pn = [['a', 'x'], ['b', 'y'], ['e', 'f'], ['g', 'h']], y = 2*[['cat1'], ['cat2']], n_rep = 5),
                            'transfer': expr.stage(x_pn = [['e', 'y'], ['g', 'x']], y = [['cat3'], ['cat4']], n_rep = 10),
                            'inattention_test': expr.stage(x_pn = [['e', 'x'], ['g', 'y']], y_psb = ['cat3', 'cat4'], lrn = False, n_rep = 1)})
        
inattention_oat = expr.oat(schedule_pos = ['design'],
                          behav_score_pos = expr.behav_score(stage = 'inattention_test',
                                                            trial_pos = ['e.x -> nothing', 'g.y -> nothing'],
                                                            trial_neg = ['e.x -> nothing', 'g.y -> nothing'],
                                                            resp_pos = ['cat3', 'cat4'],
예제 #3
0
                                                                              't2.b1 -> nothing'],
                                                                 resp_pos = ['cat3', 'cat4'],
                                                                 resp_neg = ['cat4', 'cat3']))
threat_benign_trel = expr.oat(schedule_pos = ['design'],
                             behav_score_pos = expr.behav_score(stage = 'test',
                                                                 trial_pos = ['t3.b4 -> nothing', 
                                                                              't4.b3 -> nothing'],
                                                                 trial_neg = ['t3.b4 -> nothing', 
                                                                              't4.b3 -> nothing'],
                                                                 resp_pos = ['cat3', 'cat4'],
                                                                 resp_neg = ['cat4', 'cat3']))

fast = expr.experiment(
                  schedules = {'design': design},
                  oats = {'rel_irl': rel_irl, 
                          'threat_benign_os': threat_benign_os, 
                          'threat_benign_brel': threat_benign_brel, 
                          'threat_benign_trel': threat_benign_trel},
                  notes = 'Facial Affect Salience Task.  Cues b1, b2 etc. represent benign faces; cues t1, t2 etc. represent threatening faces.  In the "training" stage, b1, b2, t3 and t4 are relevant, while all other cues are irrelevant.  In the "transfer" stage, b5, b6, t5 and t6 form an embedded overshadowing design.  The OAT "rel_irl" measures attentional transfer toward relevant cues opposed to irrelevant ones.  The OAT "threat_benign_os" measures threat salience in overshadowing trials (b4, b5, t5 and t6); "threat_benign_brel" measures threat salience after the benign cues were relevant (b1, b2, t1 and t2) and "threat_benign_trel" measures threat salience after threat cues were relevant (b3, b4, t3 and t4).  Names of OAT scores in RO1 proposal: measure1 = threat_benign_os, measure2 = threat_benign_brel, and measure3 = threat_benign_trel.')

fast_no_tutorial = expr.experiment(
                  schedules = {'design': expr.schedule(resp_type = 'choice',
                  stages = {
                      'relevance': expr.stage(
                            x_pn = [['b1', 't1'], ['b1', 't2'], ['b2', 't1'], ['b2', 't2'], ['t3', 'b3'], ['t3', 'b4'], ['t4', 'b3'], ['t4', 'b4']],
                            y = 2*[['cat1'], ['cat1'], ['cat2'], ['cat2']],
                            y_psb = ['cat1', 'cat2'],
                            n_rep = 12),
                      'transfer': expr.stage(
                            x_pn = [['t5', 'b5'], ['t6', 'b6'], ['t1', 'b1'], ['t2', 'b2'], ['t3', 'b3'], ['t4', 'b4']],
                            y = 3*[['cat3'], ['cat4']],
예제 #4
0
                         'test': test_same
                     })

# group "different"
different = expr.schedule(resp_type='exct',
                          stages={
                              'cond': training,
                              'ex_cs1': extinction_cs1,
                              'ex_cs2': extinction_cs2,
                              'ex_cs2': extinction_cs2,
                              'ex_cs1': extinction_cs1,
                              'test': test_different
                          })

# behavioral score
cs1_score = expr.behav_score(stage='test',
                             trial_pos=['cs1 -> nothing'],
                             resp_pos=2 * ['us'])

# experiment object
oc_renewal = expr.experiment(schedules={
    'same': same,
    'different': different
},
                             oats={
                                 'renewal':
                                 expr.oat(schedule_pos=['different'],
                                          schedule_neg=['same'],
                                          behav_score_pos=cs1_score,
                                          behav_score_neg=cs1_score)
                             })
예제 #5
0
                           expr.stage(x_pn=[['pc1'], ['pr1'], ['pc2'], ['pr2'],
                                            ['pc1', 'pr1'], ['pc2', 'pr2']],
                                      y_psb=['c1', 'r1', 'c2', 'r2'],
                                      lrn=False,
                                      n_rep=2)
                       })

pc_pr = expr.oat(schedule_pos=['design'],
                 behav_score_pos=expr.behav_score(
                     stage='test',
                     trial_pos=['pc1.pr1 -> nothing', 'pc2.pr2 -> nothing'],
                     trial_neg=['pc1.pr1 -> nothing', 'pc2.pr2 -> nothing'],
                     resp_pos=['r1', 'r2'],
                     resp_neg=['c1', 'c2']))

basic_ibre = expr.experiment(schedules={'design': design},
                             oats={'pc_pr': pc_pr})

del design
del pc_pr

##### NOVEL TEST CUES IN THE INVERSE BASE RATE EFFECT DESIGN #####

# Juslin, Wennerholm and Winman (2001), Experiment 1
# This is a basic inverse base rate effect design with added novel cue test trials.
# Participants preferred the rare outcomes on the novel test trials, which
# Winman et al took this as evidence for their eliminative inference explanation of the IBRE.
# I'm only including the 3:1 (common:rare) base rate ratio condition.
# Results were similar in the 7:1 condition DOUBLE CHECK.
# I'm only including the two most important the test trial types, viz. conflicting (PC + PC) and novel cue.

# UPDATE CODE!