blim.Rd
Fits a basic local independence model (BLIM) for probabilistic knowledge structures by minimum discrepancy maximum likelihood estimation.
blim(K, N.R, method = c("MD", "ML", "MDML"), R = as.binmat(N.R),
P.K = rep(1/nstates, nstates),
beta = rep(0.1, nitems), eta = rep(0.1, nitems),
betafix = rep(NA, nitems), etafix = rep(NA, nitems),
betaequal = NULL, etaequal = NULL,
randinit = FALSE, incradius = 0,
tol = 1e-07, maxiter = 10000, zeropad = 16)
blimMD(K, N.R, R = as.binmat(N.R),
betafix = rep(NA, nitems), etafix = rep(NA, nitems),
incrule = c("minimum", "hypblc1", "hypblc2"), m = 1)
# S3 method for class 'blim'
anova(object, ..., test = c("Chisq", "none"))
a state-by-problem indicator matrix representing the knowledge structure. An element is one if the problem is contained in the state, and else zero.
a (named) vector of absolute frequencies of response patterns.
MD
for minimum discrepancy estimation, ML
for
maximum likelihood estimation, MDML
for minimum discrepancy
maximum likelihood estimation.
a person-by-problem indicator matrix of unique response patterns.
Per default inferred from the names of N.R
.
the vector of initial parameter values for probabilities of knowledge states.
vectors of initial parameter values for probabilities of a careless error and a lucky guess, respectively.
vectors of fixed error and guessing parameter values;
NA
indicates a free parameter.
lists of vectors of problem indices; each vector represents an equivalence class: it contains the indices of problems for which the error or guessing parameters are constrained to be equal. (See Examples.)
logical, if TRUE
then initial parameter values are
sampled uniformly with constraints. (See Details.)
include knowledge states of distance from the minimum
discrepant states less than or equal to incradius
.
tolerance, stopping criterion for iteration.
the maximum number of iterations.
the maximum number of items for which an incomplete
N.R
vector is completed and padded with zeros.
inclusion rule for knowledge states. (See Details.)
exponent for hyperbolic inclusion rules.
an object of class blim
, typically the result of a
call to blim
.
should the p-values of the chi-square distributions be reported?
additional arguments passed to other methods.
See Doignon and Falmagne (1999) for details on the basic local independence model (BLIM) for probabilistic knowledge structures.
Minimum discrepancy (MD) minimizes the number of expected response errors (careless errors or lucky guesses). Maximum likelihood maximizes the likelihood, possibly at the expense of inflating the error and guessing parameters. Minimum discrepancy maximum likelihood (MDML) maximizes the likelihood subject to the constraint of minimum response errors. See Heller and Wickelmaier (2013) for details on the parameter estimation methods.
If randinit
is TRUE
, initial parameter values are sampled
uniformly with the constraint beta + eta < 1
(Weisstein, 2013) for
the error parameters, and with sum(P.K) == 1
(Rubin, 1981) for the
probabilities of knowledge states. Setting randinit
to TRUE
overrides any values given in the P.K
, beta
, and eta
arguments.
The degrees of freedom in the goodness-of-fit test are calculated as number of possible response patterns minus one or number of respondents, whichever is smaller, minus number of parameters.
blimMD
uses minimum discrepancy estimation only. Apart from the
hyperbolic inclusion rules, all of its functionality is also provided by
blim
. It may be removed in the future.
An object of class blim
having the following components:
the mean minimum discrepancy between response patterns and knowledge states.
the vector of estimated parameter values for probabilities of knowledge states.
the vector of estimated parameter values for probabilities of a careless error.
the vector of estimated parameter values for probabilities of a lucky guess.
the minimum discrepancy distribution.
the knowledge structure.
the vector of frequencies of response patterns.
the number of items.
the number of knowledge states.
the number of response patterns.
the number of respondents.
the number of response errors.
the number of parameters.
the parameter estimation method.
the number of iterations needed.
the log-likelihood.
the fitted response frequencies.
the goodness of fit statistic including the likelihood ratio fitted vs. saturated model (G2), the degrees of freedom, and the p-value of the corresponding chi-square distribution. (See Details.)
Doignon, J.-P., & Falmagne, J.-C. (1999). Knowledge spaces. Berlin: Springer.
Heller, J., & Wickelmaier, F. (2013). Minimum discrepancy estimation in probabilistic knowledge structures. Electronic Notes in Discrete Mathematics, 42, 49–56. doi:10.1016/j.endm.2013.05.145
Rubin, D.B. (1981). The Bayesian bootstrap. The Annals of Statistics, 9(1), 130–134. doi:10.1214/aos/1176345338
Weisstein, E.W. (2013, August 29). Triangle point picking. In MathWorld – A Wolfram Web Resource. Retrieved from https://mathworld.wolfram.com/TrianglePointPicking.html.
simulate.blim
, plot.blim
,
residuals.blim
, logLik.blim
,
delineate
, jacobian
, endm
,
probability
, chess
.
data(DoignonFalmagne7)
K <- DoignonFalmagne7$K # knowledge structure
N.R <- DoignonFalmagne7$N.R # frequencies of response patterns
## Fit basic local independence model (BLIM) by different methods
blim(K, N.R, method = "MD") # minimum discrepancy estimation
#>
#> Basic local independence models (BLIMs)
#>
#> Number of knowledge states: 9
#> Number of response patterns: 32
#> Number of respondents: 1000
#>
#> Method: Minimum discrepancy
#> Number of iterations: 1
#> Goodness of fit (2 log likelihood ratio):
#> G2(13) = 91.283, p = 7.9381e-14
#>
#> Minimum discrepancy distribution (mean = 0.254)
#> 0 1 2
#> 760 226 14
#>
#> Mean number of errors (total = 0.254)
#> careless error lucky guess
#> 0.16400059 0.09000041
#>
#> Error and guessing parameters
#> beta eta
#> a 0.092089 0.000001
#> b 0.088720 0.000001
#> c 0.045058 0.040640
#> d 0.000001 0.040858
#> e 0.000001 0.054722
#>
blim(K, N.R, method = "ML") # maximum likelihood estimation by EM
#>
#> Basic local independence models (BLIMs)
#>
#> Number of knowledge states: 9
#> Number of response patterns: 32
#> Number of respondents: 1000
#>
#> Method: Maximum likelihood
#> Number of iterations: 300
#> Goodness of fit (2 log likelihood ratio):
#> G2(13) = 12.623, p = 0.47735
#>
#> Minimum discrepancy distribution (mean = 0.254)
#> 0 1 2
#> 760 226 14
#>
#> Mean number of errors (total = 0.48767)
#> careless error lucky guess
#> 0.44280716 0.04486539
#>
#> Error and guessing parameters
#> beta eta
#> a 0.164871 0.103065
#> b 0.163113 0.095074
#> c 0.188839 0.000004
#> d 0.079835 0.000003
#> e 0.088648 0.019910
#>
blim(K, N.R, method = "MDML") # MDML estimation
#>
#> Basic local independence models (BLIMs)
#>
#> Number of knowledge states: 9
#> Number of response patterns: 32
#> Number of respondents: 1000
#>
#> Method: Minimum discrepancy maximum likelihood
#> Number of iterations: 122
#> Goodness of fit (2 log likelihood ratio):
#> G2(13) = 79.192, p = 1.5652e-11
#>
#> Minimum discrepancy distribution (mean = 0.254)
#> 0 1 2
#> 760 226 14
#>
#> Mean number of errors (total = 0.254)
#> careless error lucky guess
#> 0.19166385 0.06233713
#>
#> Error and guessing parameters
#> beta eta
#> a 0.112944 0.000001
#> b 0.107871 0.000001
#> c 0.027133 0.010689
#> d 0.000001 0.012976
#> e 0.000001 0.063496
#>
## Parameter restrictions: beta_a = beta_b = beta_d, beta_c = beta_e
## eta_a = eta_b = 0.1
m1 <- blim(K, N.R, method = "ML",
betaequal = list(c(1, 2, 4), c(3, 5)),
etafix = c(0.1, 0.1, NA, NA, NA))
m2 <- blim(K, N.R, method = "ML")
anova(m1, m2)
#> Analysis of Deviance Table
#>
#> Model 1: m1
#> Model 2: m2
#> Resid. Df Resid. Dev Df Deviance Pr(>Chi)
#> 1 18 12.630
#> 2 13 12.623 5 0.0069751 1
## See ?endm, ?probability, and ?chess for further examples.