public class Irm3PL extends AbstractItemResponseModelWithGradient
AbstractItemResponseModel
that allows for the three-parameter logistic (3PL) model,
two-parameter logistic (2PL) model, one-parameter logistic (1PL) model, and the Rasch model. The particular
type of item response model is determined by the constructor used to create the object. See the constructors
for more details on which one to use for each type of model.groupId, isFixed, maxCategory, maxWeight, minCategory, minWeight, name, ncat, scoreWeight
Constructor and Description |
---|
Irm3PL(double difficulty,
double D)
Constructor for one parameter logistic model
|
Irm3PL(double discrimination,
double difficulty,
double D)
Constructor for two parameter logistic model.
|
Irm3PL(double discrimination,
double difficulty,
double guessing,
double D)
Constructor for three parameter logistic model
|
Modifier and Type | Method and Description |
---|---|
double |
acceptAllProposalValues()
Proposal values for every item parameter are obtained at each iteration of the estimation routine.
|
double |
addPriorsToLogLikelihood(double loglike,
double[] iparam)
Adds prior probabilities to the loglikelihood.
|
double[] |
addPriorsToLogLikelihoodGradient(double[] loglikegrad,
double[] iparam)
Adds log-prior probabilities to the item loglikelihood.
|
double |
cumulativeProbability(double theta,
int category)
Not implemented.
|
double |
derivTheta(double theta)
Derivative from Mathematica.
|
double |
derivTheta2(double theta,
int response)
From Equating recipes.
|
double |
expectedValue(double theta)
Computes the expected value
|
double |
getDifficulty()
Gets the item difficulty parameter.
|
ItemParamPrior |
getDifficultyPrior() |
double |
getDifficultyStdError()
Gets the item difficulty standard error.
|
double |
getDiscrimination()
Gets item discrimination.
|
ItemParamPrior |
getDiscriminationPrior() |
double |
getDiscriminationStdError()
Gets the standard error for the item discrimination estimate.
|
double |
getGuessing()
Gets the pseudo-guessing (i.e.
|
ItemParamPrior |
getGuessingPrior() |
double |
getGuessingStdError()
Gets the guessing parameter estimate standard error.
|
double[] |
getItemParameterArray() |
int |
getNumberOfEstimatedParameters()
Number of estimated parameters does not count any values fixed during estimation.
|
int |
getNumberOfParameters()
Gets the number of item parameters.
|
double |
getProposalDifficulty()
A proposal difficulty value is obtained during each iteration of the estimation routine.
|
double |
getProposalDiscrimination() |
double |
getScalingConstant() |
double |
getSlipping()
Gets the slipping (i.e.
|
double |
getSlippingStdError()
Gets the slipping parameter estimate standard error.
|
double[] |
getStepParameters()
Polytomous item response models may have step parameters.
|
double[] |
getStepStdError()
Gets that standard errors for each step parameter estimate.
|
double[] |
getThresholdParameters()
Polytomous item response models may use an overall item difficulty parameter and two or more threshold
parameters.
|
double[] |
getThresholdStdError()
Gets the array of standard errors fort eh threshold parameter estimates.
|
IrmType |
getType()
Gets the type of item response model.
|
double[] |
gradient(double theta,
double[] iparam,
int k,
double D)
Computes the gradientAt (vector of first partial derivatives) with respect to the item parameters.
|
double[] |
gradient(double theta,
int k)
Computes gradientAt using item parameters stored in the object.
|
double[][] |
hessian(double theta)
Hessian or matrix of second derivatives.
|
void |
incrementMeanMean(org.apache.commons.math3.stat.descriptive.moment.Mean meanDiscrimination,
org.apache.commons.math3.stat.descriptive.moment.Mean meanDifficulty)
Mean/mean linking coefficients are computed from the mean item difficulty and mean item discrimination.
|
void |
incrementMeanSigma(org.apache.commons.math3.stat.descriptive.moment.Mean mean,
org.apache.commons.math3.stat.descriptive.moment.StandardDeviation sd)
Mean/sigma linking coefficients are computed from the mean and standard deviation of item difficulty.
|
double |
itemInformationAt(double theta)
Computes the item information function at theta.
|
double[] |
nonZeroPrior(double[] param)
If the prior density for a parameter is zero, adjust parameter to the nearest non zero value.
|
double |
probability(double theta,
double[] iparam,
int response,
double D)
Comute the probability of a correct response.
|
double |
probability(double theta,
int response)
Computes the probability of response.
|
void |
scale(double intercept,
double slope)
Linear transformation of item parameters.
|
void |
setDifficulty(double difficulty)
Set difficulty parameter to an existing value.
|
void |
setDifficultyPrior(ItemParamPrior difficultyPrior) |
void |
setDifficultyStdError(double stdError)
Item difficulty standard error may be computed external to the class.
|
void |
setDiscrimination(double discrimination)
Set discrimination parameter to an existing value.
|
void |
setDiscriminationPrior(ItemParamPrior discriminationPrior) |
void |
setDiscriminationStdError(double stdError)
The standard error may be computed external to the class.
|
void |
setGuessing(double guessing)
Set lower asymptote parameter to an existing value.
|
void |
setGuessingPrior(ItemParamPrior guessingPrior) |
void |
setGuessingStdError(double stdError)
The guessing parameter standard error may be computed external to the class.
|
void |
setProposalDifficulty(double proposalDifficulty)
A proposal difficulty value is obtained during each iteration of the estimation routine.
|
void |
setProposalDiscrimination(double discrimination)
Set the proposed discrimination estimate.
|
void |
setProposalGuessing(double guessing)
A proposal guessing parameter value is obtained during each iteration of the estimation routine.
|
void |
setProposalSlipping(double slipping)
A proposal slipping parameter value is obtained during each iteration of the estimation routine.
|
void |
setProposalStepParameters(double[] step) |
void |
setProposalThresholds(double[] thresholds)
Sets the proposed threshold parameters estimates to particular values.
|
void |
setSlipping(double slipping)
Set upper asymptote parameter to an existing value.
|
void |
setSlippingPrior(ItemParamPrior slippingPrior) |
void |
setSlippingStdError(double slipping)
The slipping parameter standard error may be computed external to the class.
|
void |
setStandardErrors(double[] x) |
void |
setStepParameters(double[] step) |
void |
setStepPriorAt(ItemParamPrior prior,
int index) |
void |
setStepStdError(double[] stdError)
Sets the standard error for the step parameter estimates.
|
void |
setThresholdParameters(double[] thresholdParameters)
Sets the threshold parameters to particular values.
|
void |
setThresholdStdError(double[] stdError)
Set the threshold standard errors.
|
java.lang.String |
toString()
A string representation of the item parameters.
|
double |
tSharpExpectedValue(double theta,
double intercept,
double slope)
Computes probability of a response under a linear transformation.
|
double |
tSharpProbability(double theta,
int response,
double intercept,
double slope)
Computes probability of a response under a linear transformation.
|
double |
tStarExpectedValue(double theta,
double intercept,
double slope)
Computes item expected value under a linear transformation.
|
double |
tStarProbability(double theta,
int response,
double intercept,
double slope)
Computes probability of a response under a linear transformation.
|
defaultScoreWeights, getGroupId, getItemFitStatistic, getItemScoring, getMaxScoreWeight, getMinScoreWeight, getName, getNcat, getScoreWeights, isFixed, setFixed, setGroupId, setItemFitStatistic, setItemScoring, setName, setScoreWeights
public Irm3PL(double discrimination, double difficulty, double guessing, double D)
discrimination
- item discrimination parameterdifficulty
- item difficulty parameterguessing
- lower-asymptote parameterD
- scaling factorpublic Irm3PL(double discrimination, double difficulty, double D)
discrimination
- item discrimination parameterdifficulty
- item difficulty parameterD
- scaling factorpublic Irm3PL(double difficulty, double D)
difficulty
- item difficulty parameterD
- scaling factorpublic double probability(double theta, double[] iparam, int response, double D)
theta
- person ability parameter.iparam
- item parameter array that is one to three in length.D
- scaling constant.response
- an item response category.public double probability(double theta, int response)
ItemResponseModel
theta
- a person ability value.response
- an item response (i.e. a person's score on an item).public double expectedValue(double theta)
theta
- a person ability value.public double cumulativeProbability(double theta, int category)
theta
- a person ability valuecategory
- response categorypublic double[] gradient(double theta, double[] iparam, int k, double D)
theta
- person ability estimate.iparam
- array of item parameters.k
- response categoryD
- scaling constant that is either 1 or 1.7public double[] gradient(double theta, int k)
theta
- person ability valuek
- response categorypublic double[][] hessian(double theta)
theta
- person ability value.public double derivTheta2(double theta, int response)
theta
- person ability value.response
- item response value.public double derivTheta(double theta)
theta
- person ability value.public double itemInformationAt(double theta)
theta
- person ability value.public double[] nonZeroPrior(double[] param)
ItemResponseModel
public void setDiscriminationPrior(ItemParamPrior discriminationPrior)
public void setDifficultyPrior(ItemParamPrior difficultyPrior)
public void setGuessingPrior(ItemParamPrior guessingPrior)
public void setSlippingPrior(ItemParamPrior slippingPrior)
public void setStepPriorAt(ItemParamPrior prior, int index)
public ItemParamPrior getDiscriminationPrior()
public ItemParamPrior getDifficultyPrior()
public ItemParamPrior getGuessingPrior()
public double addPriorsToLogLikelihood(double loglike, double[] iparam)
ItemResponseModel
public double[] addPriorsToLogLikelihoodGradient(double[] loglikegrad, double[] iparam)
ItemResponseModel
MarginalMaximumLikelihoodEstimation
.public void incrementMeanSigma(org.apache.commons.math3.stat.descriptive.moment.Mean mean, org.apache.commons.math3.stat.descriptive.moment.StandardDeviation sd)
mean
- item difficulty mean.sd
- item difficulty standard deviation.public void incrementMeanMean(org.apache.commons.math3.stat.descriptive.moment.Mean meanDiscrimination, org.apache.commons.math3.stat.descriptive.moment.Mean meanDifficulty)
meanDiscrimination
- item discrimination mean.meanDifficulty
- item difficulty mean.public double tStarProbability(double theta, int response, double intercept, double slope)
StockingLordMethod
).
It applies the linear transformation such that the New form is transformed to the Old Form.theta
- examinee proficiency valueresponse
- target categoryintercept
- linking coefficient for interceptslope
- linking coefficient for slopepublic double tSharpProbability(double theta, int response, double intercept, double slope)
StockingLordMethod
).
It applies the linear transformation such that the Old form is transformed to the New Form.theta
- examinee proficiency valueresponse
- target categoryintercept
- linking coefficient for interceptslope
- linking coefficient for slopepublic double tStarExpectedValue(double theta, double intercept, double slope)
StockingLordMethod
).
It applies the linear transformation such that the New form is transformed to the Old Form.theta
- person ability valueintercept
- intercept linking coefficient.slope
- slope linking coefficient.public double tSharpExpectedValue(double theta, double intercept, double slope)
StockingLordMethod
).
It applies the linear transformation such that the Old form is transformed to the New Form.theta
- examinee proficiency valueintercept
- linking coefficient for interceptslope
- linking coefficient for slopepublic int getNumberOfParameters()
public int getNumberOfEstimatedParameters()
ItemResponseModel
public void scale(double intercept, double slope)
intercept
- intercept transformation coefficient.slope
- slope transformation coefficient.public double[] getItemParameterArray()
public void setStandardErrors(double[] x)
public IrmType getType()
public double getDifficulty()
public void setDifficulty(double difficulty)
setProposalDifficulty(double)
.public double getProposalDifficulty()
public void setProposalDifficulty(double proposalDifficulty)
proposalDifficulty
- proposed item difficulty value.public double getDifficultyStdError()
public void setDifficultyStdError(double stdError)
stdError
- item difficulty standard error.public double getDiscrimination()
public void setDiscrimination(double discrimination)
setProposalDiscrimination(double)
.public double getProposalDiscrimination()
public void setProposalDiscrimination(double discrimination)
discrimination
- proposed item discrimination value.public double getDiscriminationStdError()
public void setDiscriminationStdError(double stdError)
stdError
- item discrimination standard error.public double getGuessing()
public void setGuessing(double guessing)
setProposalGuessing(double)
.public void setProposalGuessing(double guessing)
guessing
- proposed guessing parameter estimate.public double getGuessingStdError()
public void setGuessingStdError(double stdError)
stdError
- standard error for the guessing parameter estimate.public void setSlipping(double slipping)
ItemResponseModel
ItemResponseModel.setProposalSlipping(double)
.public void setProposalSlipping(double slipping)
ItemResponseModel
slipping
- proposed slipping parameter estimate.public void setSlippingStdError(double slipping)
ItemResponseModel
slipping
- standard error for the slipping parameter estimate.public double getSlipping()
ItemResponseModel
public double getSlippingStdError()
ItemResponseModel
public double getScalingConstant()
public double acceptAllProposalValues()
public double[] getStepParameters()
ItemResponseModel
public void setStepStdError(double[] stdError)
ItemResponseModel
stdError
- an array of standard errors for the step parameters.public double[] getStepStdError()
ItemResponseModel
public double[] getThresholdParameters()
ItemResponseModel
public double[] getThresholdStdError()
ItemResponseModel
public void setThresholdStdError(double[] stdError)
ItemResponseModel
stdError
- an array of standard errors for the threshold paramter estimates.public void setStepParameters(double[] step)
public void setProposalStepParameters(double[] step)
public void setThresholdParameters(double[] thresholdParameters)
ItemResponseModel
ItemResponseModel.setFixed(boolean)
.thresholdParameters
- array of threshold parameters.public void setProposalThresholds(double[] thresholds)
ItemResponseModel
ItemResponseModel.setFixed(boolean)
.thresholds
- array of proposed threshold parameter estimates.public java.lang.String toString()
toString
in class java.lang.Object