public class IrmGRM extends AbstractItemResponseModel
groupId, isFixed, maxCategory, maxWeight, minCategory, minWeight, name, ncat, ncatM1, scoreWeight
Constructor and Description |
---|
IrmGRM(double discrimination,
double[] step,
double D)
Default constructor
|
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 ll,
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,
double[] iparam,
int category,
double D) |
double |
cumulativeProbability(double theta,
int category)
Compute cumulative probability of scoring at or above category.
|
double |
derivTheta(double theta)
Partial derivative wrt Theta.
|
double |
expectedValue(double theta)
For a binary item,
ItemResponseModel.probability(double, int) and the excpected value returned by this method
are the same thing. |
double |
getDifficulty()
Gets the item difficulty parameter.
|
double |
getDifficultyStdError()
Gets the item difficulty standard error.
|
double |
getDiscrimination()
Gets item discrimination.
|
double |
getDiscriminationStdError()
Gets the standard error for the item discrimination estimate.
|
double |
getGuessing()
Gets the pseudo-guessing (i.e.
|
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 in the response model.
|
double |
getProposalDifficulty()
A proposal difficulty value is obtained during each iteration of the estimation routine.
|
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 the gradientAt at theta.
|
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 teh 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 teh mean and standard deviation of item difficulty.
|
double |
itemInformationAt(double theta)
From Ostini and Nering but needs checking.
|
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)
Computes the probability of a response using item parameter values passed in iparam.
|
double |
probability(double theta,
int response)
Computes probability of a response using parameters stored in the object.
|
void |
scale(double intercept,
double slope)
Performs a linear transformation of item parameters and standard errors.
|
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 prior) |
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 difficulty)
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 |
setScoreWeights(double[] scoreWeight)
A polytomous item is scored with two or more ordinal categories such as 0, 1, 2, 3 or 1, 2, 3, 4, 5.
|
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 k) |
void |
setStepStdError(double[] stdError)
Sets the standard error for the step parameter estimates.
|
void |
setThresholdParameters(double[] thresholds)
Sets the threshold parameters to particular values.
|
void |
setThresholdStdError(double[] stdError)
Set the threshold standard errors.
|
java.lang.String |
toString() |
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 the expected value using parameters stored in the object
|
double |
tStarProbability(double theta,
int response,
double intercept,
double slope)
Returns the probability of a response with a linear transformatin of the parameters.
|
defaultScoreWeights, getGroupId, getItemFitStatistic, getItemScoring, getMaxScoreWeight, getMinScoreWeight, getName, getNcat, getScoreWeights, isFixed, setFixed, setGroupId, setItemFitStatistic, setItemScoring, setName
public IrmGRM(double discrimination, double[] step, double D)
discrimination
- item discrimination parameterstep
- an array of m-1 step parameters for an m category itemD
- a scaling constant that is either 1.0, 1.7, or 1.712.public double cumulativeProbability(double theta, double[] iparam, int category, double D)
public double cumulativeProbability(double theta, int category)
theta
- examinee proficiencycategory
- response categorypublic double probability(double theta, double[] iparam, int response, double D)
ItemResponseModel
theta
- person ability parameter.iparam
- array of item parameters. The order is important and will be unique to each implementation of the interface.response
- an item response category.D
- a sclaing constant that is either 1 or 1.7.public double probability(double theta, int response)
theta
- response
- public double expectedValue(double theta)
ItemResponseModel
ItemResponseModel.probability(double, int)
and the excpected value returned by this method
are the same thing. For a polytomous item, the expected value ranges from the minimum possible
item score and the maximum possible item score.theta
- a person ability value.public double[] nonZeroPrior(double[] param)
ItemResponseModel
public void setDiscriminationPrior(ItemParamPrior prior)
public void setStepPriorAt(ItemParamPrior prior, int k)
public void setDifficultyPrior(ItemParamPrior difficultyPrior)
public void setGuessingPrior(ItemParamPrior guessingPrior)
public void setSlippingPrior(ItemParamPrior slippingPrior)
public double[] gradient(double theta, double[] iparam, int k, double D)
ItemResponseModel
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)
ItemResponseModel
theta
- person ability valuepublic double addPriorsToLogLikelihood(double ll, double[] iparam)
ItemResponseModel
public double[] addPriorsToLogLikelihoodGradient(double[] loglikegrad, double[] iparam)
ItemResponseModel
MarginalMaximumLikelihoodEstimation
.public void setScoreWeights(double[] scoreWeight) throws org.apache.commons.math3.exception.DimensionMismatchException
ItemResponseModel
setScoreWeights
in interface ItemResponseModel
setScoreWeights
in class AbstractItemResponseModel
scoreWeight
- an array of category score weights.org.apache.commons.math3.exception.DimensionMismatchException
public double derivTheta(double theta)
theta
- person proficiency value at which derivative is calculatedpublic void incrementMeanSigma(org.apache.commons.math3.stat.descriptive.moment.Mean mean, org.apache.commons.math3.stat.descriptive.moment.StandardDeviation sd)
ItemResponseModel
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)
ItemResponseModel
meanDiscrimination
- item discrimination mean.meanDifficulty
- item difficulty mean.public void scale(double intercept, double slope)
ItemResponseModel
intercept
- intercept transformation coefficient.slope
- slope transformation coefficient.public int getNumberOfParameters()
ItemResponseModel
public int getNumberOfEstimatedParameters()
ItemResponseModel
public double itemInformationAt(double theta)
theta
- public double tStarProbability(double theta, int response, double intercept, double slope)
theta
- examinee proficiency parameterresponse
- item responseintercept
- intercept coefficient of linear transformationslope
- slope (i.e. scale) parameter of the linear transformationpublic double tStarExpectedValue(double theta, double intercept, double slope)
theta
- intercept
- intercept linking coefficient.slope
- slope linking coefficient.public double tSharpProbability(double theta, int response, double intercept, double slope)
ItemResponseModel
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 tSharpExpectedValue(double theta, double intercept, double slope)
ItemResponseModel
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 java.lang.String toString()
toString
in class java.lang.Object
public IrmType getType()
ItemResponseModel
public double getScalingConstant()
public double[] getItemParameterArray()
public void setStandardErrors(double[] x)
public double getDifficulty()
ItemResponseModel
public void setDifficulty(double difficulty)
ItemResponseModel
ItemResponseModel.setProposalDifficulty(double)
.public double getProposalDifficulty()
ItemResponseModel
public void setProposalDifficulty(double difficulty)
ItemResponseModel
difficulty
- proposed item difficulty value.public double getDifficultyStdError()
ItemResponseModel
public void setDifficultyStdError(double stdError)
ItemResponseModel
stdError
- item difficulty standard error.public double getDiscrimination()
ItemResponseModel
public void setDiscrimination(double discrimination)
ItemResponseModel
ItemResponseModel.setProposalDiscrimination(double)
.public void setProposalDiscrimination(double discrimination)
ItemResponseModel
discrimination
- proposed item discrimination value.public double getDiscriminationStdError()
ItemResponseModel
public void setDiscriminationStdError(double stdError)
ItemResponseModel
stdError
- item discrimination standard error.public double getGuessing()
ItemResponseModel
public void setGuessing(double guessing)
ItemResponseModel
ItemResponseModel.setProposalGuessing(double)
.public void setProposalGuessing(double guessing)
ItemResponseModel
guessing
- proposed guessing parameter estimate.public double getGuessingStdError()
ItemResponseModel
public void setGuessingStdError(double stdError)
ItemResponseModel
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[] getStepParameters()
ItemResponseModel
public void setStepParameters(double[] step)
public void setProposalStepParameters(double[] step)
public double[] getStepStdError()
ItemResponseModel
public void setStepStdError(double[] stdError)
ItemResponseModel
stdError
- an array of standard errors for the step parameters.public double[] getThresholdParameters()
ItemResponseModel
public void setThresholdParameters(double[] thresholds)
ItemResponseModel
ItemResponseModel.setFixed(boolean)
.thresholds
- array of threshold parameters.public void setProposalThresholds(double[] thresholds)
ItemResponseModel
ItemResponseModel.setFixed(boolean)
.thresholds
- array of proposed threshold parameter estimates.public double[] getThresholdStdError()
ItemResponseModel
public void setThresholdStdError(double[] stdError)
ItemResponseModel
stdError
- an array of standard errors for the threshold paramter estimates.public double acceptAllProposalValues()
ItemResponseModel