Democratizing diffusion decision models: A comprehensive tutorial on developing, validating, and fitting diffusion decision models in Python with FlexDDM Article Swipe
YOU?
·
· 2024
· Open Access
·
· DOI: https://doi.org/10.31234/osf.io/j9m67
Diffusion decision models (DDMs) are frequently used tools in the cognitive sciences for modeling decision-making processes. However, conventional DDM software often falls short in flexibility and accessibility, limiting researchers' ability to explore new formulations of the model. To address barriers of entry, we present the Flexible Diffusion Decision Model (FlexDDM) Python package, a versatile and user-friendly software package designed to simplify the development, testing, and validation of DDMs. FlexDDM allows for extensions of the standard DDM that would otherwise not be possible with software reliant on traditional likelihood-based inference, while being simpler to implement programmatically than currently available likelihood-free options. In this tutorial, we provide an overview of FlexDDM’s unique features for efficient simulation, followed by a comprehensive guide on how to write and customize models in Python. We then demonstrate the package's fitting and model validation routines through an empirical analysis of conflict resolution tasks. Our analysis of six different datasets reveals that models incorporating motivation-based factors outperform contemporary DDMs in five of the six datasets, offering superior explanations of individual differences in cognitive control. These results underscore the utility of FlexDDM in advancing cognitive modeling by making it easier for researchers to experiment with and apply sophisticated modeling techniques, ultimately contributing to a deeper understanding of decision-making processes.
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- https://doi.org/10.31234/osf.io/j9m67
- OA Status
- gold
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W4402164538
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4402164538Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.31234/osf.io/j9m67Digital Object Identifier
- Title
-
Democratizing diffusion decision models: A comprehensive tutorial on developing, validating, and fitting diffusion decision models in Python with FlexDDMWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2024Year of publication
- Publication date
-
2024-09-03Full publication date if available
- Authors
-
Kyle J. LaFollette, Joy Fan, Alessandra Puccio, Heath A. DemareeList of authors in order
- Landing page
-
https://doi.org/10.31234/osf.io/j9m67Publisher landing page
- Open access
-
YesWhether a free full text is available
- OA status
-
goldOpen access status per OpenAlex
- OA URL
-
https://doi.org/10.31234/osf.io/j9m67Direct OA link when available
- Concepts
-
Python (programming language), Computer science, Diffusion, Management science, Programming language, Engineering, Physics, ThermodynamicsTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
0Total citation count in OpenAlex
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W4402164538 |
|---|---|
| doi | https://doi.org/10.31234/osf.io/j9m67 |
| ids.doi | https://doi.org/10.31234/osf.io/j9m67 |
| ids.openalex | https://openalex.org/W4402164538 |
| fwci | 0.0 |
| type | preprint |
| title | Democratizing diffusion decision models: A comprehensive tutorial on developing, validating, and fitting diffusion decision models in Python with FlexDDM |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| topics[0].id | https://openalex.org/T10438 |
| topics[0].field.id | https://openalex.org/fields/20 |
| topics[0].field.display_name | Economics, Econometrics and Finance |
| topics[0].score | 0.5841000080108643 |
| topics[0].domain.id | https://openalex.org/domains/2 |
| topics[0].domain.display_name | Social Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/2002 |
| topics[0].subfield.display_name | Economics and Econometrics |
| topics[0].display_name | Energy, Environment, Economic Growth |
| topics[1].id | https://openalex.org/T10435 |
| topics[1].field.id | https://openalex.org/fields/23 |
| topics[1].field.display_name | Environmental Science |
| topics[1].score | 0.557699978351593 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/2305 |
| topics[1].subfield.display_name | Environmental Engineering |
| topics[1].display_name | Environmental Impact and Sustainability |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C519991488 |
| concepts[0].level | 2 |
| concepts[0].score | 0.8466172218322754 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q28865 |
| concepts[0].display_name | Python (programming language) |
| concepts[1].id | https://openalex.org/C41008148 |
| concepts[1].level | 0 |
| concepts[1].score | 0.5612465143203735 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[1].display_name | Computer science |
| concepts[2].id | https://openalex.org/C69357855 |
| concepts[2].level | 2 |
| concepts[2].score | 0.47994402050971985 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q163214 |
| concepts[2].display_name | Diffusion |
| concepts[3].id | https://openalex.org/C539667460 |
| concepts[3].level | 1 |
| concepts[3].score | 0.3542827367782593 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q2414942 |
| concepts[3].display_name | Management science |
| concepts[4].id | https://openalex.org/C199360897 |
| concepts[4].level | 1 |
| concepts[4].score | 0.20794367790222168 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q9143 |
| concepts[4].display_name | Programming language |
| concepts[5].id | https://openalex.org/C127413603 |
| concepts[5].level | 0 |
| concepts[5].score | 0.13935071229934692 |
| concepts[5].wikidata | https://www.wikidata.org/wiki/Q11023 |
| concepts[5].display_name | Engineering |
| concepts[6].id | https://openalex.org/C121332964 |
| concepts[6].level | 0 |
| concepts[6].score | 0.10432243347167969 |
| concepts[6].wikidata | https://www.wikidata.org/wiki/Q413 |
| concepts[6].display_name | Physics |
| concepts[7].id | https://openalex.org/C97355855 |
| concepts[7].level | 1 |
| concepts[7].score | 0.08542802929878235 |
| concepts[7].wikidata | https://www.wikidata.org/wiki/Q11473 |
| concepts[7].display_name | Thermodynamics |
| keywords[0].id | https://openalex.org/keywords/python |
| keywords[0].score | 0.8466172218322754 |
| keywords[0].display_name | Python (programming language) |
| keywords[1].id | https://openalex.org/keywords/computer-science |
| keywords[1].score | 0.5612465143203735 |
| keywords[1].display_name | Computer science |
| keywords[2].id | https://openalex.org/keywords/diffusion |
| keywords[2].score | 0.47994402050971985 |
| keywords[2].display_name | Diffusion |
| keywords[3].id | https://openalex.org/keywords/management-science |
| keywords[3].score | 0.3542827367782593 |
| keywords[3].display_name | Management science |
| keywords[4].id | https://openalex.org/keywords/programming-language |
| keywords[4].score | 0.20794367790222168 |
| keywords[4].display_name | Programming language |
| keywords[5].id | https://openalex.org/keywords/engineering |
| keywords[5].score | 0.13935071229934692 |
| keywords[5].display_name | Engineering |
| keywords[6].id | https://openalex.org/keywords/physics |
| keywords[6].score | 0.10432243347167969 |
| keywords[6].display_name | Physics |
| keywords[7].id | https://openalex.org/keywords/thermodynamics |
| keywords[7].score | 0.08542802929878235 |
| keywords[7].display_name | Thermodynamics |
| language | en |
| locations[0].id | doi:10.31234/osf.io/j9m67 |
| locations[0].is_oa | True |
| locations[0].source | |
| locations[0].license | public-domain |
| locations[0].pdf_url | |
| locations[0].version | acceptedVersion |
| locations[0].raw_type | posted-content |
| locations[0].license_id | https://openalex.org/licenses/public-domain |
| locations[0].is_accepted | True |
| locations[0].is_published | False |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | https://doi.org/10.31234/osf.io/j9m67 |
| indexed_in | crossref |
| authorships[0].author.id | https://openalex.org/A5082090691 |
| authorships[0].author.orcid | https://orcid.org/0000-0003-1388-7387 |
| authorships[0].author.display_name | Kyle J. LaFollette |
| authorships[0].countries | US |
| authorships[0].affiliations[0].institution_ids | https://openalex.org/I58956616 |
| authorships[0].affiliations[0].raw_affiliation_string | Case Western Reserve University |
| authorships[0].institutions[0].id | https://openalex.org/I58956616 |
| authorships[0].institutions[0].ror | https://ror.org/051fd9666 |
| authorships[0].institutions[0].type | education |
| authorships[0].institutions[0].lineage | https://openalex.org/I58956616 |
| authorships[0].institutions[0].country_code | US |
| authorships[0].institutions[0].display_name | Case Western Reserve University |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Kyle J. LaFollette |
| authorships[0].is_corresponding | False |
| authorships[0].raw_affiliation_strings | Case Western Reserve University |
| authorships[1].author.id | https://openalex.org/A5111313065 |
| authorships[1].author.orcid | |
| authorships[1].author.display_name | Joy Fan |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Joy Fan |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5058799369 |
| authorships[2].author.orcid | |
| authorships[2].author.display_name | Alessandra Puccio |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Alessandra Puccio |
| authorships[2].is_corresponding | False |
| authorships[3].author.id | https://openalex.org/A5013903133 |
| authorships[3].author.orcid | https://orcid.org/0000-0001-9655-8882 |
| authorships[3].author.display_name | Heath A. Demaree |
| authorships[3].author_position | last |
| authorships[3].raw_author_name | Heath A. Demaree |
| authorships[3].is_corresponding | False |
| has_content.pdf | False |
| has_content.grobid_xml | False |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://doi.org/10.31234/osf.io/j9m67 |
| open_access.oa_status | gold |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | Democratizing diffusion decision models: A comprehensive tutorial on developing, validating, and fitting diffusion decision models in Python with FlexDDM |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-06T03:46:38.306776 |
| primary_topic.id | https://openalex.org/T10438 |
| primary_topic.field.id | https://openalex.org/fields/20 |
| primary_topic.field.display_name | Economics, Econometrics and Finance |
| primary_topic.score | 0.5841000080108643 |
| primary_topic.domain.id | https://openalex.org/domains/2 |
| primary_topic.domain.display_name | Social Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/2002 |
| primary_topic.subfield.display_name | Economics and Econometrics |
| primary_topic.display_name | Energy, Environment, Economic Growth |
| related_works | https://openalex.org/W4391375266, https://openalex.org/W2748952813, https://openalex.org/W2341492732, https://openalex.org/W3187193180, https://openalex.org/W106542691, https://openalex.org/W1699080303, https://openalex.org/W4297799326, https://openalex.org/W3116064965, https://openalex.org/W4287027380, https://openalex.org/W3193760048 |
| cited_by_count | 0 |
| locations_count | 1 |
| best_oa_location.id | doi:10.31234/osf.io/j9m67 |
| best_oa_location.is_oa | True |
| best_oa_location.source | |
| best_oa_location.license | public-domain |
| best_oa_location.pdf_url | |
| best_oa_location.version | acceptedVersion |
| best_oa_location.raw_type | posted-content |
| best_oa_location.license_id | https://openalex.org/licenses/public-domain |
| best_oa_location.is_accepted | True |
| best_oa_location.is_published | False |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | https://doi.org/10.31234/osf.io/j9m67 |
| primary_location.id | doi:10.31234/osf.io/j9m67 |
| primary_location.is_oa | True |
| primary_location.source | |
| primary_location.license | public-domain |
| primary_location.pdf_url | |
| primary_location.version | acceptedVersion |
| primary_location.raw_type | posted-content |
| primary_location.license_id | https://openalex.org/licenses/public-domain |
| primary_location.is_accepted | True |
| primary_location.is_published | False |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | https://doi.org/10.31234/osf.io/j9m67 |
| publication_date | 2024-09-03 |
| publication_year | 2024 |
| referenced_works_count | 0 |
| abstract_inverted_index.a | 52, 116, 204 |
| abstract_inverted_index.In | 100 |
| abstract_inverted_index.To | 37 |
| abstract_inverted_index.We | 128 |
| abstract_inverted_index.an | 105, 139 |
| abstract_inverted_index.be | 80 |
| abstract_inverted_index.by | 115, 187 |
| abstract_inverted_index.in | 8, 23, 126, 161, 173, 183 |
| abstract_inverted_index.it | 189 |
| abstract_inverted_index.of | 34, 40, 66, 72, 107, 142, 148, 163, 170, 181, 207 |
| abstract_inverted_index.on | 85, 119 |
| abstract_inverted_index.to | 30, 59, 92, 121, 193, 203 |
| abstract_inverted_index.we | 42, 103 |
| abstract_inverted_index.DDM | 18, 75 |
| abstract_inverted_index.Our | 146 |
| abstract_inverted_index.and | 25, 54, 64, 123, 134, 196 |
| abstract_inverted_index.are | 4 |
| abstract_inverted_index.for | 12, 70, 111, 191 |
| abstract_inverted_index.how | 120 |
| abstract_inverted_index.new | 32 |
| abstract_inverted_index.not | 79 |
| abstract_inverted_index.six | 149, 165 |
| abstract_inverted_index.the | 9, 35, 44, 61, 73, 131, 164, 179 |
| abstract_inverted_index.DDMs | 160 |
| abstract_inverted_index.five | 162 |
| abstract_inverted_index.than | 95 |
| abstract_inverted_index.that | 76, 153 |
| abstract_inverted_index.then | 129 |
| abstract_inverted_index.this | 101 |
| abstract_inverted_index.used | 6 |
| abstract_inverted_index.with | 82, 195 |
| abstract_inverted_index.DDMs. | 67 |
| abstract_inverted_index.Model | 48 |
| abstract_inverted_index.These | 176 |
| abstract_inverted_index.apply | 197 |
| abstract_inverted_index.being | 90 |
| abstract_inverted_index.falls | 21 |
| abstract_inverted_index.guide | 118 |
| abstract_inverted_index.model | 135 |
| abstract_inverted_index.often | 20 |
| abstract_inverted_index.short | 22 |
| abstract_inverted_index.tools | 7 |
| abstract_inverted_index.while | 89 |
| abstract_inverted_index.would | 77 |
| abstract_inverted_index.write | 122 |
| abstract_inverted_index.(DDMs) | 3 |
| abstract_inverted_index.Python | 50 |
| abstract_inverted_index.allows | 69 |
| abstract_inverted_index.deeper | 205 |
| abstract_inverted_index.easier | 190 |
| abstract_inverted_index.entry, | 41 |
| abstract_inverted_index.making | 188 |
| abstract_inverted_index.model. | 36 |
| abstract_inverted_index.models | 2, 125, 154 |
| abstract_inverted_index.tasks. | 145 |
| abstract_inverted_index.unique | 109 |
| abstract_inverted_index.FlexDDM | 68, 182 |
| abstract_inverted_index.Python. | 127 |
| abstract_inverted_index.ability | 29 |
| abstract_inverted_index.address | 38 |
| abstract_inverted_index.explore | 31 |
| abstract_inverted_index.factors | 157 |
| abstract_inverted_index.fitting | 133 |
| abstract_inverted_index.package | 57 |
| abstract_inverted_index.present | 43 |
| abstract_inverted_index.provide | 104 |
| abstract_inverted_index.reliant | 84 |
| abstract_inverted_index.results | 177 |
| abstract_inverted_index.reveals | 152 |
| abstract_inverted_index.simpler | 91 |
| abstract_inverted_index.through | 138 |
| abstract_inverted_index.utility | 180 |
| abstract_inverted_index.Decision | 47 |
| abstract_inverted_index.Flexible | 45 |
| abstract_inverted_index.However, | 16 |
| abstract_inverted_index.analysis | 141, 147 |
| abstract_inverted_index.barriers | 39 |
| abstract_inverted_index.conflict | 143 |
| abstract_inverted_index.control. | 175 |
| abstract_inverted_index.datasets | 151 |
| abstract_inverted_index.decision | 1 |
| abstract_inverted_index.designed | 58 |
| abstract_inverted_index.features | 110 |
| abstract_inverted_index.followed | 114 |
| abstract_inverted_index.limiting | 27 |
| abstract_inverted_index.modeling | 13, 186, 199 |
| abstract_inverted_index.offering | 167 |
| abstract_inverted_index.options. | 99 |
| abstract_inverted_index.overview | 106 |
| abstract_inverted_index.package, | 51 |
| abstract_inverted_index.possible | 81 |
| abstract_inverted_index.routines | 137 |
| abstract_inverted_index.sciences | 11 |
| abstract_inverted_index.simplify | 60 |
| abstract_inverted_index.software | 19, 56, 83 |
| abstract_inverted_index.standard | 74 |
| abstract_inverted_index.superior | 168 |
| abstract_inverted_index.testing, | 63 |
| abstract_inverted_index.(FlexDDM) | 49 |
| abstract_inverted_index.Diffusion | 0, 46 |
| abstract_inverted_index.advancing | 184 |
| abstract_inverted_index.available | 97 |
| abstract_inverted_index.cognitive | 10, 174, 185 |
| abstract_inverted_index.currently | 96 |
| abstract_inverted_index.customize | 124 |
| abstract_inverted_index.datasets, | 166 |
| abstract_inverted_index.different | 150 |
| abstract_inverted_index.efficient | 112 |
| abstract_inverted_index.empirical | 140 |
| abstract_inverted_index.implement | 93 |
| abstract_inverted_index.otherwise | 78 |
| abstract_inverted_index.package's | 132 |
| abstract_inverted_index.tutorial, | 102 |
| abstract_inverted_index.versatile | 53 |
| abstract_inverted_index.experiment | 194 |
| abstract_inverted_index.extensions | 71 |
| abstract_inverted_index.frequently | 5 |
| abstract_inverted_index.individual | 171 |
| abstract_inverted_index.inference, | 88 |
| abstract_inverted_index.outperform | 158 |
| abstract_inverted_index.processes. | 15, 209 |
| abstract_inverted_index.resolution | 144 |
| abstract_inverted_index.ultimately | 201 |
| abstract_inverted_index.underscore | 178 |
| abstract_inverted_index.validation | 65, 136 |
| abstract_inverted_index.FlexDDM’s | 108 |
| abstract_inverted_index.demonstrate | 130 |
| abstract_inverted_index.differences | 172 |
| abstract_inverted_index.flexibility | 24 |
| abstract_inverted_index.researchers | 192 |
| abstract_inverted_index.simulation, | 113 |
| abstract_inverted_index.techniques, | 200 |
| abstract_inverted_index.traditional | 86 |
| abstract_inverted_index.contemporary | 159 |
| abstract_inverted_index.contributing | 202 |
| abstract_inverted_index.conventional | 17 |
| abstract_inverted_index.development, | 62 |
| abstract_inverted_index.explanations | 169 |
| abstract_inverted_index.formulations | 33 |
| abstract_inverted_index.researchers' | 28 |
| abstract_inverted_index.comprehensive | 117 |
| abstract_inverted_index.incorporating | 155 |
| abstract_inverted_index.sophisticated | 198 |
| abstract_inverted_index.understanding | 206 |
| abstract_inverted_index.user-friendly | 55 |
| abstract_inverted_index.accessibility, | 26 |
| abstract_inverted_index.decision-making | 14, 208 |
| abstract_inverted_index.likelihood-free | 98 |
| abstract_inverted_index.likelihood-based | 87 |
| abstract_inverted_index.motivation-based | 156 |
| abstract_inverted_index.programmatically | 94 |
| cited_by_percentile_year | |
| countries_distinct_count | 1 |
| institutions_distinct_count | 4 |
| sustainable_development_goals[0].id | https://metadata.un.org/sdg/16 |
| sustainable_development_goals[0].score | 0.7300000190734863 |
| sustainable_development_goals[0].display_name | Peace, Justice and strong institutions |
| citation_normalized_percentile.value | 0.15679459 |
| citation_normalized_percentile.is_in_top_1_percent | False |
| citation_normalized_percentile.is_in_top_10_percent | False |