Skip to contents

Computes predicted choice proportions using the SiGN (Signals for Good News) model, based on input parameters describing reinforcement schedules, stimulus durations, and signalling conditions.

Usage

SiGN(params)

Arguments

params

A named list of model parameters, typically created with choice_params(). This list must include all required values such as initial and terminal link durations, terminal link entry and reinforcement probabilities, schedule types. See choice_params() for a complete description of required elements.

Value

An object of class "SiGN", which includes:

  • cp: A numeric vector of predicted choice proportions.

  • details: A data frame containing intermediate model components such as reinforcement rates, delay reductions, beta values, and signalling status.

Details

Specifics on the calculation can be found in Dunn et al. (2024).

References

Dunn, R. M., Pisklak, J. M., McDevitt, M. A., & Spetch, M. L. (2024). Suboptimal choice: A review and quantification of the signal for good news (SiGN) model. Psychological Review. 131(1), 58-78. https://doi.org/10.1037/rev0000416

Examples

# Standard FR 1 Initial Links
params <- choice_params(profile = "zentall")
result <- SiGN(params)
result$cp       # predicted choice proportion
#> [1] 0.9590059
result$details  # access intermediate terms
#>          cp        r_a        r_b r_a_com r_b_com    Big_T     cr_a      cr_b
#> 1 0.9590059 0.05263158 0.04545455      NA      NA 21.14286 11.54496 0.5714286
#>   dr_avg_a  dr_avg_b dr_bonus_a dr_bonus_b   beta_a beta_b sig_a sig_b tr_p_a
#> 1 1.428571 0.5714286   9.714286          0 1.041393      1  TRUE FALSE    0.2
#>   tr_p_b s_delta beta_log
#> 1    0.5       1       10

# Long VI 30 Initial Links
params <- choice_params(profile = "zentall",
  il_dur_a = 30, il_dur_b = 30, il_sched_a = "VI", il_sched_b = "VI")
result <- SiGN(params)
result$cp
#> [1] 0.3070095
result$details
#>          cp         r_a    r_b    r_a_com r_b_com    Big_T     cr_a     cr_b
#> 1 0.3070095 0.006097561 0.0125 0.01123596    0.02 61.14286 18.68283 20.57143
#>   dr_avg_a dr_avg_b dr_bonus_a dr_bonus_b    beta_a beta_b sig_a sig_b tr_p_a
#> 1 9.428571 20.57143   41.71429          0 0.2218487      1  TRUE FALSE    0.2
#>   tr_p_b s_delta beta_log
#> 1    0.5       1       10