Multinomial models with linear inequalities
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
data
inst
man-roxygen
man
src
tests
vignettes
.Rbuildignore
.gitignore
.travis.yml
DESCRIPTION
NAMESPACE
README.md
codecov.yml
multinomineq.Rproj

README.md

License Build Status Coverage status

R package multinomineq

Implements Gibbs sampling and Bayes factors for multinomial models with linear inequality constraints on the vector of probability parameters. As special cases, the model class includes models that predict a linear order of binomial probabilities (e.g., p[1] < p[2] < p[3] < .50) and mixture models assuming that the parameter vector p must be inside the convex hull of a finite number of predicted patterns (i.e., vertices).

Inequality-constrained multinomial models have applications in multiple areas in psychology and beyond:

  • Risky decisions between different gambles to test choice axioms such as transitivity (Regenwetter et al., 2012, 2014).
  • Outcome-based strategy classification of multiattribute decision strategies such as take-the-best (TTB) or weighted additive (WADD; Bröder & Schiffer, 2003; Heck et al., 2017).
  • Testing deterministic axioms of measurement and choice (Karabatsos, 2005; Myung et al., 2005).
  • Fitting and testing nonparametric item response theory models (Karabatsos & Sheu, 2004).
  • Order-constrained contingency tables (Klugkist et al., 2007, 2010).
  • Testing stochastic dominance of response time distributions (Heathcote et al., 2010).
  • Cognitive diagnostic assessment (Klugkist et al., 2007, 2010).

References and Vignette

A formal definition of inequality-constrained multinomial models and the implemented computational methods for Bayesian inference is provided in:

  • Heck, D. W., & Davis-Stober, C. P. (2019). Multinomial models with linear inequality constraints: Overview and improvements of computational methods for Bayesian inference. Manuscript under revision. https://arxiv.org/abs/1808.07140

Please cite this paper if you use multinomineq in publications.

The package vignette provides a short introduction of how to apply the main functions of multinomineq:

vignette('multinomineq_intro')

The vignette is also available https://www.dwheck.de/vignettes/multinomineq_intro.html.

Installation

If developer tools for R are available (see below), the most recent version of the package multinomineq can directly be installed from GitHub via:

### install dependencies:
install.packages("devtools","RcppArmadillo","RcppProgress",
                 "Rglpk", "quadprog", "RcppXPtrUtils")

### install from Github:
devtools::install_github("danheck/multinomineq")

If the compilation of the source package causes any problems, the following code will install a binary version of multinomineq (only for Windows):

install.packages("drat")
drat::addRepo("danheck")
install.packages("multinomineq")

To transform between the vertex (V) and the inequality (A*x<b) representation of a poyltope, it is necessary to install the pacakge rPorta. The package is available on GitHub (https://github.com/TasCL/rPorta) or as a precompiled package via:

install.packages("drat")
drat::addRepo("danheck")
install.packages("rPorta")

Compilation of Source Packages

On Linux, GLPK libraries have to be installed via the console:

sudo apt-get install libglpk-dev

To compile C++ code, Windows and Mac require Rtools and Xcode Command Line Tools, respectively. Moreover, on Mac, it might be necessary to install the library gfortran manually by typing the following into the console (required to compile the package RcppArmadillo):

curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
sudo tar fvxz gfortran-4.8.2-darwin13.tar.bz2 -C /