psychometrics package, including structural equation model, confirmatory factor analysis, unidimensional item response theory, multidimensional item response theory, cognitive diagnosis model, factor analysis and adaptive testing. The package is still a doll. will be finished in future.

unidimensional item response theory


  • binary response data IRT (two parameters, three parameters).
  • grade respone data IRT (GRM model)

Parameter estimation algorithm

  • EM algorithm (2PL, GRM)
  • MCMC algorithm (3PL)

Multidimensional item response theory (full information item factor analysis)

Parameter estimation algorithm

The initial value

The approximate polychoric correlation is calculated, and the slope initial value is obtained by factor analysis of the polychoric correlation matrix.

EM algorithm

  • E step uses GH integral.
  • M step uses Newton algorithm (sparse matrix is divided into non sparse matrix).

Factor rotation

Gradient projection algorithm

The shortcomings

GH integrals can only estimate low dimensional parameters.

Cognitive diagnosis model


  • Dina
  • ho-dina

parameter estimation algorithms

  • EM algorithm
  • MCMC algorithm
  • maximum likelihood estimation (only for estimating skill parameters of subjects)

Structural equation model

  • contains three parameter estimation methods(ULS, ML and GLS).
  • based on gradient descent

Confirmatory factor analysis

  • can be used for continuous data, binary data and ordered data.
  • based on gradient descent
  • binary and ordered data based on Polychoric correlation matrix.

Factor analysis

For the time being, only for the calculation of full information item factor analysis, it is very simple.

The algorithm

principal component analysis

The rotation algorithm

gradient projection

Adaptive test


Thurston IRT model (multidimensional item response theory model for personality test)


Maximum information method for multidimensional item response theory


  • numpy
  • progressbar2

How to use it


pip install psy

See demo


  • theta parameterization of CCFA
  • parameter estimation of structural equation models for multivariate data
  • Bayesin knowledge tracing (Bayesian knowledge tracking)
  • multidimensional item response theory (full information item factor analysis)
  • high dimensional computing algorithm (adaptive integral, etc.)
  • various item response models
  • cognitive diagnosis model
  • G-DINA model
  • Q matrix correlation algorithm
  • Factor analysis
  • maximum likelihood estimation
  • various factor rotation algorithms
  • adaptive
  • adaptive cognitive diagnosis
  • other adaption model
  • standard error and P value
  • code annotation, testing and documentation.