OscatsAlgMaxKl

OscatsAlgMaxKl

Synopsis

struct              OscatsAlgMaxKl;

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----OscatsAlgorithm
               +----OscatsAlgMaxKl

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

Description

Details

struct OscatsAlgMaxKl

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:

Hua-Hua Chang and Zhiliang Ying (1996). "A Global Information Appraoch to Computerized Adaptive Testing." Applied Psychological Measurement, 20, 213-229.

Bernard Veldkamp and Wim van der Linden (2002). "Multidimensional Adaptive Testing with Constraints on Test Content." Psychometrika, 67, 575-588.

Ying Cheng (2009). "When Cognitive Diagnosis Meets Computerized Adaptive Testing: CD-CAT." Psychometrika, 74, 619-632.

Xueli Xu, Hua-Hua Chang, and Jeff Douglas (2003). "A Simulation Study to Compare CAT Strategies for Cognitive Diagnosis." Paper presented at the annual meeting of the National Council on Measurement in Education, Montreal, Canada.

T.M. Cover and J.A. Thomas (1991). Elements of Information Theory. p 18.

T.M. Cover and J.A. Thomas (1991). Elements of Information Theory. p 18.

Property Details

The "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.


The "Sigma" property

  "Sigma"                    GGslMatrix*           : Read / Write / Construct

Prior population covariance matrix for posterior weight for continuous dimensions. (Note: The value is copied.) Default: identity.


The "c" property

  "c"                        gdouble               : Read / Write / Construct

The constant c in integration bounds.

Allowed values: [1e-16,1e+16]

Default value: 3


The "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


The "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


The "mu" property

  "mu"                       GGslVector*           : Read / Write / Construct

Prior population mean for posterior weight for continuous dimensions. (Note: The value is copied.) Default: 0.


The "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


The "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


The "thetaKey" property

  "thetaKey"                 gchar*                : Read / Write

The key indicating which latent variable to use for selection. A NULL value or empty string indicates the examinee's default estimation theta.

Default value: NULL