lsirm2pl {lsirm12pl}R Documentation

Fit a 2pl LSIRM for binary and continuous item resopnse data

Description

lsirm2pl integrates all functions related to 2PL LSIRM. Various 2PL LSIRM function can be used by setting the spikenslab, fixed_gamma, and missing_data arguments.

This function can be used regardless of the data type, providing a unified approach to model fitting.

Usage

lsirm2pl(
  data,
  spikenslab = FALSE,
  fixed_gamma = FALSE,
  missing_data = NA,
  chains = 1,
  multicore = 1,
  seed = NA,
  ndim,
  niter,
  nburn,
  nthin,
  nprint,
  jump_beta,
  jump_theta,
  jump_alpha,
  jump_z,
  jump_w,
  pr_mean_beta,
  pr_sd_beta,
  pr_mean_theta,
  pr_a_theta,
  pr_b_theta,
  pr_mean_alpha,
  pr_sd_alpha,
  ...
)

Arguments

data

Matrix; a binary or continuous item response matrix for analysis. Each row represents a respondent, and each column contains responses to the corresponding item.

spikenslab

Logical; specifies whether to use a model selection approach. Default is FALSE.

fixed_gamma

Logical; indicates whether to fix gamma at 1. Default is FALSE.

missing_data

Character; the type of missing data assumed. Options are NA, "mar", or "mcar". Default is NA.

chains

Integer; the number of MCMC chains to run. Default is 1.

multicore

Integer; the number of cores to use for parallel execution. Default is 1.

seed

Integer; the seed number for MCMC fitting. Default is NA.

ndim

Integer; the dimension of the latent space. Default is 2.

niter

Integer; the total number of MCMC iterations to run. Default is 15000.

nburn

Integer; the number of initial MCMC iterations to discard as burn-in. Default is 2500.

nthin

Integer; the number of MCMC iterations to thin. Default is 5.

nprint

Integer; the interval at which MCMC samples are displayed during execution. Default is 500.

jump_beta

Numeric; the jumping rule for the beta proposal density. Default is 0.4.

jump_theta

Numeric; the jumping rule for the theta proposal density. Default is 1.0.

jump_alpha

Numeric; the jumping rule for the alpha proposal density. Default is 1.0.

jump_z

Numeric; the jumping rule for the z proposal density. Default is 0.5.

jump_w

Numeric; the jumping rule for the w proposal density. Default is 0.5.

pr_mean_beta

Numeric; the mean of the normal prior for beta. Default is 0.

pr_sd_beta

Numeric; the standard deviation of the normal prior for beta. Default is 1.0.

pr_mean_theta

Numeric; the mean of the normal prior for theta. Default is 0.

pr_a_theta

Numeric; the shape parameter of the inverse gamma prior for the variance of theta. Default is 0.001.

pr_b_theta

Numeric; the scale parameter of the inverse gamma prior for the variance of theta. Default is 0.001.

pr_mean_alpha

Numeric; the mean of the log normal prior for alpha. Default is 0.5.

pr_sd_alpha

Numeric; the standard deviation of the log normal prior for alpha. Default is 1.0.

...

Additional arguments for the for various settings. Refer to the functions in the Details.

Details

Additional arguments and return values for each function are documented in the respective function's description.

* For 2PL LSIRM with data included missing value are detailed in lsirm2pl_mar and lsirm2pl_mcar.

* For 2PL LSIRM using the spike-and-slab model selection approach are detailed in lsirm2pl_ss.

* For continuous version of 2PL LSIRM are detailed in lsirm2pl_normal_o.

For 2PL LSIRM with binary item response data, the probability of correct response by respondent j to item i with item effect \beta_i, respondent effect \theta_j and the distance between latent position w_i of item i and latent position z_j of respondent j in the shared metric space, with \gamma represents the weight of the distance term. For 2pl model, the the item effect is assumed to have additional discrimination parameter \alpha_i multiplied by \theta_j:

logit(P(Y_{j,i} = 1|\theta_j,\alpha_i,\beta_i,\gamma,z_j,w_i))=\theta_j*\alpha_i+\beta_i-\gamma||z_j-w_i||

For 2PL LSIRM with continuous item response data, the continuous value of response by respondent j to item i with item effect \beta_i, respondent effect \theta_j and the distance between latent position w_i of item i and latent position z_j of respondent j in the shared metric space, with \gamma represents the weight of the distance term. For 2pl model, the the item effect is assumed to have additional discrimination parameter \alpha_i multiplied by \theta_j:

Y_{j,i} = \theta_j+\beta_i-\gamma||z_j-w_i|| + e_{j,i}

where the error e_{j,i} \sim N(0,\sigma^2)

Value

lsirm2pl returns an object of list. The basic return list containing the following components:

data

A data frame or matrix containing the variables used in the model.

bic

A numeric value representing the Bayesian Information Criterion (BIC).

mcmc_inf

Details about the number of MCMC iterations, burn-in periods, and thinning intervals.

map_inf

The log maximum a posteriori (MAP) value and the iteration number at which this MAP value occurs.

beta_estimate

Posterior estimates of the beta parameter.

theta_estimate

Posterior estimates of the theta parameter.

sigma_theta_estimate

Posterior estimates of the standard deviation of theta.

alpha_estimate

posterior estimates of alpha parameter..

z_estimate

Posterior estimates of the z parameter.

w_estimate

Posterior estimates of the w parameter.

beta

Posterior samples of the beta parameter.

theta

Posterior samples of the theta parameter.

theta_sd

Posterior samples of the standard deviation of theta.

alpha

Posterior samples of the alpha parameter.

z

Posterior samples of the z parameter, represented as a 3-dimensional matrix where the last axis denotes the dimension of the latent space.

w

Posterior samples of the w parameter, represented as a 3-dimensional matrix where the last axis denotes the dimension of the latent space.

accept_beta

Acceptance ratio for the beta parameter.

accept_theta

Acceptance ratio for the theta parameter.

accept_z

Acceptance ratio for the z parameter.

accept_w

Acceptance ratio for the w parameter.

accept_alpha

Acceptance ratio for the alpha parameter.

...

Additional return values for various settings. Refer to the functions in the Details.

Note

If both spikenslab and fixed_gamma are set TRUE, it returns error because both are related to gamma.

See Also

The 2PL LSIRM for binary item response data as following:

lsirm2pl_o, lsirm2pl_fixed_gamma, lsirm2pl_mar,lsirm2pl_mcar, lsirm2pl_fixed_gamma_mar, lsirm2pl_fixed_gamma_mcar, lsirm2pl_ss, lsirm2pl_mar_ss, and lsirm2pl_mcar_ss

The 2PL LSIRM for continuous item response data as following:

lsirm2pl_normal_o, lsirm2pl_normal_fixed_gamma, lsirm2pl_normal_mar, lsirm2pl_normal_mcar,lsirm1pl_normal_fixed_gamma_mar, lsirm2pl_normal_fixed_gamma_mcar, lsirm2pl_normal_ss, lsirm2pl_normal_mar_ss, lsirm2pl_normal_mcar_ss

Examples


# generate example item response matrix
data     <- matrix(rbinom(500, size = 1, prob = 0.5),ncol=10,nrow=50)
lsirm_result <- lsirm2pl(data)

# The code following can achieve the same result.
lsirm_result <- lsirm(data~lsirm2pl())



[Package lsirm12pl version 1.3.2 Index]