pyHPDM!¶
python Human Probabilistic Decision-Modelling (pyHPDM) is a framework for modelling and fitting the responses of people to probabilistic decision making tasks.
Prerequisites¶
This code has been tested using Python 2.7
. Apart from the standard Python libraries it also depends on the SciPy librariesand a few others listed in requirements.txt
. For those installing Python for the first time I would recommend the Anaconda Python distribution.
Installation¶
For now this is just Python code that you download and use, not a package.
Usage¶
The framework has until now either been run with a run script or live in a command-line (or jupyter notebook).
A task simulation can be simply created by running simulation.simulation()
. Equally, for fitting participant data, the function is dataFitting.data_fitting
. For now, no example data has been provided.
More complex example running scripts can be found in ./runScripts/
. Here, a number of scripts have been created as templates: runScript_sim.py
for simulating the probSelect
task and runScript_fit.py
for fitting the data generated from runScript_sim.py
. A visual display of the interactions in one of these scripts will soon be created.
A new method of passing in the fitting or simulation configuration is to use a YAML configuration file. This is done, for both simulations and data fitting, using the function start.run_script
For example, to run the YAML configuration equivalent to the runScript_sim.py
from a command line would be :start.run_script('./runScripts/runScripts_sim.yaml')
.
License¶
This project is licenced under the MIT license.
Documentation¶
The documentation can be found on readthedocs or in ./doc/_build/html
, with the top level file being index.html
To update the documentation you will need to install Sphinx and a set of extensions. The list of extensions can be found in ./doc/conf.py
. To update the documentation follow the instruction in ./doc/readme.md
Contents:
- simulation module
- dataFitting module
- data module
- taskGenerator module
- tasks package
- modelGenerator module
- model package
- Subpackages
- Submodules
- model.ACBasic module
- model.ACE module
- model.ACES module
- model.BP module
- model.BPE module
- model.BPV module
- model.OpAL module
- model.OpALE module
- model.OpALS module
- model.OpALSE module
- model.OpAL_H module
- model.OpAL_HE module
- model.modelTemplate module
- model.qLearn module
- model.qLearn2 module
- model.qLearn2E module
- model.qLearnCorr module
- model.qLearnE module
- model.qLearnECorr module
- model.qLearnF module
- model.qLearnK module
- model.qLearnMeta module
- model.randomBias module
- model.td0 module
- model.tdE module
- model.tdr module
- fitAlgs package
- outputting module
- utils module
- utils Module
- Functions
- argProcess
- callableDetails
- callableDetailsString
- date
- discountAverage
- errorResp
- find_class
- find_function
- flatten
- getClassArgs
- getClassAttributes
- getFuncArgs
- kendalw
- kendalwt
- kendalwts
- kldivergence
- listMerge
- listMergeGen
- listMergeNP
- list_all_equal
- mergeDatasetRepr
- mergeDatasets
- mergeDicts
- mergeTwoDicts
- movingaverage
- runningAverage
- runningMean
- runningSTD
- unique
- varyingParams
- Classes
- Class Inheritance Diagram
- Functions
- utils Module