NEWS
ForceChoice 1.0.1 (2026-09-12)
CRAN Compliance
- Restored the rstantools automatic configuration: removed the
Config/ForceChoice/skip-rstantools-config field from DESCRIPTION,
restored the standard configure and configure.win scripts, and
regenerated the Stan export sources.
ForceChoice 1.0.0 (2026-07-30)
New Features
Eight Model Families
fit.MIRT() - Multidimensional Item Response Theory (1PL--4PL) for binary
dominance data, with optional Q-matrix structure.
fit.MGPCM() - Multidimensional Generalized Partial Credit Model for
polytomous ordered-category responses.
fit.MGGUM() - Multidimensional Generalized Graded Unfolding Model for
ideal-point polytomous responses with signed Q-matrix.
fit.FCMIRT() - Forced-Choice MIRT with item-level dominance endorsement
and Luce--Plackett block-level ranking (RANK, MOLE, PICK).
fit.FCGGUM() - Forced-Choice GGUM with item-level ideal-point endorsement
and block-level ranking.
fit.TIRT() - Thurstonian IRT for forced-choice with pairwise probit
comparisons and latent utility differences.
fit.FCDCM() - Forced-Choice Diagnostic Classification Model with
higher-order latent trait, DINA/DINO condensation rules, and exact
attribute-profile marginalization.
fit.FCGDINA() - Forced-Choice GDINA model with DINA, DINO, ACDM, and
GDINA item-level structures for ranking, most-least, and pick responses.
Estimation Backends
- Stan (
method = "stan"): Full Bayesian inference via Hamiltonian Monte
Carlo (NUTS/HMC) with rstan.
- iStEM (
method = "iStEM"): Fast iterative Stochastic EM with
Metropolis-within-Gibbs person sampling and L-BFGS-B item optimization.
- EM (
method = "EM"): Deterministic posterior-weight EM for FCGDINA.
Comprehensive Goodness-of-Fit
- Limited-information M2 statistic (Maydeu-Olivares & Joe, 2005, 2006)
- RMSEA with confidence intervals, SRMSR, RMSR
- Comparative fit: CFI, TLI, IFI
- Information criteria: AIC, AICc, BIC, CAIC, SABIC, HQIC
- Pseudo-R2 measures: McFadden, Cox--Snell, Nagelkerke, and more
- Local dependence: Yen's Q3 (raw and adjusted)
- Posterior diagnostics: entropy, classification accuracy
Data Simulation
sim.data.MIRT(), sim.data.MGPCM(), sim.data.MGGUM() for traditional
item response data.
sim.data.FCMIRT(), sim.data.FCGGUM(), sim.data.TIRT(),
sim.data.FCDCM(), sim.data.FCGDINA() for forced-choice data.
- All simulators support controlled parameter generation, factor correlation,
and rotation.
Solution Rotation
rotate.MIRT() and rotate.matrix() for post-hoc rotation of MIRT
solutions using promax or any GPArotation method.
S3 Methods
- Consistent generics across all model classes:
coef(),
confint(), deviance(), fitted(), logLik(), nobs(), plot(),
predict(), print(), residuals(), summary(), update(), vcov().
Bug Fixes
- This is the initial CRAN release.
Notes
- The package was previously developed under the name fcirt and has been
substantially rewritten and expanded to support eight model families and the
iStEM estimation backend.