DbS Code
10 Jul 2020 - Neil
This code implements the decision-by-sampling model for risky choices reported in Stewart, Chater, and Brown (2006), Stewart and Simpson (2008) and Stewart (2009). The example R code implements the model for one example of the common ratio effect from Kahneman and Tversky (1979).
You can find the DbS_code on github.
Here is an example of the code at work:
> # Load the decision by sampling library
> source("DbS.R")
>
> # 80% chance of 4000 otherwise nothing
> # vs 3000 for sure
> c3 <- list(g3A=gamble(x=c(4000, 0), p=c(0.8, 0.2)),
+ g3B=gamble(x=c(3000), p=c(1))
+ )
> c3
$g3A
x p
[1,] 4000 0.8
[2,] 0 0.2
$g3B
x p
[1,] 3000 1
>
> # 20% chance of 4000 otherwise nothing
> # vs 25% chance of 3000 otherwise
> c4 <- list(g4A=gamble(x=c(4000, 0), p=c(0.2, 0.8)),
+ g4B=gamble(x=c(3000, 0), p=c(0.25, 0.75))
+ )
> c4
$g4A
x p
[1,] 4000 0.2
[2,] 0 0.8
$g4B
x p
[1,] 3000 0.25
[2,] 0 0.75
>
> # Thresholds for discriminating amounts and probabilities
> thresholds=list(x=10, p=.1)
>
> # A uniform background context of amounts and probabilities
> context=list(x=seq(-6000,6000,1), p=seq(-1,1,.01))
>
> # Probability of selecting each gamble for each choice
> predictions <- DbS(choices=list(c3=c3, c4=c4),
+ thresholds=thresholds,
+ context=context,
+ prob.sample.context=.5,
+ prob.sample.amount=.5,
+ self.comparison=F,
+ choice.mechanism="accumulators",
+ choice.threshold=5
+ )
> predictions
$c3
g3A g3B
0.1818279 0.8181721
$c4
g4A g4B
0.6025243 0.3974757