Non-parametric item banks
Non-parametric IRT models
Sampled and smoothed item banks
FittedItemBanks.DichotomousPointsItemBank — Type
struct DichotomousPointsItemBank{DomainT} <: PointsItemBankxs::Anyys::Matrix{Float64}
DomainType(::DichotomousPointsItemBank) = DiscreteIndexableDomain()
ResponseType(::DichotomousPointsItemBank) = BooleanResponse()An item bank where all items have IRFs computed at a fixed grid across the latent/ability dimension specified as xs. The responses are stored in ys. In most cases this item banks will be coupled with a Smoother and wrapped in a DichotomousSmoothedItemBank.
FittedItemBanks.DichotomousSmoothedItemBank — Type
struct DichotomousSmoothedItemBank{P<:PointsItemBank, S<:Smoother} <: AbstractItemBankDichotomousSmoothedItemBank(item_bank::PointsItemBank, smoother::Smother)
DomainType(::DichotomousSmoothedItemBank) = OneDimContinuousDomain()
ResponseType(::DichotomousSmoothedItemBank) = BooleanResponse()FittedItemBanks.KernelSmoother — Type
struct KernelSmoother{FunctionT} <: Smootherkernel::Anybandwidths::Vector{Float64}
A smoother that uses a kernel to smooth the IRF. The bandwidths field stores the kernel bandwidth for each item.
FittedItemBanks.MultiGridDichotomousPointsItemBank — Type
struct MultiGridDichotomousPointsItemBank <: PointsItemBankxs::ArraysOfArrays.VectorOfArrays{Float64, 1, 0, Vector{Float64}, Vector{Int64}, Vector{Tuple{}}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}}ys::ArraysOfArrays.VectorOfArrays{Float64, 1, 0, Vector{Float64}, Vector{Int64}, Vector{Tuple{}}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}}
An item bank where all items each IRF has been computed on a potentially distrinct grid across the latent/ability dimension specified as xs. The responses are stored in ys. In most cases this item banks will be coupled with a Smoother and wrapped in a DichotomousSmoothedItemBank.
FittedItemBanks.NearestNeighborSmoother — Type
struct NearestNeighborSmoother <: SmootherNearest neighbor/staircase smoother.
FittedItemBanks.Smoother — Type
abstract type SmootherFittedItemBanks.gauss_kern — Method
gauss_kern(u)
A guassian kernel for use with KernelSmoother
FittedItemBanks.gridify — Method
gridify(item_bank, xs)
Converts a dichotomous item bank item_bank into a gridded item bank by evaluating the items at points xs.
FittedItemBanks.quad_kern — Method
quad_kern(u)
A quadratic kernel for use with KernelSmoother
FittedItemBanks.uni_kern — Method
uni_kern(u)
A uniform kernel for use with KernelSmoother
FittedItemBanks.DichotomousPointsWithLogsItemBank — Type
struct DichotomousPointsWithLogsItemBank{DomainT} <: PointsItemBankA DichotomousPointsItemBank (inner_bank) with its tabulated response probabilities precomputed in log-space (log_ys), so that likelihoods over many responses can be accumulated by summation instead of multiplication.
The cache has dimensions (response, grid point, item), with responses ordered as [false, true]. Access it with item_log_ys. The cache is computed at construction; do not mutate the underlying probabilities afterwards. resp_vec evaluates the nearest grid point.
FittedItemBanks.item_log_ys — Method
item_log_ys(
ir::ItemResponse{<:DichotomousPointsWithLogsItemBank}
) -> SubArray{Float64, 2, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Int64}, true}
Return a view of cached log probabilities for an item. Without response, the result is a matrix with rows ordered as [false, true] and columns for grid points. With a Boolean response (or its integer encoding 0/1), return the corresponding vector over grid points.