# Class "bmpt.model"

### Description

`bmpt.model`

and `mpt.model`

are two classes representing a multinomial processing tree (MPT) model. `mpt.model`

is the superclass and `bmpt.model`

a subclass for all those MPT models that are members of L-BMPT, the context-free language for MPT models (Purdy & Batchelder, 2009).

### Objects from the Class

Objects can be created by calling `make.mpt`

.

For a MPT to be a BMPT (or a member of L-BMPT), it is *absolutely necessary* that the equations representing the model perfectly map the tree structure of the (binary) MPT. That is, the model file is only allowed to contain parameters, their negations (e.g., `Dn`

and `(1 - Dn)`

) and the operators + and *, but nothing else. Simplifications of the equations or a change in the order of the parameters will lead to an object of class `mpt.model`

. Models represented as `mpt.model`

s have numerous disadvantages: Fitting is a lot slower, you cannot compute the FIA, ...

To take full advantage of MPTinR specify a `bmpt.model`

.

### Slots

`check`

:List containing various information about the model (e.g., parameters, degrees of freedom,...).

`initial.model.data.frame`

:data.frame representation of the initial model (i.e., no restrictions applied). Basically a representation in EQN syntax plus a column indicating the branch number.

`model.data.frame`

:data.frame representation of the final model (i.e., restrictions applied). Basically a representation in EQN syntax plus a column indicating the branch number.

`initial.model`

:List representation of the inital model's equations (i.e., no restrictions applied).

`model.list`

:List representation of the final model's equations (i.e., restrictions applied).

`restrictions`

:List containing the restrictions (uses non-visible classes for representation of restrictions).

`A`

:So called

`A`

matrix. Three-dimensional array representing the position of the non-inverted parameters (e.g.,`Dn`

) in the model. First dimension = response category, second dimension = branch for that response category, third dimension = parameter (in alphabetical order). Only in`bmpt.model`

s.`B`

:So called

`B`

matrix. Three-dimensional array representing the position of the inverted parameters (e.g.,`(1 - Dn)`

) in the model. First dimension = response category, second dimension = branch for that response category, third dimension = parameter (in alphabetical order). Only in`bmpt.model`

s.`lbmpt`

:L-BMPT representation of the model. Only in

`bmpt.model`

s.

### Extends

`bmpt.model`

extends `mpt.model`

.

### Methods

- check
`signature(object = "mpt.model")`

: Very informative function that returns a list with useful information for a model:

Do probabilities sum to 1?; number of trees; number of categories; number of free parameters in the final model; names of free parameters in the final model; number of fixed parameters in the final model; names of fixed parameters in the final model; names of parameters in the initial model (i.e., no restrictions applied); maximum number of branches per category; vector with number of branches per category; degrees of freedom; is model a member of L-BMPT?

Is part of the`show`

method for model objects.- initial.model.data.frame
`signature(object = "mpt.model")`

: Returns a data.frame representing the initial model (i.e., no restrictions applied).- model.data.frame
`signature(object = "mpt.model")`

: Returns a data.frame representing the final model (i.e., restrictions applied).- lbmpt
`signature(object = "bmpt.model")`

: returns a character vector with the L-BMPT representation.

### Author(s)

Henrik Singmann

### References

Purdy, B. P., & Batchelder, W. H. (2009). A context-free language for binary multinomial processing tree models. *Journal of Mathematical Psychology*, 53, 547-561.

See the following reference for more on `A`

and `B`

matrices:

Hu, X., & Batchelder, W. H. (1994). The statistical analysis of general processing tree models with the EM algorithm. *Psychometrika*, 59(1), 21-47.

### See Also

`make.mpt`

, `fit.mpt`

.

### Examples

1 | ```
showClass("bmpt.model")
``` |