Build the ATA model
Start ATA Model
ATA.start_ata — Methodstart_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 anInputSettingsstruct.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.
Add Constraints
ATA.add_constraints! — Methodadd_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 withstart_ata()and with settings loaded bystart_atafunction.- `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 theconstraints_file.
Add Overlap Matrix
ATA.add_overlap! — Methodadd_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 withstart_ata()and with settings loaded bystart_atafunction.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 theoverlap_file.
Add Objective Function
ATA.add_obj_fun! — Methodadd_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.
ATA.add_obj_fun! — Methodadd_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.
ATA.add_obj_fun! — Methodadd_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.
ATA.add_obj_fun! — Methodadd_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.
Load Design
A design can be loaded as a starting solution for the ATA or to print (or plot) the results.
ATA.load_design! — Methodload_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. TheIxTdesign matrix.ata_model::AbstractModel: Required. The model built withstart_ata(), settings loaded bystart_ata.