Factor out logic and math common to Item Factor Analysis fitting, diagnostics, and analysis. It is envisioned as core support code suitable for more specialized IFA packages to build upon.
This package provides optimized, low-level functions to map
parameters to response probabilities for dichotomous (1PL, 2PL and
rpf.drm and polytomous (graded response
rpf.grm, partial credit/generalized partial credit
(via the nominal model), and nominal
Item model parameters are passed around as a numeric vector. A 1D matrix is also acceptable. Regardless of model, parameters are always ordered as follows: discrimination/slope ("a"), difficulty/intercept ("b"), and pseudo guessing/upper-bound ("g"/"u"). If person ability ranges from negative to positive then probabilities are output from incorrect to correct. That is, a low ability person (e.g., ability = -2) will be more likely to get an item incorrect than correct. For example, a dichotomous model that returns [.25, .75] indicates a probability of .25 for incorrect and .75 for correct. A polytomous model will have the most incorrect probability at index 1 and the most correct probability at the maximum index.
All models are always in the logistic metric. To obtain normal
ogive discrimination parameters, divide slope parameters by
rpf.ogive. Item models are estimated in
slope-intercept form. Input/output matrices arranged in the way
most convenient for low-level processing in C. The maximum
absolute logit is 35 because f(x) := 1-exp(x) loses accuracy around f(-35)
and equals 1 at f(-38) due to the limited accuracy of double
precision floating point.
This package could also accrete functions to support plotting (but not the actual plot functions).
Pritikin, J. N., Hunter, M. D., & Boker, S. M. (2015). Modular open-source software for Item Factor Analysis. Educational and Psychological Measurement, 75(3), 458-474
Thissen, D. and Steinberg, L. (1986). A taxonomy of item response models. Psychometrika 51(4), 567-577.
rpf.rparam to create item parameters.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.