Skip to contents

A reference table rather than a computation. It carries the name each family has here, the name hBayesDM gives the same model where it has one, the task, the options per trial, the addition terms and the parameters with their links.

Usage

frm_learn_families()

Value

A data frame, one row per family.

Details

The parameter names are this package's, not hBayesDM's, and the hbayesdm_pars column is the map, in the same order as pars. A cell that is a name is a RENAME; a cell that is an expression is a TRANSFORM, and three of the six rows carry one. Two of those three involve an estimated parameter (-tau * alpha for prl_fictitious()'s bias, pi / tau1 for ts_par7()'s pers), so no constant relates them and a value carried across unchanged fits a different model without complaint. ?prl_fictitious and ?ts_par7 derive both. One convention across six families is worth more than six inherited ones: alpha is always a learning rate on (0, 1) and tau is always the softmax sensitivity on (0, Inf), so what a formula does to alpha means the same thing whichever family it is written against. hBayesDM spells the two-armed bandit's learning rate A, the reversal models' sensitivity beta, and the Iowa gambling task's UTILITY EXPONENT alpha.

ONE ROW HAS NO COUNTERPART. rlddm() is a delta rule feeding a drift-diffusion choice rule, and hBayesDM ships the two halves separately (bandit2arm_delta and choiceRT_ddm) rather than the join. Its hbayesdm cell says none rather than naming a model it is not, and ?rlddm says which of that package's parameters map onto which of its own. igt_orl()'s cell is a rename with one transform: hBayesDM bounds K to (0, 5) through a probit where this family puts it on (0, Inf) with a log link, and the two are the same number on the same scale wherever hBayesDM's bound is not binding.

Two cautions the map does not remove. Core refuses a distributional parameter name containing a dot or an underscore, which is why the dual-rate family spells its rates Arew and Apun rather than anything more readable. And lambda is used by the literature for three unrelated quantities: the arm decay in the Kalman filter, the eligibility trace in the two-step model, and loss aversion in the Iowa gambling task. Each family's help says which.

Examples

frm_learn_families()[, c("family", "hbayesdm", "pars")]
#>                      family                   hbayesdm
#> 1          bandit2arm_delta           bandit2arm_delta
#> 2           bandit2arm_dual prl_rp (split = 'outcome')
#> 3            prl_fictitious             prl_fictitious
#> 4 bandit4arm2_kalman_filter  bandit4arm2_kalman_filter
#> 5                   ts_par7                    ts_par7
#> 6             igt_pvl_delta              igt_pvl_delta
#> 7                   igt_orl                    igt_orl
#> 8                     rlddm                       none
#>                                          pars
#> 1                                  alpha, tau
#> 2                             Arew, Apun, tau
#> 3                            alpha, bias, tau
#> 4    tau, lambda, center, mu0, sigma0, sigmaD
#> 5 w, alpha1, tau1, alpha2, tau2, lambda, pers
#> 6                   alpha, shape, lambda, tau
#> 7                 Arew, Apun, k, betaF, betaP
#> 8                 alpha, drift, bs, ndt, bias