Carla.emission_responsevec — Methodemission_responsevec(
EmissionType::ResponseFunction, QMatrix::Matrix,
itemID::Integer, t::Integer, αMatrix::Matrix
)Computes the local emission response vectors $\psi_{jt} (\alpha)$
\[\psi_{jt} (\alpha) = \begin{cases} [1, \Pi_{k \in S_{jt}} \alpha_k] & \text{ if DINA-type emission} \\ [1, 1 - \Pi_{k \in S_{jt}} (1 - \alpha_k)] & \text{ if DINO-type emission} \\ [1, \frac{\Sigma_{k \in S_{jt}} \alpha_k}{K}] & \text{ if FUZZYDINA-type emission} \end{cases}\]
Arguments
EmissionType: Emission Response Type (DINA(),DINO(), or FUZZYDINA())QMatrix: J (No. of Items) × K (No. of Skills) MatirxitemID: Integer denoting the jth itemt: time indexαMatrix: K (No. of Skills) × T (No. of Timepoints) Matrix
Output:
A 2-element Vector{Float64}
Carla.transition_responsevec — Methodtransition_responsevec(
TransitionType::ResponseFunction, RMatrix::Matrix,
skillID::Integer, t::Integer, αMatrix::Matrix
)Computes the local transition response vectors $\phi_{kt} (\alpha)$
When t = 1
\[\phi_{kt} (\alpha) = -1\]
else
\[\phi_{kt} (\alpha) = \begin{cases} [1, \Pi_{k \in S_{kt}} \alpha_k] & \text{ if DINA-type transition} \\ [1, 1 - \Pi_{k \in S_{kt}} (1 - \alpha_k)] & \text{ if DINO-type transition} \\ [1, \frac{\Sigma_{k \in S_{kt}} \alpha_k}{K}] & \text{ if FUZZYDINA-type transition} \end{cases}\]
Arguments
TransitionType: DINA(),DINO(), or FUZZYDINA()RMatrix: K (No. of Skills) × K (No. of Skills) MatirxskillID: Integer denoting the jth skillt: time indexαMatrix: K (No. of Skills) × T (No. of Timepoints) Matrix
Output:
A 2-element Vector{Float64}
Carla.local_emission — Methodlocal_emission(
EmissionType::ResponseFunction, QMatrix,
itemID, t, αMatrix, betavector
)Computes the probability that an examinee with the given skill profile (αMatrix) will correctly answer the item - itemID, at given time t. This is also known as the complete-data local emission conditional probability $P_{\beta_j}^{\alpha} (t)$
\[P_{\beta_j}^{\alpha} (t) = \rho (\beta_j(t)^T \psi_{jt} (\alpha(t)))\]
where $\rho$ is a logistic sigmoidal function. $\rho(x) = \frac{1}{1 + e^{-x}}$
Arguments
EmissionType: Emission Response Type (DINA(),DINO(), or FUZZYDINA())QMatrix: J (No. of Items) × K (No. of Skills) MatirxitemID: Integer denoting the jth itemt: time indexαMatrix: K (No. of Skills) × T (No. of Timepoints) Matrixbetavector- β values for the given item
Output:
A Float64
Carla.local_transition — Methodlocal_transition(
TransitionType::ResponseFunction, RMatrix,
skillID, t, αMatrix, δ0, δ, temperature
)Computes the probability that an examinee has mastered the latent skill k at assessment time t, given the examinee's latent skill profile at t-1. This is also known as the complete-data local transition probability $P_{\delta_k}^{\alpha} (t)$
\[P_{\delta_k}^{\alpha} (t) = \rho(\delta_k(t)^T \phi_{kt}(\alpha (t -1))) \]
where $\rho$ is a logistic sigmoidal function. $\rho(x) = \frac{1}{1 + e^{-x}}$
Arguments
TransitionType: Transition Response Type (DINA(),DINO(), or FUZZYDINA())RMatrix: K (No. of Skills) × K (No. of Skills) MatirxskillID: Integer denoting the jth skillt: time indexαMatrix: K (No. of Skills) × T (No. of Timepoints) Matrixδ0- initial delta valuesδ- delta values
Output
A Float64
Carla.global_emission — Methodglobal_emission(
EmissionType::ResponseFunction, data, QMatrix, αMatrix, β)Computes the likelihood of the evidence for an examinee given their evidence & proficiency models.
Arguments
- EmissionType: specifies if it's a
DINA(),DINO(), orFUZZYDINA()emission response data:StudentResponseof the examineedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
QMatrix: J (No. of Items) × K (No. of Skills) MatirxαMatrix: K (No. of Skills) × T (No. of Timepoints) Matrixβ: β values for the item bank, Vector of length J
Output
A Float64
Carla.global_transition — Methodglobal_transition(
TransitionType::ResponseFunction, RMatrix, αMatrix, δ0, δ, temperature)Computes the latent skill profile trajectory probability for an examinee.
Arguments
TransitionType: Specify if it's aDINA(),DINO()orFUZZYDINA()transition typeRMatrix:αMatrix: latent attribute profile trajectory (K × T)δ0: initial detlas, δ[0]δ: delta valuestemperature: temeprature parameter strictly positive. (used during importance sampling)
Output
A Float64
Carla.likelihoodcompletealpha — Methodlikelihoodcompletealpha(
model::CPM, data, QMatrix,
RMatrix, αMatrix, θ, temperature
)Computes the likelihood of the αMtrix and the observed responses of an examinee where we assume αMatrix is fully observable.
\[\mathit{\ddot{L}^i (\mathbf{\theta ; \alpha})} = \Pi_{t=1}^T \Pi_{j=1}^J \Pi_{k=1}^K p_{\beta_j (t)} (x_{ij}(t) | \alpha(t)) p_{\delta_k (t)} (\alpha_k(t) | \alpha (t-1))\]
Arguments
model: The Carla Probability Modeldata:StudentResponseof the examinieedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
QMatrix: J (No. of Items) × K (No. of Skills) MatirxRMatrix: RMatrix specifies how skills are temporally connectedαMatrix: K (No. of Skills) × T (No. of Timepoints) Matrixθ: Parameter values, A named tuple θ = (β, δ0, δ)temperature: temeprature parameter for importance sampling
Output
A Float64
Carla.∇risk — Method∇risk(model::CPM, data, QMatrix, RMatrix, θ;e_strategy::Exact)Computes the expectation of the complete gradient of the empirical risk computed in ∇riskαᵢ.
Arguments
model: the Carla Probability Modeldata:StudentResponseof the examineedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
QMatrix: J (No. of Items) × K (No. of Skills) MatrixRMatrix: RMatrix specifies how skills are temporally connectedθ: Parameter values, A named tuple θ = (β, δ0, δ)
Output
2J when estimatebeta = 1 and estimatedelta=0 for T = 1
2J+K when estimatebeta =1 and estimatedelta = 1 for T=1
2J when estimatebeta = 1 and estimatedelta = 0 for T > 1
2J + 2K + K when estimatebeta = 1 and estimatedelta = 1 for T > 1
Carla.∇riskαᵢ — Method∇riskαᵢ(
model::CPM, data::StudentResponse, αMatrix,
QMatrix, RMatrix, θ, temperature
)Computes the gradient of the empirical risk of a given student for a particular skill profile
Arguments
model: the Carla Probability Modeldata:StudentResponseof the examineedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
αMatrix: K (No. of Skills) × T (No. of Timepoints) MatrixQMatrix: J (No. of Items) × K (No. of Skills) MatrixRMatrix: RMatrix specifies how skills are temporally connectedθ: Parameter values, A named tuple θ = (β, δ0, δ)temperature: temperature parameter for importance sampling
Output
2J when estimatebeta = 1 and estimatedelta=0 for T = 1
2J+K when estimatebeta =1 and estimatedelta = 1 for T=1
2J when estimatebeta = 1 and estimatedelta = 0 for T > 1
2J + 2K + K when estimatebeta = 1 and estimatedelta = 1 for T > 1
Carla.maprisk — Methodmaprisk(model::CPM, data,
QMatrix, RMatrix, θ;e_strategy=Exact())Computes the MAP risk using exact method.
\[\ddot{l(\theta)} = - (1/n) log P_{\theta} (\theta) - (1/n) \Sigma_{i=1}^n log \Sigma_{\alpha} \ddot{L^i} (\theta; \alpha)\]
where $\ddot{L^i} (\theta; \alpha)$ is the likelihoodcompletealpha
Arguments
model: The Carla Probability Modeldata:StudentResponseof the examinieedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
QMatrix: J (No. of Items) × K (No. of Skills) MatirxRMatrix: RMatrix specifies how skills are temporally connected
θ: Parameter values, A named tuple θ = (β, δ0, δ)
Output
(MAPrisk, ML Risk)
Carla.batchdecent — Methodbatchdecent(args...)A Batch descent algorithm
Arguments
model: The Carla Probability Modeldata:StudentResponseof the examinieedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
QMatrix: J (No. of Items) × K (No. of Skills) MatirxRMatrix: RMatrix specifies how skills are temporally connectedθ: Parameter values, A named tuple θ = (β, δ0, δ)
Keyword Arguments
e_strategy: Estimation Strategy (ExactorIS)learning:BatchorAdaptivem_strategy: Risk Minimization strategy (Gradient Descent/ LBFGS)
Carla.CARLA — MethodCARLA(model,data,QMatrix, kwargs...)Arguments
model: The Carla Probability Modeldata:StudentResponseof the examinieedata.itemResponse: J (No. of items) × T (No. of Time points)data.missingindicator: J (No. of items) × T (No. of Time points)
QMatrix: J (No. of Items) × K (No. of Skills) MatirxRMatrix: RMatrix specifies how skills are temporally connected
Keyword Arguments
e_strategy: Estimation Strategy (Exactby default)learning:BatchorAdaptive(Batchby default)m_strategy: Risk Minimization strategy. (GradientDescentby default)linesearch: Algorithm for stepsize selection (BackTrackingby default)doprojection:falseby default