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
)

Arguments

y

Binary responses to assessments in matrix form with dimensions \(N \times J\).

k

Number of Attribute Levels as a positive integer.

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

Value

An errum object that has:

  • PISTAR

  • RSTAR

  • PIs

  • QS

  • m_Delta

  • Delta_biject

  • M2

  • M1

  • NUS

See also

Examples

# 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) }
#> Beginning the estimation procedure...