Computer science principles for robust implementation and test of mathematical theories
Mathematical psychology offers the ability to implement psychological theories, meaning translating a theory into a computer program. Such programmatic implementation is standard in mathematical psychology and helpful to test theoretical mechanisms across laboratories, tasks, and data sources. Besides theory testing, programmatic implementation can have other significant benefits: the possibility for documentation, sharing, and the broad reuse of a formalized psychological theory. Ready-to-use implemented theories can lead to efficiency gains for researchers, but only of the implementation works. There are standards for robust implementation of programs to ensure they are fail-safe, scale, and are error-free in computer science. My talk will discuss these standards for mathematical psychologists and show an example in the programming language R. It introduces how psychologists can benefit and achieve robust implementation of mathematical theories. The principles of robust code, error-checking, unit-tests, and documentation will be exemplified using well-known mathematical, psychological models (exemplar-based categorization models and prospect theory). A specific software package (Jarecki & Seitz 2020) will illustrate how to implement those robustness principles when writing, estimating, and evaluating psychological theories. If implemented robustly, computer-programmed models offer the excellent opportunity to make complex psychological theories widely available to a diverse group of researchers at all levels, boosting the speed of theory testing. | Reference: Jarecki, J. B., & Seitz, F. I. (2020). Cognitivemodels: An R Package for Formal Cognitive Modeling. In T. C. Stewart (Ed.), Proceedings of ICCM 2020. 18th International Conference on Cognitive Modelling (pp. 100–106). Applied Cognitive Science Lab, Penn State. https://iccm-conference.neocities.org/2020/papers/Contribution_229_final.pdf
There is nothing here yet. Be the first to create a thread.
Cite this as: