Title: | Exploratory Reduced Reparameterized Unified Model Estimation |
---|---|
Description: | Perform a Bayesian estimation of the exploratory reduced reparameterized unified model (ErRUM) described by Culpepper and Chen (2018) <doi:10.3102/1076998618791306>. |
Authors: | James Joseph Balamuta [aut, cre, cph] , Steven Andrew Culpepper [aut, cph] , Jeffrey A. Douglas [aut] |
Maintainer: | James Joseph Balamuta <[email protected]> |
License: | GPL (>= 2) |
Version: | 0.0.3 |
Built: | 2024-11-09 06:13:17 UTC |
Source: | CRAN |
Obtains samples from posterior distribution for the Exploratory reduced Reparameterized Unified Model (ErRUM).
errum( y, k = 3, burnin = 1000, chain_length = 10000, verbose = FALSE, X = matrix(1, nrow = ncol(y)), v0 = 4, v1 = 2, cv0 = 0.1, cv1 = 10, bnu = 16 )
errum( y, k = 3, burnin = 1000, chain_length = 10000, verbose = FALSE, X = matrix(1, nrow = ncol(y)), v0 = 4, v1 = 2, cv0 = 0.1, cv1 = 10, bnu = 16 )
y |
Binary responses to assessments in |
k |
Number of Attribute Levels as a positive |
burnin |
Number of Observations to discard on the chain. |
chain_length |
Length of the MCMC chain |
verbose |
Display estimation progress updates. |
X , v0 , v1 , cv0 , cv1 , bnu
|
Additional tuning parameters |
An errum
object that has:
PISTAR
RSTAR
PIs
QS
m_Delta
Delta_biject
M2
M1
NUS
simcdm::attribute_bijection()
,
simcdm::sim_rrum_items()
# Setup Simulation Parameters N = 5 K = 3 J = 30 # Note: # Sample size has been reduced to create a minimally # viable example that can be run during CRAN's automatic check. # Please make sure to have a larger sample size of around 3,000. # Sample true attribute profiles Z = matrix(rnorm(N * K), N, K) Sig = matrix(.5, K, K) diag(Sig) = 1 theta = Z %*% chol(Sig) thvals = matrix(qnorm((1:K) / (K + 1)), N, K, byrow = TRUE) Alphas = 1 * (theta > thvals) # Defining matrix of possible attribute profiles As = as.matrix(expand.grid(c(0, 1), c(0, 1), c(0, 1))) Q = rbind(As[rep(c(2, 3, 5), 4),], As[rep(c(4, 6, 7), 4),], As[rep(8, 6),]) # Use simulation functions available in simcdm if (requireNamespace("simcdm", quietly = TRUE)) { a = As %*% simcdm::attribute_bijection(K) As = As[a + 1,] # Setting item parameters pistar = rep(.9, J) rstar = matrix(.6, J, K) * Q # Simulate data under rRUM model Y = simcdm::sim_rrum_items(Q, rstar, pistar, Alphas) # Estimation Settings chainLength = 10000 # Run with 20000 burnin = chainLength / 2 # Gibbs Estimation model = errum(Y, K, burnin, chainLength) }
# Setup Simulation Parameters N = 5 K = 3 J = 30 # Note: # Sample size has been reduced to create a minimally # viable example that can be run during CRAN's automatic check. # Please make sure to have a larger sample size of around 3,000. # Sample true attribute profiles Z = matrix(rnorm(N * K), N, K) Sig = matrix(.5, K, K) diag(Sig) = 1 theta = Z %*% chol(Sig) thvals = matrix(qnorm((1:K) / (K + 1)), N, K, byrow = TRUE) Alphas = 1 * (theta > thvals) # Defining matrix of possible attribute profiles As = as.matrix(expand.grid(c(0, 1), c(0, 1), c(0, 1))) Q = rbind(As[rep(c(2, 3, 5), 4),], As[rep(c(4, 6, 7), 4),], As[rep(8, 6),]) # Use simulation functions available in simcdm if (requireNamespace("simcdm", quietly = TRUE)) { a = As %*% simcdm::attribute_bijection(K) As = As[a + 1,] # Setting item parameters pistar = rep(.9, J) rstar = matrix(.6, J, K) * Q # Simulate data under rRUM model Y = simcdm::sim_rrum_items(Q, rstar, pistar, Alphas) # Estimation Settings chainLength = 10000 # Run with 20000 burnin = chainLength / 2 # Gibbs Estimation model = errum(Y, K, burnin, chainLength) }