mixRasch: Function for estimating and evaluating mixture Rasch models...

Description Usage Arguments Details Value Note Author(s) References Examples

Description

This function will estimate a mixture Rasch model using joint maximum likelihood estimation (JMLE). The estimation is based on a mixture partial credit model. Step parameters can be constrained to estimate a mixture rating scale model.

Usage

1
2
3
mixRasch(data, steps, max.iter = 50, conv.crit = 0.001, model = "RSM", 
         n.c = 1, class, metric, info.fit = TRUE, treat.extreme = 0.3, 
         maxchange = 1.5, maxrange = c(-4, 4), as.LCA = FALSE)

Arguments

data

A rectangular data set (matrix or data frame) to be analyzed.

steps

The maximum number of item thresholds to be estimated. Some items may have less than the maximum.

max.iter

Maximum number EM iterations

conv.crit

Estimation stops when the largest model parameter change is smaller than this criterion.

model

"RSM" (the default) constrains all step parameters to be equal (i.e., estimates a rating scale model). Assumes all items have the same number of steps. "PCM" allows step parameters to differ across items (i.e., estimates a partial credit model). The number of steps can differ across items.

n.c

Number of latent classes.

class

Optional matrix of starting values for latent class membership.

metric

Not implemented. Will be an optional argument for setting the final scale of the Rasch results.

info.fit

If "True" the information based criteria of fit (AIC, BIC) are estimated.

treat.extreme

Adjustment to perfect response vectors to allow estimation of person parameters. Perfect vectors are not used during item parameter estimation.

maxchange

Limits the change to model parameters in a single iteration. Helps keep estimates reasonable in the first few iterations.

maxrange

Admissible range of item difficulties.

as.LCA

If TRUE, all person parameters are constrained to equal zero. That analysis accomplishes a latent class analysis rather than a mixture Rasch model.

Details

The analyzed data should be a rectangular data file. Missing data are permitted and handled in the usual JMLE manner. Large amounts of missing data will slow down estimation. Basic results on item parameters are returned to the screen. When more than one class is specified (n.c greater than 1) Rasch model parameters and measures of fit are returned in a list, with each class's results returned in a separate element of that list. When n.c = 1 a standard Rasch model analysis is performed.

Value

LatentClass

One element for each latent class. Each LatentClass element is itself a list containing within class results: item statistics (i.stat), person parameters and measures of person fit (person.par), item parameters and measures of item fit (item.par).

max.change

The largest model parameter change in each class in the last iteration of the estimation.

class

A rectangular matrix of the order number of people by number of classes. Values represent the probability that a person (row) belongs to a particular class (column).

iter

The number of completed iterations.

converge.flag

Indicates if convergence was reached.

info.fit

Provides (if requested) AIC, BIC, CAIC, log likelihood, number of estimated parameters, and number of persons used in the estimation.

model

Reports which model was estimated.

removed.items

Provides a vector indicating which, if any, items had to be removed from estimation for having perfect vectors.

run.time

Reports time elapsed during estimation.

Note

Be aware that this function is an early implementation of the procedure. Please contact the author if you encounter any bugs or if you have questions or suggestions.

Author(s)

John T. Willse

References

Willse, J. T. (2009). Mixture Rasch models with joint maximum likelihood estimation. Presented at the National Council on Measurement in Education annual meeting. San Diego.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Example data included with mixRasch
data(SimMix)

test1 <- mixRasch(SimMix,1,50, conv.crit=.0001, n.c=1)
test2 <- mixRasch(SimMix,1,500, conv.crit=.0001, n.c=2)

# Notice that the AIC and BIC are lowest for the 2 class solution
rbind(test1$info.fit,test2$info.fit)

# Notice that the two "difficulty" columns are ordered differently
# The results reflect that the two groups in the data set have a reversed
# scale from one another.
test2

mixRasch documentation built on May 2, 2019, 1:09 p.m.