Learn R Programming

sirt (version 3.12-66)

personfit.stat: Person Fit Statistics for the Rasch Model

Description

This function collects some person fit statistics for the Rasch model (Karabatsos, 2003; Meijer & Sijtsma, 2001).

Usage

personfit.stat(dat, abil, b)

Value

A data frame with following columns (see Meijer & Sijtsma 2001 for a review of different person fit statistics):

case

Case index

abil

Ability estimate abil

mean

Person mean of correctly solved items

caution

Caution index

depend

Dependability index

ECI1

\(ECI1\)

ECI2

\(ECI2\)

ECI3

\(ECI3\)

ECI4

\(ECI4\)

ECI5

\(ECI5\)

ECI6

\(ECI6\)

l0

Fit statistic \(l_0\)

lz

Fit statistic \(l_z\)

outfit

Person outfit statistic

infit

Person infit statistic

rpbis

Point biserial correlation of item responses and item \(p\) values

rpbis.itemdiff

Point biserial correlation of item responses and item difficulties b

U3

Fit statistic \(U_3\)

Arguments

dat

An \(N \times I\) data frame of dichotomous item responses

abil

An ability estimate, e.g. the WLE

b

Estimated item difficulty

References

Karabatsos, G. (2003). Comparing the aberrant response detection performance of thirty-six person-fit statistics. Applied Measurement in Education, 16, 277-298.

Meijer, R. R., & Sijtsma, K. (2001). Methodology review: Evaluating person fit. Applied Psychological Measurement, 25, 107-135.

See Also

See pcm.fit for person fit in the partial credit model.

See the irtProb and PerFit packages for person fit statistics and person response curves and functions included in other packages: mirt::personfit, eRm::personfit and ltm::person.fit.

Examples

Run this code
#############################################################################
# EXAMPLE 1: Person fit Reading Data
#############################################################################

data(data.read)
dat <- data.read

# estimate Rasch model
mod <- sirt::rasch.mml2( dat )
# WLE
wle1 <- sirt::wle.rasch( dat,b=mod$item$b )$theta
b <- mod$item$b # item difficulty

# evaluate person fit
pf1 <- sirt::personfit.stat( dat=dat, abil=wle1, b=b)

if (FALSE) {
# dimensional analysis of person fit statistics
x0 <- stats::na.omit(pf1[, -c(1:3) ] )
stats::factanal( x=x0, factors=2, rotation="promax" )
  ## Loadings:
  ##                Factor1 Factor2
  ## caution         0.914
  ## depend          0.293   0.750
  ## ECI1            0.869   0.160
  ## ECI2            0.869   0.162
  ## ECI3            1.011
  ## ECI4            1.159  -0.269
  ## ECI5            1.012
  ## ECI6            0.879   0.130
  ## l0              0.409  -1.255
  ## lz             -0.504  -0.529
  ## outfit          0.297   0.702
  ## infit           0.362   0.695
  ## rpbis          -1.014
  ## rpbis.itemdiff  1.032
  ## U3              0.735   0.309
  ##
  ## Factor Correlations:
  ##         Factor1 Factor2
  ## Factor1   1.000  -0.727
  ## Factor2  -0.727   1.000
  ##
}

Run the code above in your browser using DataLab