OffsetConjunctive: Conjunctive combination function with one difficulty per...

OffsetConjunctiveR Documentation

Conjunctive combination function with one difficulty per parent.

Description

These functions take a vector of “effective theta” values for a collection of parent variables and calculates the effective theta value for the child variable according to the named rule. Used in calculating DiBello–Samejima and DiBello–Normal probability tables. These versions have a single slope parameter (alpha) and one difficulty parameter per parent variable.

Usage

OffsetConjunctive(theta, alpha, betas)
OffsetDisjunctive(theta, alpha, betas)

Arguments

theta

A matrix of effective theta values whose columns correspond to parent variables and whose rows correspond to possible skill profiles.

alpha

A single common discrimination parameter. (Note these function expect discrimination parameters and not log discrimination parameters as used in calcDSTable.)

betas

A vector of difficulty (-intercept) parameters. Its length should be the same as the number of columns in theta.

Details

For OffsetConjunctive, the combination function for each row is:

alpha*min(theta[1]-betas[1], ..., theta[K]-beta[K])

For OffsetDisjunctive, the combination function for each row is:

alpha*max(theta[1]-betas[1], ..., theta[K]-beta[K])

Value

A vector of normal deviates corresponding to the effective theta value. Length is the number of rows of thetas.

Note

These functions expect the unlogged discrimination parameters, while calcDSTable expect the log of the discrimination parameters. The rationale is that log discrimination is bound away from zero, and hence a more natural space for MCMC algorithms. However, it is poor programming design, as it is liable to catch the unwary.

These functions are meant to be used as structure functions in the DiBello–Samejima and DiBello–Normal models. Other structure functions are possible and can be excepted by those functions as long as they have the same signature as these functions.

Note that the offset conjunctive and disjunctive model don't really make much sense in the no parent case. Use Compensatory instead.

Author(s)

Russell Almond

References

Almond, R.G., Mislevy, R.J., Steinberg, L.S., Yan, D. and Williamson, D.M. (2015). Bayesian Networks in Educational Assessment. Springer. Chapter 8.

Almond, R.G., DiBello, L., Jenkins, F., Mislevy, R.J., Senturk, D., Steinberg, L.S. and Yan, D. (2001) Models for Conditional Probability Tables in Educational Assessment. Artificial Intelligence and Statistics 2001 Jaakkola and Richardson (eds)., Morgan Kaufmann, 137–143.

See Also

effectiveThetas,calcDSTable, calcDNTable,calcDPCTable, Compensatory, eThetaFrame

Examples

  skill <- c("High","Medium","Low")
  thetas <- expand.grid(list(S1=seq(1,-1), S2 = seq(1, -1)))
  OffsetDisjunctive(thetas, 1.0, c(S1=0.25,S2=-0.25))
  OffsetConjunctive(thetas, 1.0, c(S1=0.25,S2=-0.25))
  eThetaFrame(list(S1=skill,S2=skill), 1.0, c(S1=0.25,S2=-0.25),
              "OffsetConjunctive")
  eThetaFrame(list(S1=skill,S2=skill), 1.0, c(S1=0.25,S2=-0.25),
              "OffsetDisjunctive")

ralmond/CPTtools documentation built on Dec. 27, 2024, 7:15 a.m.