Skip to content

psyphh/xifa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XIFA: Accelerated Item Factor Analysis

What is xifa?

xifa is a python package for conducting item factor analysis (IFA), a representative multivariate technique in psychometrics.

xifa is build on jax, a package for Autograd and XLA (accelerated linear algebra). Hence, xifa can run IFA on GPUs and TPUs to hugely speed up the training process. That is why we call it Accelerated IFA.

To calculate a marginal maximum likelihood (MML) estimate, xifa implements a vectorized version of Metropolis-Hastings Robbins-Monro (MH-RM) algorithm (Cai, 2010). The vectorized algorithm is designed for parallel computing with GPUs of TPUs. The vectorized algorithm includes two stages: the first stage updates the parameter estimate by a stochastic expectation-maximization (StEM) algorithm and the second stage conducts stochastic approximation (SA) to iteratively refine the estimate.

For a tutorial, please see the IPIP 50 Items Example.

For a large-scale application, please see the IPIP 300 Items Example (v2).

Features in xifa

xifa supports ordinal data IFA with

The analysis can be either exploratory or confirmatory. In addition, the vectorized algorithm is able to handle the presence of

  • missing responses
  • unequal category items

Features in statistical inference (e.g., goodness-of-fit statistics, parameter standard errors, etc.) are still under development.

About

Accelerated Item Factor Analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages