-
Notifications
You must be signed in to change notification settings - Fork 0
Presenting choices
The script BEC_Demo_Choice
shows how easy it is to put a choice on screen. Fill in a minimal amount of specifications in the script and you will immediately get an intuition for how it works. More information is detailed below.
The purpose of the presented decisions is to leverage economic discounting behavior, by making participants choose between a highly rewarded but costly option on the one hand, and an uncostly option associated with a smaller reward. We present choices of four types:
- delay discounting (For example: do you prefer receiving 20€ right now, or 30€ in two months from now?)
- risk discounting (For example: do you prefer receiving 20€ guaranteed, or 30€ if you win a lottery where you can also lose 10€?)
- physical effort discounting (For example: do you prefer receiving 20€ for no effort, or 30€ after climbing 4 flights of stairs?)
- mental effort discounting (For example: do you prefer receiving 20€ for no effort, or 30€ after copying 4 pages of text?)
In order to calculate the payment to the participant, the experimenter can draw rewarded trials that will actually get implemented. This would mean that the participant (1) had to wait the indicated time before the money is wired, (2) saw an animated wheel-of-fortune, (3) had to climb the actual indicated amount of flights of stairs, or (4) was sent home with a print version of Lorem ipsum shuffled (PDF in the Stimuli folder), from which they had to copy the indicated amounts of pages and lines. The text consists of nonwords from the famous lorem ipsum random text, but in a shuffled order. The font was altered such that it could not be converted into plain text by text recognition software implemented in scanners or scanning apps on phones. Participants were made conscious of the experience of effort when climbing the stairs on their way up to PRISME, or by copying the first 5 lines of text on the lab computers prior to starting the experiment.
Uncostly trials or locally implemented costly trials were paid out in cash after the experiment.
The uncostly option is smaller and sooner, and is referred to in BECHAMEL with the prefix or suffix "SS", even if the cost in question is not delay. So, the smaller reward is the variable SSReward (a normalized value between 0 and 1), SSCost is always zero, choiceSS is a logical variable with value "1" when the uncostly option is chosen, and sideSS describes whether the uncostly option was presented on the left or on the right side of the screen.
Similarly, the costly option is larger and later, and is referred to in BECHAMEL with the prefix or suffix "LL", even if the cost in question is not delay. So, the variable LLCost is the cost level, expressed as a value between 0 and 1 (a normalized value between zero cost and the maximum cost level), and the larger reward is the variable LLReward which always takes on the value 1 (for 100%).
An individual choice can be plotted as a dot with LLCost on the x-axis, and SSReward on the y-axis, as the other two features of the choice are fixed and thus left implicit (i.e., LLReward = 1 and SSCost = 0):
Each individual has their own indifference curve that describes for which cost levels of the costly option, there is an equivalent uncostly option of which the smaller reward has the same subjective value. SS choices are found above the indifference curve, LL choices are found below the indifference curve.
The choice types that are featured in BECHAMEL are discounting paradigms with 4 types of cost: delay, risk, physical effort, and mental effort. They are respectively referred to as numbers 1-4 in the variable choicetype.
Presenting a choice on screen is very simple and requires only the minimal information mentioned above. You just have to fill in a trialinput structure, and enter the settings structure and Psychtoolbox window.
trialinput.choicetype %Set number (1:delay/2:risk/3:physical effort/4:mental effort) trialinput.SSReward %Reward for the uncostly (SS) option (between 0 and 1) trialinput.Cost %Cost level or the costly (LL) option (between 0 and 1) [trialoutput,exitflag] = BEC_ShowChoice(window,exp_settings,trialinput)
Additionally, in trialinput you can set the side at which the SS option is presented, flag whether this is an example trial (which means there is more text on screen and the risk lottery is animated), specify the inter-trial interval during which a fixation cross is on screen, flag whether the pupil must be recorded with an eye tracker, and enter the trial number (which is used in setting the scene for the pupil data).
The output of the function is a structure containing all relevant information related to the choice that was just made. If the participant took too long to respond (i.e., the timeout time defined as exp_settings.timings.max_resp_time was exceeded), then choiceSS and RT are set to NaN. Same is the case if the ESCAPE key was pressed, in which case exitflag is set to 1.
In the example script BEC_Master_Mood
, the data of all trials are gathered in a structure called trialinfo. For reproducibility of the results and simplicity of using shared choice analysis functions later, it is strongly recommended to do the same:
if choicetrial == 1 AllData.trialinfo = trialoutput; else AllData.trialinfo(choicetrial) = trialoutput; end
There are a number of different functions in the BECHAMEL toolbox called to present the choices. This is how they work:
-
BEC_ShowChoice
is the function that you call and that prepares, presents, and stores the choice. It also monitors for a response: a keypress on a computer, or a touch when the screen is tactile.-
BEC_DrawChoiceScreen
is literally a drawing function; it puts all the text and graphics on screen for any choice type. It also selects which cost is being drawn, which is done by either of the following auxiliary functions:-
BEC_DrawDelayCost
,BEC_DrawRiskCost
,BEC_DrawPhysicalEffortCost
,BEC_DrawMentalEffortCost
. The bilateral cost visualization is put on screen. (Note: the visualization of delay below is new, it looked different before. The old version can still be found inBEC_DrawDelayCost2
.)
-
-
We chose to present the choices with a visualization of the costs, rather than a number on screen. The logic was that this would hopefully reduce heuristic decision-making (e.g., "I reject any risk >40%"). The reward, in euros, is still shown as a number rounded to multiples of 0.10€. When trialinput.Example = 1, there is more accompanying text on screen; otherwise, only the visualized costs and rewards are on screen. To represent the cost level, a red shaded area in a symbolic representation of the cost was chosen.
Delay: example trial
Delay: test trial
Risk: example trial
Risk: test trial
Physical effort: example trial
Physical effort: test trial
Mental effort: example trial
Mental effort: test trial
Verbose: delay
Verbose: risk
Verbose: effort
Example implementation: with emotions