person.fit | R Documentation |

Computation of person fit statistics for `ltm`

, `rasch`

and `tpm`

models.

person.fit(object, alternative = c("less", "greater", "two.sided"), resp.patterns = NULL, FUN = NULL, simulate.p.value = FALSE, B = 1000)

`object` |
a model object inheriting either from class |

`alternative` |
the alternative hypothesis; see |

`resp.patterns` |
a matrix or a data.frame of response patterns with columns denoting the items; if |

`FUN` |
a function with three arguments calculating a user-defined person-fit statistic. The first argument must
be a numeric matrix of (0, 1) response patterns. The second argument must be a numeric vector of length equal to
the number of rows of the first argument, providing the ability estimates for each response pattern. The third
argument must be a numeric matrix with number of rows equal to the number of items, providing the IRT model
parameters. For |

`simulate.p.value` |
logical; if |

`B` |
the number of replications in the Monte Carlo procedure. |

The statistics calculated by default (i.e., if `FUN = NULL`

) by `person.fit()`

are the *L_0* statistic
of Levine and Rubin (1979) and its standardized version *L_z* proposed by Drasgow et al. (1985).
If `simulate.p.value = FALSE`

, the *p*-values are calculated for the *L_z* assuming a standard normal
distribution for the statistic under the null. If `simulate.p.value = TRUE`

, a Monte Carlo procedure is used to
approximate the distribution of the person-fit statistic(s) under the null hypothesis. In particular, the following
steps are replicated `B`

times for each response pattern:

- Step 1:
Simulate a new ability estimate, say

*z^**, from a normal distribution with mean the ability estimate of the response pattern under the fitted model (i.e.,`object`

), and standard deviation the standard error of the ability estimate, as returned by the`factor.scores`

function.- Step 2:
Simulate a new response pattern of dichotomous items under the assumed IRT model, using

*z^**and the maximum likelihood estimates under`object`

.- Step 4:
For the new response pattern and using

*z^**and the MLEs, compute the values of the person-fit statistic.

Denote by *T_{obs}* the value of the person-fit statistic for the original data-set. Then the *p*-value is
approximated according to the formula

*(1 +
sum_{b = 1}^B I(T_b <= T_{obs})) / (1 + B),*

if `alternative = "less"`

,

*(1 + sum_{b = 1}^B I(T_b >= T_{obs})) / (1 + B),*

if `alternative = "greater"`

, or

*(1 + sum_{b = 1}^B I(|T_b| >= |T_{obs}|)) /
(1 + B),*

if `alternative = "two.sided"`

, where *T_b* denotes the value of the person-fit statistic in the
*b*th simulated data-set, *I(.)* denotes the indicator function, and *|.|* denotes the absolute value.
For the *L_z* statistic, negative values (i.e., `alternative = "less"`

) indicate response patterns that
are unlikely, given the measurement model and the ability estimate. Positive values (i.e., ```
alternative =
"greater"
```

) indicate that the examinee's response pattern is more consistent than the probabilistic IRT model
expected. Finally, when `alternative = "two.sided"`

both the above settings are captured.

This simulation scheme explicitly accounts for the fact that ability values are estimated, by drawing
from their large sample distribution. Strictly speaking, drawing *z^** from a normal distribution is not
theoretically appropriate, since the posterior distribution for the latent abilities is not normal. However, the
normality assumption will work reasonably well, especially when a large number of items is considered.

An object of class `persFit`

is a list with components,

`resp.patterns` |
the response patterns for which the fit statistics have been computed. |

`Tobs` |
a numeric matrix with person-fit statistics for each response pattern. |

`p.values` |
a numeric matrix with the corresponding |

`statistic` |
the value of the |

`FUN` |
the value of the |

`alternative` |
the value of the |

`B` |
the value of the |

`call` |
a copy of the matched call of |

Dimitris Rizopoulos d.rizopoulos@erasmusmc.nl

Drasgow, F., Levine, M. and Williams, E. (1985) Appropriateness measurement with polychotomous item
response models and standardized indices. *British Journal of Mathematical and Statistical Psychology*,
**38**, 67–86.

Levine, M. and Rubin, D. (1979) Measuring the appropriateness of multiple-choice test scores. *Journal of
Educational Statistics*, **4**, 269–290.

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

Reise, S. (1990) A comparison of item- and person-fit methods of assessing model-data fit in IRT. *Applied
Psychological Measurement*, **14**, 127–137.

`item.fit`

,
`margins`

,
`GoF.gpcm`

,
`GoF.rasch`

# person-fit statistics for the Rasch model # for the Abortion data-set person.fit(rasch(Abortion)) # person-fit statistics for the two-parameter logistic model # for the LSAT data-set person.fit(ltm(LSAT ~ z1), simulate.p.value = TRUE, B = 100)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.