Estimating Three-and Four-parameter MIRT Models with Importance-weighted Sampling Enhanced Variational Autoencoder
Codes for reproducing synthetic experiments in Estimating Three-and Four-parameter MIRT Models with Importance-weighted Sampling Enhanced Variational Autoencoder
Our experiments are based on PYTHON=3.8,
please see requirements.txt
for required packages.
Below are bash scripts to fit IWVAE and MCEM on high performance computing cluster.
# Fit IWVAE
for asymp in single double; do
for pl in 3 4; do
for depend in 1 2; do
for corr_factor in 0 1; do
echo "Start IWVAE: Asymptotic: "$asymp", MIRT: "$pl", Depend: "$depend", Correlated Factors: "$corr_factor
python fit_iwvae_syn.py -asymptotic $asymp \
-pl $pl \
-item-depend $depend \
-correlated-factor $corr_factor \
-replication-id $SLURM_ARRAY_TASK_ID
done
done
done
done
# Fit MCEM
for asymp in single double; do
for pl in 3 4; do
for depend in 1 2; do
for corr_factor in 0 1; do
echo "Start MCEM: Asymptotic: "$asymp", MIRT: "$pl", Depend: "$depend", Correlated Factors: "$corr_factor
Rscript --vanilla fit_mcem_syn.R $asymp \
$pl \
$depend \
$corr_factor \
$SLURM_ARRAY_TASK_ID
done
done
done
done
Here SLURM_ARRAY_TASK_ID
ranges from 1 to 100,
indicates 100 independent replications.
Estimated parameters are stored in model
in fit_iwvae_syn.py
and can be extracted by model.a
to model.d
respectively.