Learn R Programming

sirt (version 1.5-0)

isop: 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

Value

  • A list with following entries:
  • freq.correctUsed frequency table (distribution function) for dichotomous and polytomous data
  • wgtUsed weights (frequencies)
  • prob.saturatedFrequencies of the saturated model
  • prob.isopFitted frequencies of the ISOP model
  • prob.adisopFitted frequencies of the ADISOP model
  • prob.logisticFitted frequencies of the logistic model (only for isop.dich)
  • prob.grmFitted frequencies of the graded response model (only for isop.poly)
  • llList with log-likelihood values
  • fitVector of fit statistics
  • personData frame of person parameters
  • itemData frame of item parameters
  • p.itemcatFrequencies for every item category
  • score.itemcatScoring points for every item category
  • fit.isopValues of fitting the ISOP model (see fit.isop)
  • fit.isopValues of fitting the ADISOP model (see fit.adisop)
  • fit.logisticValues of fitting the logistic model (only for isop.dich)
  • fit.grmValues of fitting the graded response model (only for isop.poly)
  • ...Further values

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) monotonely smoothes 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).

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

Run this code
#############################################################################
# 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 <- isop.dich( dat )
summary(mod1)
plot(mod1)

# Model 2: ISOP Model (5 score groups)
score.breaks <- seq( -.005 , 1.005 , len=5+1 ) 
mod2 <- 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 <- isop.dich( dat , maxit=4000)
summary(mod1)

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

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

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

Run the code above in your browser using DataLab