#include <ICCLogistic.h>
Public Member Functions | |
ICCLogistic (Real D, Real a, Real c) | |
Instantiation of 1-parameter logistic item response model, fixing scale constant D, slope a and pseudo-guessing parameter c. | |
Real | ICC (const RealVector ¶m, Real theta) const |
Returns value of item characteristic curve (ICC) of the 1PL model for a set of item parameters and theta value. | |
Real | OpenICC (const RealVector ¶m, Real theta) const |
Returns value of item characteristic curve (ICC) of the 1PL model in the open interval (0, 1), for a set of item parameters and theta value. | |
void | ICCDeriv1 (const RealVector ¶m, Real theta, RealVector &deriv) const |
Computes (gradient) vector of first partial derivatives of the 1PL model with respect to item parameters. | |
void | ICCDeriv2 (const RealVector ¶m, Real theta, RealMatrix &deriv) const |
Computes (hessian) matrix of second partial derivatives of the 1PL model with respect to item parameters. | |
bool | GradientDefined () const |
Function to indicate that the algebraic gradient of the item (ICCDeriv1) is defined. | |
bool | HessianDefined () const |
Function to indicate that the algebraic hessian of the item (ICCDeriv2) is defined. | |
void | Scale (Real slope, Real intercept, RealVector ¶m) |
Transforms the parameters of a 1-parameter logistic item to a different latent variable scale. | |
Real | GetD () const |
Returns scaling constant D. | |
void | GetAllParameters (const RealVector &estParam, RealVector &allParam) const |
Copies a, b, and c parameters from estParam into allParam. | |
int | NumParameters () const |
Returns number of estimated parameters. | |
int | NumAllParameters () const |
Returns sum of number of fixed and estimated parameters. | |
bool | ValidParameters (const RealVector &) const |
Returns true if vector param contains valid item parameters. | |
std::string | Name () const |
Returns name of model. | |
IRTModel | Model () const |
Returns model type from enum defined in etirmtypes.h. | |
template<class I> | |
void | SetAllParameters (I begin_param, I end_param, RealVector &estParam) |
Assigns all item parameters (a, b, and c), fixed and estimated. | |
Private Attributes | |
Real | fixedC |
fixed c parameter | |
Real | fixedA |
fixed a parameter |
Definition at line 635 of file ICCLogistic.h.
etirm::ICCLogistic< 1 >::ICCLogistic | ( | Real | D, | |
Real | a, | |||
Real | c | |||
) |
Instantiation of 1-parameter logistic item response model, fixing scale constant D, slope a and pseudo-guessing parameter c.
[in] | D | Scale constant defining the metric of the parameter estimates. Typical choices are 1 (for the logistic metric) and 1.7 (for the normal-ogive metric). |
[in] | a | Item slope parameter. |
[in] | c | Pseudo-guessing parameter for the item. |
Definition at line 235 of file ICCLogistic.cpp.
00235 : 00236 ICC3PLFunc(1, D) 00237 { 00238 if (c < 0.0 || c> 1.0)throw InvalidArgument("Invalid c parameter", 00239 "ICCLogistic<1>::ICCLogistic"); 00240 00241 fixedC = c; fixedA = a;}
Real etirm::ICCLogistic< 1 >::ICC | ( | const RealVector & | param, | |
Real | theta | |||
) | const [inline] |
Returns value of item characteristic curve (ICC) of the 1PL model for a set of item parameters and theta value.
[in] | ¶m | Address of item parameter vector with entry = (b). |
[in] | theta | Examinee ability parameter. |
Definition at line 665 of file ICCLogistic.h.
Real etirm::ICCLogistic< 1 >::OpenICC | ( | const RealVector & | param, | |
Real | theta | |||
) | const [inline] |
Returns value of item characteristic curve (ICC) of the 1PL model in the open interval (0, 1), for a set of item parameters and theta value.
This function version can be used when the logarithm of the probability or logit of the probability needs to be taken.
[in] | ¶m | Address of item parameter vector with entries = (b). |
[in] | theta | Examinee ability parameter. |
Definition at line 683 of file ICCLogistic.h.
00684 { 00685 return OpenICC3PL(fixedA, param(1), fixedC,theta); 00686 }
void etirm::ICCLogistic< 1 >::ICCDeriv1 | ( | const RealVector & | param, | |
Real | theta, | |||
RealVector & | deriv | |||
) | const [inline] |
Computes (gradient) vector of first partial derivatives of the 1PL model with respect to item parameters.
Returns results in deriv vector.
[in] | ¶m | Address of item parameter vector with entries (b). |
[in] | theta | Examinee ability parameter. |
[out] | &deriv | Address of gradient vector of length 1. |
Definition at line 701 of file ICCLogistic.h.
00702 { 00703 ICC3PLDeriv1(1, fixedA, param(1), fixedC, theta, deriv); 00704 }
void etirm::ICCLogistic< 1 >::ICCDeriv2 | ( | const RealVector & | param, | |
Real | theta, | |||
RealMatrix & | deriv | |||
) | const [inline] |
Computes (hessian) matrix of second partial derivatives of the 1PL model with respect to item parameters.
Returns results in deriv matrix.
[in] | ¶m | Address of item parameter vector with entries (b). |
[in] | theta | Examinee ability parameter. |
[out] | &deriv | Address of 1x1 hessian matrix. Only the lower half and diagonal of the matrix are populated, the upper off-diagonal entries remain undefined. |
Definition at line 720 of file ICCLogistic.h.
00721 { 00722 ICC3PLDeriv2(1, fixedA, param(1), fixedC, theta, deriv); 00723 }
bool etirm::ICCLogistic< 1 >::GradientDefined | ( | ) | const [inline] |
Function to indicate that the algebraic gradient of the item (ICCDeriv1) is defined.
This function can be used by UNCMIN++.
Definition at line 731 of file ICCLogistic.h.
bool etirm::ICCLogistic< 1 >::HessianDefined | ( | ) | const [inline] |
Function to indicate that the algebraic hessian of the item (ICCDeriv2) is defined.
This function can be used by UNCMIN++.
Definition at line 742 of file ICCLogistic.h.
void etirm::ICCLogistic< 1 >::Scale | ( | Real | slope, | |
Real | intercept, | |||
RealVector & | param | |||
) | [inline] |
Transforms the parameters of a 1-parameter logistic item to a different latent variable scale.
[in] | slope | Slope parameter of linear scale transformation. |
[in] | intercept | Intercept parameter of linear scale transformation. |
[in,out] | ¶m | Address of item parameter vector (item location only) to be transformed. |
Definition at line 759 of file ICCLogistic.h.
References etirm::ICC3PLFunc::Scale().
00760 { 00761 ICC3PLFunc::Scale(slope, intercept, fixedA, param(1)); 00762 }
Real etirm::ICCLogistic< 1 >::GetD | ( | ) | const [inline] |
Returns scaling constant D.
Definition at line 765 of file ICCLogistic.h.
00766 { 00767 return mD; 00768 }
void etirm::ICCLogistic< 1 >::GetAllParameters | ( | const RealVector & | estParam, | |
RealVector & | allParam | |||
) | const |
Copies a, b, and c parameters from estParam into allParam.
[in] | &estParam | Address of vector of item parameter estimates. |
[out] | &allParam | Address of copied item parameter vector. |
Definition at line 268 of file ICCLogistic.cpp.
00270 { 00271 if (estParam.size() != 1 || allParam.size() != 3) 00272 { 00273 throw 00274 InvalidArgument("Invalid number of parameters", 00275 "ICCLogistic<1>::GetAllParameters"); 00276 } 00277 allParam[0] = fixedA; 00278 allParam[1] = estParam[0]; 00279 allParam[2] = fixedC; 00280 }
int etirm::ICCLogistic< 1 >::NumParameters | ( | ) | const [inline] |
Returns number of estimated parameters.
Definition at line 782 of file ICCLogistic.h.
00783 { 00784 return numParameters; 00785 }
int etirm::ICCLogistic< 1 >::NumAllParameters | ( | ) | const [inline] |
Returns sum of number of fixed and estimated parameters.
Definition at line 788 of file ICCLogistic.h.
00789 { 00790 return numParameters+2; 00791 }
bool etirm::ICCLogistic< 1 >::ValidParameters | ( | const RealVector & | ) | const [inline] |
Returns true if vector param contains valid item parameters.
[in] | & | Address of item parameter vector (not used with this model). |
Definition at line 801 of file ICCLogistic.h.
std::string etirm::ICCLogistic< 1 >::Name | ( | ) | const [inline] |
IRTModel etirm::ICCLogistic< 1 >::Model | ( | ) | const [inline] |
Returns model type from enum defined in etirmtypes.h.
Definition at line 813 of file ICCLogistic.h.
References etirm::OnePL.
00814 { 00815 return OnePL; 00816 }
void etirm::ICCLogistic< 1 >::SetAllParameters | ( | I | begin_param, | |
I | end_param, | |||
RealVector & | estParam | |||
) | [inline] |
Assigns all item parameters (a, b, and c), fixed and estimated.
I | Type of iterator over item parameters. |
[in] | begin_param | Iterator pointing to first item parameter for the item. |
[in] | end_param | Iterator point to one after the last parameter for the item. |
[out] | &estParam | Address to vector "all" parameters for this item. |
Definition at line 833 of file ICCLogistic.h.
00834 { 00835 00836 if ((end_param - begin_param) != 3 || estParam.size() != 1) 00837 throw InvalidArgument("Wrong number of parameters", "ICCLogistic<1>::SetAllParameters"); 00838 00839 if (begin_param[2] < 0.0 || begin_param[2]> 1.0) throw InvalidArgument("Invalid c parameter","ICCLogistic<1>::SetAllParameters"); 00840 00841 fixedA = *begin_param++; 00842 estParam[0] = *begin_param++; 00843 fixedC = *begin_param; 00844 }
Real etirm::ICCLogistic< 1 >::fixedC [private] |
Real etirm::ICCLogistic< 1 >::fixedA [private] |