Accelerated Item Factor Analysis
Project description
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 MH-RM 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). In this example, xifa could finish the training process within 12 minutes for an IFA model with 300 items and 30 factors under a dataset with 307,313 cases.
Features in xifa
xifa supports ordinal data IFA with
- graded response model (GRM; Semejima, 1969)
- generalized partial credit model (GPCM; Muraki, 1992).
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xifa-0.1.6.tar.gz.
File metadata
- Download URL: xifa-0.1.6.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b80cd3a46ba99759a3cc913270ba0a26d4d0100509dba2e4240b4dc1d71dfad3
|
|
| MD5 |
ea08d07913d69379564e7ce1578cc1a3
|
|
| BLAKE2b-256 |
2e03716d0746f119464278329289dd38df1fc230aad57714ffd047254fa52fd0
|
File details
Details for the file xifa-0.1.6-py3-none-any.whl.
File metadata
- Download URL: xifa-0.1.6-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a616083ac60c816f088512f493ac985b43deff809dc98948696142250e5cba75
|
|
| MD5 |
7f218cc4fef6c50097532fa092642d53
|
|
| BLAKE2b-256 |
4d8c1e381f090c2d09b59d9dcbce7caeabf8d253ee170adb14149743731176f8
|