lsirm2pl_o {lsirm12pl} | R Documentation |
2pl LSIRM model
Description
lsirm2pl_o is used to fit 2pl LSIRM model. lsirm2pl_o factorizes item response matrix into column-wise item effect, row-wise respondent effect and further embeds interaction effect in a latent space. Unlike 1pl model, 2pl model assumes the item effect can vary according to respondent, allowing additional parameter multiplied with respondent effect. The resulting latent space provides an interaction map that represents interactions between respondents and items.
Usage
lsirm2pl_o(
data,
ndim = 2,
niter = 15000,
nburn = 2500,
nthin = 5,
nprint = 500,
jump_beta = 0.4,
jump_theta = 1,
jump_alpha = 1,
jump_gamma = 0.025,
jump_z = 0.5,
jump_w = 0.5,
pr_mean_beta = 0,
pr_sd_beta = 1,
pr_mean_theta = 0,
pr_mean_gamma = 0.5,
pr_sd_gamma = 1,
pr_mean_alpha = 0.5,
pr_sd_alpha = 1,
pr_a_theta = 0.001,
pr_b_theta = 0.001,
verbose = FALSE
)
Arguments
data |
Matrix; binary item response matrix to be analyzed. Each row is assumed to be respondent and its column values are assumed to be response to the corresponding item. |
ndim |
Numeric; dimension of latent space. default value is 2. |
niter |
Numeric; number of iterations to run MCMC sampling. default value is 15000. |
nburn |
Numeric; number of initial, pre-thinning, MCMC iterations to discard. default value is 2500. |
nthin |
Numeric;number of thinning, MCMC iterations to discard. default value is 5. |
nprint |
Numeric; MCMC samples is displayed during execution of MCMC chain for each |
jump_beta |
Numeric; jumping rule of the proposal density for beta. default value is 0.4. |
jump_theta |
Numeric; jumping rule of the proposal density for theta. default value is 1.0. |
jump_alpha |
Numeric; jumping rule of the proposal density for alpha. default value is 1.0. |
jump_gamma |
Numeric; jumping rule of the proposal density for gamma. default value is 0.025. |
jump_z |
Numeric; jumping rule of the proposal density for z. default value is 0.5. |
jump_w |
Numeric; jumping rule of the proposal density for w. default value is 0.5. |
pr_mean_beta |
Numeric; mean of normal prior for beta. default value is 0. |
pr_sd_beta |
Numeric; standard deviation of normal prior for beta. default value is 1.0. |
pr_mean_theta |
Numeric; mean of normal prior for theta. default value is 0. |
pr_mean_gamma |
Numeric; mean of log normal prior for gamma. default value is 0.5. |
pr_sd_gamma |
Numeric; standard deviation of log normal prior for gamma. default value is 1.0. |
pr_mean_alpha |
Numeric; mean of normal prior for alpha. default value is 0.5. |
pr_sd_alpha |
Numeric; mean of normal prior for beta. default value is 1.0. |
pr_a_theta |
Numeric; shape parameter of inverse gamma prior for variance of theta. default value is 0.001. |
pr_b_theta |
Numeric; scale parameter of inverse gamma prior for variance of theta. default value is 0.001. |
verbose |
Logical; If TRUE, MCMC samples are printed for each |
Details
lsirm2pl_o
models 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||
Value
lsirm2pl_o
returns an object of list containing the following components:
data |
data frame or matrix containing the variables in the model. |
bic |
Numeric value with the corresponding BIC. |
mcmc_inf |
number of mcmc iteration, burn-in periods, and thinning intervals. |
map_inf |
value of log maximum a posterior and iteration number which have log maximum a posterior. |
beta_estimate |
posterior estimation of beta. |
theta_estimate |
posterior estimation of theta. |
sigma_theta_estimate |
posterior estimation of standard deviation of theta. |
gamma_estimate |
posterior estimation of gamma. |
alpha_estimate |
posterior estimation of alpha. |
z_estimate |
posterior estimation of z. |
w_estimate |
posterior estimation of w. |
beta |
posterior samples of beta. |
theta |
posterior samples of theta. |
theta_sd |
posterior samples of standard deviation of theta. |
gamma |
posterior samples of gamma. |
alpha |
posterior samples of alpha. |
z |
posterior samples of z. The output is 3-dimensional matrix with last axis represent the dimension of latent space. |
w |
posterior samples of w. The output is 3-dimensional matrix with last axis represent the dimension of latent space. |
accept_beta |
accept ratio of beta. |
accept_theta |
accept ratio of theta. |
accept_w |
accept ratio of w. |
accept_z |
accept ratio of z. |
accept_gamma |
accept ratio of gamma. |
accept_alpha |
accept ratio of alpha. |
Examples
# generate example item response matrix
data <- matrix(rbinom(500, size = 1, prob = 0.5),ncol=10,nrow=50)
lsirm_result <- lsirm2pl_o(data)
# The code following can achieve the same result.
lsirm_result <- lsirm(data ~ lsirm2pl(spikenslab = FALSE, fixed_gamma = FALSE))