isop {sirt}R Documentation

Fit Unidimensional ISOP and ADISOP Model to Dichotomous and Polytomous Item Responses

Description

Fit the unidimensional isotonic probabilistic model (ISOP; Scheiblechner, 1995, 2007) and the additive istotonic probabilistic model (ADISOP; Scheiblechner, 1999). The isop.dich function can be used for dichotomous data while the isop.poly function can be applied to polytomous data. Note that for applying the ISOP model for polytomous data it is necessary that all items do have the same number of categories.

Usage

isop.dich(dat, score.breaks=NULL, merge.extreme=TRUE,
     conv=.0001, maxit=1000, epsilon=.025, progress=TRUE)

isop.poly( dat, score.breaks=seq(0,1,len=10 ),
     conv=.0001, maxit=1000, epsilon=.025, progress=TRUE )

## S3 method for class 'isop'
summary(object,...)

## S3 method for class 'isop'
plot(x,ask=TRUE,...)

Arguments

dat

Data frame with dichotomous or polytomous item responses

score.breaks

Vector with breaks to define score groups. For dichotomous data, the person score grouping is applied for the mean person score, for polytomous data it is applied to the modified percentile score.

merge.extreme

Merge extreme groups with zero and maximum score with succeeding score categories? The default is TRUE.

conv

Convergence criterion

maxit

Maximum number of iterations

epsilon

Additive constant to handle cell frequencies of 0 or 1 in fit.adisop

progress

Display progress?

object

Object of class isop (generated by isop.dich or isop.poly)

x

Object of class isop (generated by isop.dich or isop.poly)

ask

Ask for a new plot?

...

Further arguments to be passed

Details

The ISOP model for dichotomous data was firstly proposed by Irtel and Schmalhofer (1982). Consider person groups p (ordered from low to high scores) and items i (ordered from difficult to easy items). Here, F(p,i) denotes the proportion correct for item i in score group p, while n_{pi} denotes the number of persons in group p and on item i. The isotonic probabilistic model (Scheiblechner, 1995) monotonically smooths this distribution function F such that

P( X_{pi}=1 | p, i )=F^\ast( p, i )

where the two-dimensional distribution function F^\ast is isotonic in p and i. Model fit is assessed by the square root of weighted squares of deviations

Fit=\sqrt{ \frac{1}{I} \sum_{p,i} w_{pi} \left( F(p, i) - F^\ast(p,i ) \right )^2 }

with frequency weights w_{pi} and \sum_p w_{pi}=1 for every item i. The additive isotonic model (ADISOP; Scheiblechner, 1999) assumes the existence of person parameters \theta_p and item parameters \delta_i such that

P( X_{pi}=1 | p )=g( \theta_p + \delta_i )

and g is a nonparametrically estimated isotonic function. The functions isop.dich and isop.poly uses F^\ast from the ISOP models and estimates person and item parameters of the ADISOP model. For comparison, isop.dich also fits a model with the logistic function g which results in the Rasch model.

For polytomous data, the starting point is the empirical distribution function

P( X_i \le k | p )=F( k ; p, i )

which is increasing in the argument k (the item categories). The ISOP model is defined to be antitonic in p and i while items are ordered with respect to item P-scores and persons are ordered according to modified percentile scores (Scheiblechner, 2007). The estimated ISOP model results in a distribution function F^\ast. Using this function, the additive isotonic probabilistic model (ADISOP) aims at estimating a distribution function

P( X_i \le k ; p )=F^{\ast \ast} ( k ; p, i )=F^{ \ast \ast } ( k, \theta_p + \delta_i )

which is antitonic in k and in \theta_p + \delta_i. Due to this additive relation, the ADISOP scale values are claimed to be measured at interval scale level (Scheiblechner, 1999).

The ADISOP model is compared to the graded response model which is defined by the response equation

P( X_i \le k ; p )=g( \theta_p + \delta_i + \gamma_k )

where g denotes the logistic function. Estimated parameters are in the value fit.grm: person parameters \theta_p (person.sc), item parameters \delta_i (item.sc) and category parameters \gamma_k (cat.sc).

The calculation of person and item scores is explained in isop.scoring.

For an application of the ISOP and ADISOP model see Scheiblechner and Lutz (2009).

Value

A list with following entries:

freq.correct

Used frequency table (distribution function) for dichotomous and polytomous data

wgt

Used weights (frequencies)

prob.saturated

Frequencies of the saturated model

prob.isop

Fitted frequencies of the ISOP model

prob.adisop

Fitted frequencies of the ADISOP model

prob.logistic

Fitted frequencies of the logistic model (only for isop.dich)

prob.grm

Fitted frequencies of the graded response model (only for isop.poly)

ll

List with log-likelihood values

fit

Vector of fit statistics

person

Data frame of person parameters

item

Data frame of item parameters

p.itemcat

Frequencies for every item category

score.itemcat

Scoring points for every item category

fit.isop

Values of fitting the ISOP model (see fit.isop)

fit.isop

Values of fitting the ADISOP model (see fit.adisop)

fit.logistic

Values of fitting the logistic model (only for isop.dich)

fit.grm

Values of fitting the graded response model (only for isop.poly)

...

Further values

References

Irtel, H., & Schmalhofer, F. (1982). Psychodiagnostik auf Ordinalskalenniveau: Messtheoretische Grundlagen, Modelltest und Parameterschaetzung. Archiv fuer Psychologie, 134, 197-218.

Scheiblechner, H. (1995). Isotonic ordinal probabilistic models (ISOP). Psychometrika, 60, 281-304.

Scheiblechner, H. (1999). Additive conjoint isotonic probabilistic models (ADISOP). Psychometrika, 64, 295-316.

Scheiblechner, H. (2007). A unified nonparametric IRT model for d-dimensional psychological test data (d-ISOP). Psychometrika, 72, 43-67.

Scheiblechner, H., & Lutz, R. (2009). Die Konstruktion eines optimalen eindimensionalen Tests mittels nichtparametrischer Testtheorie (NIRT) am Beispiel des MR SOC. Diagnostica, 55, 41-54.

See Also

This function uses isop.scoring, fit.isop and fit.adisop.

Tests of the W1 axiom of the ISOP model (Scheiblechner, 1995) can be performed with isop.test.

See also the ISOP package at Rforge: http://www.rforge.net/ISOP/.

Install this package using

install.packages("ISOP",repos="http://www.rforge.net/")

Examples

#############################################################################
# EXAMPLE 1: Dataset Reading (dichotomous items)
#############################################################################

data(data.read)
dat <- as.matrix( data.read)
I <- ncol(dat)

# Model 1: ISOP Model (11 score groups)
mod1 <- sirt::isop.dich( dat )
summary(mod1)
plot(mod1)

## Not run: 
# Model 2: ISOP Model (5 score groups)
score.breaks <- seq( -.005, 1.005, len=5+1 )
mod2 <- sirt::isop.dich( dat, score.breaks=score.breaks)
summary(mod2)

#############################################################################
# EXAMPLE 2: Dataset PISA mathematics (dichotomous items)
#############################################################################

data(data.pisaMath)
dat <- data.pisaMath$data
dat <- dat[, grep("M", colnames(dat) ) ]

# fit ISOP model
# Note that for this model many iterations are needed
#   to reach convergence for ADISOP
mod1 <- sirt::isop.dich( dat, maxit=4000)
summary(mod1)

## End(Not run)

#############################################################################
# EXAMPLE 3: Dataset Students (polytomous items)
#############################################################################

# Dataset students: scale cultural activities
library(CDM)
data(data.Students, package="CDM")
dat <- stats::na.omit( data.Students[, paste0("act",1:4) ] )

# fit models
mod1 <- sirt::isop.poly( dat )
summary(mod1)
plot(mod1)

[Package sirt version 4.1-15 Index]