Giter Site home page Giter Site logo

inuyasha2012 / pypsy Goto Github PK

View Code? Open in Web Editor NEW
211.0 19.0 69.0 194 KB

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) .

License: MIT License

Python 97.54% Makefile 2.46%
psychometrics item-response-theory factor-analysis structural-equation-modeling computerized-adaptive-testing cognitive-diagnostic-models classical-test-theory psychology survey questionnaire education

pypsy's Introduction

https://coveralls.io/repos/github/inuyasha2012/pypsy/badge.svg?branch=master https://readthedocs.org/projects/python-psychometrics/badge/?version=latest

pypsy

中文

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


Require

  • numpy
  • progressbar2

How to use it

install

pip install psy

See demo

TODO LIST

  • 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.

Reference

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.