Movatterモバイル変換


[0]ホーム

URL:


Creating constraints in TestDesignpackage

Sangdon Lim


Introduction

This document explains how to create constraints data forloadConstraints(). Automated test assembly in practice isoften desired to assemble a test so that its contents adhere to a testblueprint, which asserts various requirements the assembled test shouldsatisfy. As ofTestDesign version 1.1.0, constraints can beread in fromdata.frame objects or.csvspreadsheet files. The input data is expected to be in the followingstructure:

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C1NumberItem3030
C2NumberItemLEVEL == 31010
C3NumberItemLEVEL == 41010
C4NumberItemLEVEL == 51010
C5NumberItemSTANDARD == 11720

Constraints data must have seven columns, named asCONSTRAINT_ID,TYPE,WHAT,CONDITION,LB,UB,ONOFF on the first row. Beginning from the second row, eachrow must have corresponding values for each column. A convenient way forworking with constraints is to use a spreadsheet application(e.g. Excel) and work on the content from there.

Readers are also encouraged to tinker with example constraintsincluded in the package:


Content balancing with shadow-test approach

This section aims to provide context on why the constraints inputformat does not have a column for weights.

TheTestDesign package performs content balancing using theshadow-test approach (van der Linden & Reese, 1998). This means thatthe test will be assembled in a way that strictly satisfies allconstraints with no violations. The reader may be familiar with the useof weights in test blueprints for indicating which constraints should beprioritized. These constraint-wise weights are mainly needed whentraditional content balancing methods are used, where items are selectedone by one. When items are selected one by one, there is a fundamentallimitation that there is no guarantee that the resulting test willsatisfy all constraints. For this reason, weights are used assupplements to traditional content balancing to work around thislimitation, to guide the item selection process in a way that the numberof violated constraints is minimized.

Unlike with traditional content balancing methods, the shadow-testapproach operates without needing weights. This is because theshadow-test approach directly finds a combination of items thatsatisfies all constraints, and therefore has no need to prioritizecertain constraints to satisfy, as would be needed in traditionalcontent balancing methods that select items one by one.


Required columns

Column 1: CONSTRAINT_ID

This column specifies the identifier of each constraint. Charactervalues can be used as long as the values are unique.

Column 2: TYPE

This column specifies the type of constraint. Following values areexpected:Number,Order,Enemy,Include,Exclude,AllorNone.

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C1NumberItem3030
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C2SumItemWORDS500600
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C32OrderItemLEVEL
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C33EnemyItemID %in% c(“SC00001”, “SC00002”)
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C34IncludeItemID %in% c(“SC00003”, “SC00004”)
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C35ExcludeItemPTBIS < 0.15
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C36AllOrNoneItemID %in% c(“SC00005”, “SC00006”)

Column 3: WHAT

This column specifies the unit of assembly the constraint uses.Expected values areItem orStimulus.

Column 4: CONDITION

This column specifies the condition of the constraint. An Rexpression returning logical values (TRUE orFALSE) is expected. The variables supplied in itemattributes can be used in the expression as variable names.

Some examples are:

ForTYPE == SUM, using a variable name imposes theconstraint on the sum of the variable. The following row tells thesolver to keep the sum ofWORDS between 500–600.

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C2SumItemWORDS500600

ForTYPE == SUM, constraints on conditional sums can beimposed by using a variable name, placing a comma, and then giving an Rexpression returning logical values. The following row tells the solverto keep the sum ofWORDS withinDOK == 1 itemsbetween 50–80.

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C3SumItemWORDS, DOK == 15080

In set-based assembly,Per Stimulus can be used tospecify the number of items to select in each stimulus. For example, thefollowing row tells the solver to select 4 to 6 items per stimulus:

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C3NumberItemPer Stimulus46

Column 5-6: LB and UB

These two columns specify lower and upper bounds on the number ofselected items. These must be specified whenTYPE isNumber, and otherwise must be left empty.

Some example rows are provided.

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C1NumberItem1212
CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C17NumberItemDOK >= 21530

Column 7: ONOFF

Set this toOFF to turn off the constraint from beingapplied.ON or leaving it blank applies the constraint. Thefollowing example specifies the order constraint to be not applied.

CONSTRAINT_IDTYPEWHATCONDITIONLBUBONOFF
C18OrderPassageCONTENTOFF


References

van der Linden W. J., Reese L. M. (1998). A model for optimalconstrained adaptive testing.Applied Psychological Measurement,22(3), 259-270.https://doi.org/10.1177/01466216980223006



[8]ページ先頭

©2009-2025 Movatter.jp