![]() |
![]() |
![]() |
liboscats Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
"Dprior" GGslVector* : Read / Write "Sigma" GGslMatrix* : Read / Write / Construct "c" gdouble : Read / Write / Construct "inf-bounds" gboolean : Read / Write / Construct Only "modelKey" gchar* : Read / Write "mu" GGslVector* : Read / Write / Construct "num" guint : Read / Write / Construct Only "posterior" gboolean : Read / Write / Construct Only "thetaKey" gchar* : Read / Write
struct OscatsAlgMaxKl;
Item selection algorithm ("select"). Picks the item with greatest Kullback-Leibler index. Note: This algorithm may not work correctly if there are multiple items with exactly the same optimality metric.
Kullback-Leibler Divergence is: KL(theta.hat || theta) = E_{X|theta.hat}[log{P(X|theta.hat)/P(X|theta)}]
The KL Index is: KLI(theta.hat) = Int KL(theta.hat||theta) dtheta with integration over continuous dimensions and summation over discrete dimensions.
Integration is either over the box theta.hat +/- c/sqrt(n) or over the ellipsoid (x-theta.hat)' I_n(theta.hat)^-1 (x-theta.hat) <= c, where n is the number of items already administered and I_n(theta.hat) is the Fisher Information for the previously administered items.
Note that for discrete dimensions the sum is over all Prod_i n_i patterns (where n_i is the number of response categories for discrete dimension i; for K binary dimensions, this would be 2^K patterns). Consequently, this algorithm may be very slow in high dimensional latent spaces.
Alternatively, the KL Index may be posteriorly weighted: PWKLI(theta.hat) = Int KL(theta.hat||theta) { prod_i P_i(x_i|theta) } g(theta) dtheta where g(theta) is the prior for theta (multivariate normal for continuous dimensions and an arbitrary discrete distribution for discrete dimensions).
References:
1996). "A Global Information Appraoch to Computerized Adaptive Testing." Applied Psychological Measurement, , 213-229.
(2002). "Multidimensional Adaptive Testing with Constraints on Test Content." Psychometrika, , 575-588.
(2009). "When Cognitive Diagnosis Meets Computerized Adaptive Testing: CD-CAT." Psychometrika, , 619-632.
(
"Dprior"
property"Dprior" GGslVector* : Read / Write
Prior distribution for discrete dimensions as a vector of probabilities for all Prod_i n_i patterns, where n_i is the number of categories for discrete dimension i. The values should be ordered so that the lowest numbered binary dimension increases fasted, and the ordinal dimensions follow binary dimensions. The probabilities should sum to 1. Default: uniform.
"Sigma"
property"Sigma" GGslMatrix* : Read / Write / Construct
Prior population covariance matrix for posterior weight for continuous dimensions. (Note: The value is copied.) Default: identity.
"c"
property"c" gdouble : Read / Write / Construct
The constant c in integration bounds.
Allowed values: [1e-16,1e+16]
Default value: 3
"inf-bounds"
property"inf-bounds" gboolean : Read / Write / Construct Only
If true, integrate continuous dimensions over the confidence ellipsoid. Otherwise, integrate over the box theta.hat +/- c/sqrt(n).
Default value: FALSE
"modelKey"
property"modelKey" gchar* : Read / Write
The key indicating which model to use for selection. A NULL
value or
empty string indicates the item's default model.
Default value: NULL
"mu"
property"mu" GGslVector* : Read / Write / Construct
Prior population mean for posterior weight for continuous dimensions. (Note: The value is copied.) Default: 0.
"num"
property"num" guint : Read / Write / Construct Only
Number of items from which to choose. If one, then the exact optimal item is selected. If greater than one, then a random item is chosen from among the "num" optimal items.
Allowed values: >= 1
Default value: 1
"posterior"
property"posterior" gboolean : Read / Write / Construct Only
If true, use posterior-weighted KL index. (Note: if true, "inf-bounds" is ignored.)
Default value: FALSE