Build the ATA model

Start ATA Model

ATA.start_ataMethod
start_ata(;
    settings::InputSettings = InputSettings(),
    bank::DataFrames.DataFrame = DataFrames.DataFrame(),
    settings_file = "settings_ata.jl",
    bank_file = "bank.csv",
    bank_delim = ";",
)

Description

Initialize an empty ATA model and load the test assembly settings contained in the settings_file using item data in file bank_file which values are separated by bank_delim. Alternatively, settings object and bank dataframe can be passed using the arguments settings and bank.

Arguments

  • settings::InputSettings : Optional. Default: InputSettings() object with custom ATA settings.
  • bank::DataFrames.DataFrame : Optional. Default: DataFrame(). A dataframe containing data about the items.
  • settings_file : Optional. Default: "settings_ata.jl". The path of the file containing the ATA settings in the form of an InputSettings struct.
  • bank_file : Optional. Default: "bank.csv". The path of the file containing the item pool/bank in the form of custom-separated values.
  • bank_delim : Optional. Default: ";". The custom-separator for the bank_file.

Output

  • An ATA model.
source

Add Constraints

ATA.add_constraints!Method
add_constraints!(ata_model::AbstractModel; constraints_file = "constraints.csv", constraints_delim = ";")

Description

Add categorical and sum constraints to the ATA.AbstractModel as specified in the constraints_file. Alternatively, the constraint dataframe can be passed using the argument constraints. It requires the start_ata step.

Arguments

  • ata_model::AbstractModel : Required. The model built with start_ata() and with settings loaded by start_ata function.
  • `constraints::DataFrames.DataFrame = DataFrames.DataFrame()`. Optional. Default: DataFrames.DataFrame(). The dataframe containing the categorical and quantitative constraints.
  • constraints_file : Optional. Default: "constraints.csv". The path of the file containing the categorical and sum constraints in the form of custom-separated values.
  • constraints_delim : Optional. Default: ";". The custom-separator for the constraints_file.
source

Add Overlap Matrix

ATA.add_overlap!Method
add_overlap!(ata_model::AbstractModel; overlap_file = "overlap_matrix.csv", overlap_delim=";")

Description

Add maximum overlap constraints to the ATA.AbstractModel as specified by the overlap_file which contains a TxT matrix defining the maximum number of shared items between each pair of tests. Alternatively, the overlap matrix can be passed using the argument overlap. It requires the start_ata step.

Arguments

  • ata_model::AbstractModel : Required. The model built with start_ata() and with settings loaded by start_ata function.
  • overlap::Matrix{Float64} = Matrix{Float64}(undef, 0, 0): Optional.
  • overlap_file : Optional. Default: "overlap_matrix.csv". The path of the file containing the maximum overlap between each pair of tests in the form of a matrix with custom-separated values.
  • overlap_delim : Optional. Default: ";". The custom-separator for the overlap_file.
source

Add Objective Function

ATA.add_obj_fun!Method
add_obj_fun!(ata_model::Union{MaximinModel,MinimaxModel}; kwargs...)

Description

It adds the objective function as specified in the settings_file. It requires the start_ata build step.

Computes the IIFs at predefined ability points using the item parameter estimates in the item bank. For each pair of item, and ability point $(i, θ_k)$, an IIF$(θ_k)_{i}$ is computed.

Arguments

  • ata_model::Union{MaximinModel, MinimaxModel} : Required.
source
ATA.add_obj_fun!Method
add_obj_fun!(
    ata_model::SoysterMaximinModel;
    psychometrics = false,
    items::Vector{Psychometrics.Item} = Psychometrics.Item[],
    items_file = "",
    kwargs...
)

Description

It adds the objective function as specified in the settings_file. It requires the start_ata build step.

Computes the IIFs at predefined ability points using the sampled item parameter estimates. For each pair of item and ability point $(i, θ_k)$, the IIF$(θ_k)_i$ is computed as the mean minus the standard deviation of the IIF$(θ_k)_{ir}$ computed on the R sampled item parameter estimates, where $r = 1, \ldots, R$.

The vector of items can be passed either through the argument items (Vector{Psychometrics.Item}) or through the argument items_file (string file name). In both cases, the items in the vector must have the same order of the items in the item bank and they must contain the R sampled item parameters in the field parameters.chain.

  • ata_model::DeJongMaximinModel : Required.
source
ATA.add_obj_fun!Method
add_obj_fun!(
    ata_model::DeJongMaximinModel;
    psychometrics = false,
    items::Vector{Psychometrics.Item} = Psychometrics.Item[],
    items_file = "",
    kwargs...
)

Description

It adds the objective function as specified in the settings_file. It requires the start_ata build step.

Computes the IIFs at predefined ability points using the sampled item parameter estimates. For each pair of item and ability point $(i, θ_k)$, the IIF$(θ_k)_i$ is computed as the mean minus the standard deviation of the IIF$(θ_k)_{ir}$ computed on the R sampled item parameter estimates, where $r = 1, \ldots, R$.

The vector of items can be passed either through the argument items (Vector{Psychometrics.Item}) or through the argument items_file (string file name). In both cases, the items in the vector must have the same order of the items in the item bank and they must contain the R sampled item parameters in the field parameters.chain.

  • ata_model::DeJongMaximinModel : Required.
source
ATA.add_obj_fun!Method
add_obj_fun!(
    ata_model::CCMaximinModel;
    psychometrics = false,
    items_file = "",
    items::Vector{Psychometrics.Item} = Psychometrics.Item[],
    kwargs...
)

Description

It adds the objective function as specified in the settings_file. It requires the start_ata build step.

Computes the IIFs at predefined ability points using the sampled item parameter estimates. For each triplet of item, ability point, and item parameter sample $(i, θ_k, r)$, an IIF$(θ_k)_{ir}$ is computed.

The vector of items can be passed either through the argument items (Vector{Psychometrics.Item}) or through the argument items_file (string file name). In both cases, the items in the vector must have the same order of the items in the item bank and they must contain the R sampled item parameters in the field parameters.chain.

Arguments

  • ata_model::CCMaximinModel : Required.
source

Load Design

A design can be loaded as a starting solution for the ATA or to print (or plot) the results.

ATA.load_design!Method
load_design!(design::Matrix{Any}, ata_model::AbstractModel)

Description

Load a 0-1 IxT (or n_fsxT if the items are grouped by friend sets) design matrix into the ATA model. Useful for loading a custom starting design before the assemble! step or to print/plot the features of the tests produced by a custom design before running print_results

Arguments

  • design::Matrix{Any} : Required. The IxT design matrix.
  • ata_model::AbstractModel : Required. The model built with start_ata(), settings loaded by start_ata.
source