Learn R Programming

ML2Pvae (version 1.0.0.1)

Variational Autoencoder Models for IRT Parameter Estimation

Description

Based on the work of Curi, Converse, Hajewski, and Oliveira (2019) . This package provides easy-to-use functions which create a variational autoencoder (VAE) to be used for parameter estimation in Item Response Theory (IRT) - namely the Multidimensional Logistic 2-Parameter (ML2P) model. To use a neural network as such, nontrivial modifications to the architecture must be made, such as restricting the nonzero weights in the decoder according to some binary matrix Q. The functions in this package allow for straight-forward construction, training, and evaluation so that minimal knowledge of 'tensorflow' or 'keras' is required.

Copy Link

Version

Install

install.packages('ML2Pvae')

Monthly Downloads

175

Version

1.0.0.1

License

MIT + file LICENSE

Last Published

May 23rd, 2022

Functions in ML2Pvae (1.0.0.1)

correlation_matrix

Simulated latent abilities correlation matrix
get_ability_parameter_estimates

Feed forward response sets through the encoder, which outputs student ability estimates
ML2Pvae

ML2Pvae: A package for creating a VAE whose decoder recovers the parameters of the ML2P model. The encoder can be used to predict the latent skills based on assessment scores.
build_vae_correlated

Build a VAE that fits to a normal, full covariance N(m,S) latent distribution
get_item_parameter_estimates

Get trainable variables from the decoder, which serve as item parameter estimates.
diff_true

Simulated difficulty parameters
disc_true

Simulated discrimination parameters
sampling_correlated

A reparameterization in order to sample from the learned multivariate normal distribution of the VAE
.onLoad

Display a message upon loading package
q_matrix

Simulated Q-matrix
q_constraint

A custom kernel constraint function that restricts weights between the learned distribution and output. Nonzero weights are determined by the Q matrix.
q_1pl_constraint

A custom kernel constraint function that forces nonzero weights to be equal to one, so the VAE will estimate the 1-parameter logistic model. Nonzero weights are determined by the Q matrix.
responses

Response data
vae_loss_correlated

A custom loss function for a VAE learning a multivariate normal distribution with a full covariance matrix
train_model

Trains a VAE or autoencoder model. This acts as a wrapper for keras::fit().
validate_inputs

Give error messages for invalid inputs in exported functions.
theta_true

Simulated ability parameters
vae_loss_independent

A custom loss function for a VAE learning a standard normal distribution
sampling_independent

A reparameterization in order to sample from the learned standard normal distribution of the VAE
build_vae_independent

Build a VAE that fits to a standard N(0,I) latent distribution with independent latent traits
build_hidden_encoder

Build the encoder for a VAE