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 anInputSettings
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.
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_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 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_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 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. TheIxT
design matrix.ata_model::AbstractModel
: Required. The model built withstart_ata()
, settings loaded bystart_ata
.