Credits:
This script is based in large part on the bart.iqjs script programmed by D. Nietz, Millisecond
Last Modified: January 12, 2024 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the autoBART, a measure of impulsivity and risk aversion, based on Pleskac et al (2008).
Pleskac, T.J., Wallsten, T.S, Wang, P. & Lejuez, C.W. (2008). Development of an Automatic Response Mode to Improve the Clinical Utility of Sequential Risk-Taking Tasks. Experimental and Clinical Psychopharmacology, 16, 555–564.
Lejuez, C. W., Read, J. P., Kahler, C. W., Richards, J.B., Ramsey, S. E., Stuart, G. L., et al. (2002). Evaluation of a behavioral measure of risk-taking: The Balloon Analogue Risk Task (BART). Journal of Experimental Psychology: Applied, 8, 75–84.
10 minutes
Participants are given 30 (default) balloons and are asked up front to indicate how often they want to pump up each balloon. For each successful pump, they can earn money. However, if a balloon pops before the indicated number of pumps is reached, participants lose all their potential winnings for the current balloon.
• 30 ballons to pump up (default)
• participants indicate up front how many times the balloon should be pumped up
• each (successful) pump increases the possible reward gained from this balloon
• the probability of popping is by default 1/128; explosionpoints are either fixed (parameters.fixedExplosionsequence = true) or
random (parameters.fixedExplosionsequence = false)
=> If explosion points are random, they get determined by runtime by the same algorithm used for the BART.iqjs:
script samples randomly without replacement from a list of numbers 1-128: once the 1 gets sampled, the balloon pops.
The probability that the 1 gets sampled increases with each successful pump (-> list.pumpResult).
=> If explosion points are fixed, the original BARTY (youth BART, Lejuez et al, 2007) sequence
is used in this script (-> list.fixedExplosionpoints)
• after 30 balloons have been pumped, the experiment is over, and participants are given their final winnings
• script collects several measures that track the responses to the first 10, the second 10, and the third 10 balloons separately
Instructions are not original but are based in part on Pleskac et al (2008).
Instructions can be easily edited under section Editable Instructions
File Name: autobart_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| fixedExplosionsequence | True = runs the same explosion point sequence for all participants (default) false = explosion point is randomly determined for each balloon |
| totalEarnings | Sums up the earnings across balloons |
| balloonCount | Running total of number of balloons |
| totalExplosions | The number of exploded balloons |
| nonexplodedBalloons | The number of balloons out of (default) 30 that did NOT explode |
| totalWantedPumps | Number of wanted pumps across all balloons (whether or not it came to it) |
| averageWantedPumps | The mean pump count that participant wanted to pump up each balloon (includes exploded balloons) |
| stdWantedPumps | Estimated Standard Deviation of wanted pumps |
| totalPumpCount | Total number of actual pumps across balloons |
| averagePumpCount | The mean number of actual pumps per balloon (includes exploded balloons) |
| stdPumpCount | Estimated Standard Deviation of actual pumps (across all balloons, exploded and not) |
| adjustedTotalPumpCount | Sums up the actual pumps of balloons that did not explode (= the number of pumps that participant indicated for non-exploded balloons) |
| adjustedAveragePumpCount | Mean number of pumps only of balloons that did not explode (= the number of pumps that participant on average indicated for non-exploded balloons) (=Dependent Variable) |
| stdAdjustedPumpCount | Estimated Standard Deviation of actual pumps of non-exploded balloons |
| balloonCount1 | Separate measures for number of balloons for the first third (trials 1-10) |
| balloonCount2 | Separate measures for number of balloons for the second third (trials 11-20) |
| balloonCount3 | Separate measures for number of balloons for the last third (trials 21-30) |
| totalExplosions1 | Separate measures for the number of totalExplosions for the first third (trials 1-10) |
| totalExplosions2 | Separate measures for the number of totalExplosions for the second third (trials 11-20) |
| totalExplosions3 | Separate measures for the number of totalExplosions for the last third (trials 21-30) |
| totalWantedPumps1 | Number of wanted pumps (whether or not it came to it) for the first third (trials 1-10) |
| totalWantedPumps2 | Number of wanted pumps (whether or not it came to it) for the second third (trials 11-20) |
| totalWantedPumps3 | Number of wanted pumps (whether or not it came to it) for the last third (trials 21-30) |
| averageWantedPumps1 | The mean pump count that participant wanted to pump up each balloon for the first third (trials 1-10) (includes exploded balloons) |
| averageWantedPumps2 | The mean pump count that participant wanted to pump up each balloon for the second third (trials 11-20) (includes exploded balloons) |
| averageWantedPumps3 | The mean pump count that participant wanted to pump up each balloon for the last third (trials 21-30) (includes exploded balloons) |
| nonExplodedBalloons1 | Separate measures for the number of nonExplodedBalloons for the first third (trials 1-10) |
| nonExplodedBalloons2 | Separate measures for the number of nonExplodedBalloons for the second third (trials 11-20) |
| nonExplodedBalloons3 | Separate measures for the number of nonExplodedBalloons for the last third (trials 21-30) |
| totalPumpCount1 | Separate measures for the first third (trials 1-10) |
| totalPumpCount2 | Separate measures for the second third (trials 11-20) |
| totalPumpCount3 | Separate measures for tthe last third (trials 21-30) |
| averagePumpCount1 | Separate measures for the mean average pump count for the first third (trials 1-10) |
| averagePumpCount2 | Separate measures for the mean average pump count for the second third (trials 11-20) |
| averagePumpCount3 | Separate measures for the mean average pump count for the last third (trials 21-30) |
| adjustedTotalPumpCount1 | Separate measures for the pumps of balloons that did not explode for the first third (trials 1-10) |
| adjustedTotalPumpCount2 | Separate measures for the pumps of balloons that did not explode for the second third (trials 11-20) |
| adjustedTotalPumpCount3 | Separate measures for the pumps of balloons that did not explode for the last third (trials 21-30) |
| adjustedAveragePumpCount1 | Separate measures for pumps only of balloons that did not explode for the first third (trials 1-10) |
| adjustedAveragePumpCount2 | Separate measures for pumps only of balloons that did not explode for the second third (trials 11-20) |
| adjustedAveragePumpCount3 | Separate measures for pumps only of balloons that did not explode for the last third (trials 21-30) |
| postExplosionAdjustmentScore | Measures sensitivity to punishment/loss Difference in the mean number of pumps after successful collection - mean number of pumps after explosions => positive: trials after explosions had on average lower pump counts (sensitive to punishment) => negative: trials after explosions had on average higher pump counts (sensitive to losses) |
| postExplosionAdjustmentScore1 | Separate measures for the first third (trials 1-10) |
| postExplosionAdjustmentScore2 | Separate measures for the second third (trials 11-20) |
| postExplosionAdjustmentScore3 | Separate measures for the last third (trials 21-30) |
File Name: autobart_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| fixedExplosionsequence | True = runs the same explosion point sequence for all participants (default) false = explosion point is randomly determined for each balloon |
| balloonCount | Running total of number of balloons |
| totalEarnings | Sums up the earnings across balloons |
| explosionPoint | The number of pumps after which the current balloon pops/would have popped if parameters.fixedExplosionsequence = false and balloon did not pop values.explosionpoint is randomly determined afterwards |
| explosion | 0 = balloon did not explode 1 = balloon exploded |
| wantedPumps | Number of times participant WANTS to pump up a balloon (resets for each balloon) |
| pumpCount | Number of times a balloon actually gets pumped up (resets for each balloon |
| pumpResult | The selected digit from list.pumpResult (only relevant if parameters.fixedExplosionsequence = false) if 1 -> balloon pops |
| timeBefore1stPump | Time it takes participant to decide on wanted number of pumps for each balloon |
| response | The participant's response only openended.pumpinput could collect response data |
| latency | The response latency see values.timeBefore1stPump (is the same in the autoBart) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| totalBalloons | Number of balloons: Default is 30 this script includes summary variables that distinguish between the first 10, the second 10, and the third 10 balloons. | 30 |
| pumpValue | Payoff per pump: Default is $.05 | 0.5 |
| balloonSizeIncrement | Ballon size increment in scale proportion to the original image | 0.01 |
| showPumpCount | Show current pump count true: pump count is shown to participant (default) false: pump count is not shown to participant | true |
| showBalloonCount | Show current balloon count true: ballon count is shown to participant (default) false: ballon count is not shown to participant | true |
| showPotentialEarnings | Show potential earnings for the current balloon (default) | true |
| revealExplosionPoint | True = reveals explosionpoints of non-popped balloons (default) false = does not reveal explosionpoints of of non-popped balloons | true |
| fixedExplosionSequence | True = runs the same explosion point sequence for all participants (default) false = explosion point is randomly determined for each balloon | true |
Timing Parameters |
||
| pumpDuration | The time it takes for one pump in ms | 50 |
| revealDuration | The time the explosion point of a non-popped balloon is presented at the end of the sequence | 1000 |