data_loglik | R Documentation |
Compute observed data marginal loglikihood.
When there are only standalone items, this computes the regular loglik of the observed data.
When there are cluster items, this computes the marginal loglik where the word marginal means
integrating out the nuisance dimension from the conditional likelihood of the cluster items.
Use '?MIRTutils-package' for more details, such as the context of the current package and models supported.
data_loglik(
theta,
SA_dat = NULL,
Cluster_dat = NULL,
SA_parm = NULL,
Cluster_parm = NULL,
Dv = 1,
n.nodes = 21,
return_additional = TRUE,
missing_as_incorrect = F
)
theta |
a scalar or a vector of examinee ability |
SA_dat |
For one examinee, a vector of response to standalone items.
For more than one examinee, a matrix or dataframe of response to standalone items. One assertion per column.
Column order must match row order in |
Cluster_dat |
For one examinee, a vector of response to cluster items.
For more than one examinee, a matrix or dataframe of response to cluster items. One assertion per column.
Column order must match row order in |
SA_parm |
a matrix or dataframe of item parameters for standalone items, where columns are
a (slope), b1, b2, ..., b_k (difficulty or step difficulty), g (guessing), ItemID, and AssertionID.
Columns must follow the above order.
See |
Cluster_parm |
a matrix or dataframe of item parameters for cluster items, where columns are
a (slope), b (difficulty), cluster variance, cluster position, ItemID, and AssertionID.
Columns must follow the above order.
See |
Dv |
scaling factor for IRT model (usually 1 or 1.7) |
n.nodes |
number of nodes used when integrating out the nuisance dimension |
return_additional |
if TRUE, returns data loglikelihood with some additional by-product of the function in a list. See Value section for details |
missing_as_incorrect |
by default, missings (NAs) are treated as missing; if TRUE, missings are treated as incorrect |
If return_additional
is FALSE
, returns a dataframe with two columns: theta and marginalized data loglikelihood.
If return_additional
is TRUE
, returns the dataframe of loglikelihood with following additional tables in a list
probs.SA
: probability of correct response for standalone items
probs.cluster
: (conditional) probability table of correct response for clusters at each given nodes
parms
: parameter tables in a list
If the test does not have SA items or Cluster items, use default (NULL)
for the corresponding data and parameter arguments
Zhongtian Lin lzt713@gmail.com
data(example_SA_parm)
data(example_Cluster_parm)
sigma <- diag(c(1, sqrt(unique(example_Cluster_parm$cluster_var))))
mu <- rep(0, nrow(sigma))
thetas <- MASS::mvrnorm(7,mu,sigma)
thetas[,1] <- seq(-3,3,1) #overall dimension theta values
itmDat <- sim_data(thetas = thetas, SA_parm = example_SA_parm, Cluster_parm = example_Cluster_parm)
SA_dat <- itmDat[,1:20]
Cluster_dat <- itmDat[,-1:-20]
rst <- data_loglik(thetas[,1], SA_dat, Cluster_dat, example_SA_parm, example_Cluster_parm, n.nodes = 11, return_additional = TRUE)
rst$loglik
rst$prob.SA
length(rst$probs.cluster) # a list conditional probabilities. The length of the list = number of clusters
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.