Need help with pypsy?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

125 Stars 52 Forks MIT License 44 Commits 3 Opened issues


psychometrics package, including MIRT(multidimension item response theory), IRT(item response theory),GRM(grade response theory),CAT(computerized adaptive testing), CDM(cognitive diagnostic model), FA(factor analysis), SEM(Structural Equation Modeling) .

Services available


Need anything else?

Contributors list

# 118,749
42 commits

.. image:: :target:

.. image:: :target:

.. image:: :target:

.. image:: :target:


中文 <.>

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

models ~~~~~~

  • 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

models ~~~~~~

  • 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

model ~~~~~

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

Algorithm ~~~~~~~~~

Maximum information method for multidimensional item response theory


  • numpy

  • progressbar2

How to use it

install ~~~~~~~ ::

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.


  • DINA Model and Parameter Estimation: A
  • Higher-order latent trait models for cognitive
  • Full-Information Item Factor
  • Multidimensional adaptive
  • Derivative free gradient projection algorithms for rotation 

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.