ParMLE: Maximum likelihood estimation of item parameters for...

Description Usage Arguments Value See Also Examples

View source: R/ParMLE.R

Description

This function returns maximum likelihood estimates of item parameters for cognitive diagnostic models when examinee ability patterns are known. This function can either be used independently or called in the JMLE function. Currently supported cognitive diagnostic models include the DINA model, the DINO model, the NIDA model, the G-NIDA model, and the R-RUM model.

Usage

1
ParMLE(Y, Q, alpha, model = c("DINA", "DINO", "NIDA", "GNIDA", "RRUM"))

Arguments

Y

A matrix of binary responses. Rows represent persons and columns represent items. 1=correct, 0=incorrect.

Q

The Q-matrix of the test. Rows represent items and columns represent attributes. 1=attribute required by the item, 0=attribute not required by the item.

alpha

Examinee attribute profiles. Rows represent persons and columns represent attributes. 1=examinee masters the attribute, 0=examinee does not master the attribute.

model

Currently support five models: "DINA", "DINO", "NIDA", "GNIDA", and "RRUM". The default is "DINA".

Value

For the DINA, DINO, and NIDA models:

slip

a vector of slip parameters.

guess

a vector of guessing parameters.

se.slip

a vector of the standard errors for slip parameters.

se.guess

a vector of the standard errors for guessing parameters.

For the G-NIDA model:

slip

a matrix (# items by # attributes) of slip parameters.

guess

a matrix (# items by # attributes) of guessing parameters.

se.slip

a matrix (# items by # attributes) of the standard errors for slip parameters.

se.guess

a matrix (# items by # attributes) of the standard errors for guessing parameters.

For the R-RUM model:

pi

a vector of pi parameters for each item.

r

a matrix (# items by # attributes) of r parameters.

se.pi

a vector of the standard errors for pi parameters.

se.r

a matrix (# items by # attributes) of the standard errors for r parameters.

Note that for the G-NIDA model and the R-RUM model, the item parameter estimates and standard errors are not available for the entries where the Q-matrix is 0.

Additionally, for all models:

model

The chosen model.

Q

The Q-matrix of the test.

See Also

JMLE, print.ParMLE

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Generate item and examinee profiles

natt <- 3
nitem <- 4
nperson <- 5
Q <- rbind(c(1, 0, 0), c(0, 1, 0), c(0, 0, 1), c(1, 1, 1))
alpha <- rbind(c(0, 0, 0), c(1, 0, 0), c(0, 1, 0), c(0, 0, 1), c(1, 1, 1))

# Generate DINA model-based response data

slip <- c(0.1, 0.15, 0.2, 0.25)
guess <- c(0.1, 0.15, 0.2, 0.25)
my.par <- list(slip=slip, guess=guess)

data <- matrix(NA, nperson, nitem)
eta <- matrix(NA, nperson, nitem)

for (i in 1:nperson) {
  for (j in 1:nitem) {
  eta[i, j] <- prod(alpha[i,] ^ Q[j, ])
  P <- (1 - slip[j]) ^ eta[i, j] * guess[j] ^ (1 - eta[i, j])
  u <- runif(1)
  data[i, j] <- as.numeric(u < P)
  }
}

# Using the function to estimate item parameters

parMLE.result <- ParMLE(data, Q, alpha, model="DINA")
print(parMLE.result)  # Print the estimated item parameters and standard errors
ItemFit(parMLE.result)
ModelFit(parMLE.result)

NPCD documentation built on Nov. 16, 2019, 1:08 a.m.

Related to ParMLE in NPCD...