#include <ICCLogistic.h>
Public Member Functions | |
ICCLogistic (Real D, Real c) | |
Instantiation of 2-parameter logistic item response model, fixing scale constant D and pseudo-guessing parameter c. | |
Real | ICC (const RealVector ¶m, Real theta) const |
Returns value of item characteristic curve (ICC) of the 2PL 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 2PL 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 2PL 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 2PL 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 2-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 |
Definition at line 409 of file ICCLogistic.h.
etirm::ICCLogistic< 2 >::ICCLogistic | ( | Real | D, | |
Real | c | |||
) |
Instantiation of 2-parameter logistic item response model, fixing scale constant D 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] | c | Pseudo-guessing parameter for the item. |
Definition at line 226 of file ICCLogistic.cpp.
00226 : 00227 ICC3PLFunc(2, D) 00228 { 00229 if (c < 0.0 || c> 1.0)throw InvalidArgument("Invalid c parameter", 00230 "ICCLogistic<2>::ICCLogistic"); 00231 fixedC = c; 00232 }
Real etirm::ICCLogistic< 2 >::ICC | ( | const RealVector & | param, | |
Real | theta | |||
) | const [inline] |
Returns value of item characteristic curve (ICC) of the 2PL model for a set of item parameters and theta value.
[in] | ¶m | Address of item parameter vector with entries = (a, b). |
[in] | theta | Examinee ability parameter. |
Definition at line 438 of file ICCLogistic.h.
Real etirm::ICCLogistic< 2 >::OpenICC | ( | const RealVector & | param, | |
Real | theta | |||
) | const [inline] |
Returns value of item characteristic curve (ICC) of the 2PL 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 = (a, b). |
[in] | theta | Examinee ability parameter. |
Definition at line 456 of file ICCLogistic.h.
00457 { 00458 return OpenICC3PL(param(1), param(2), fixedC, theta); 00459 }
void etirm::ICCLogistic< 2 >::ICCDeriv1 | ( | const RealVector & | param, | |
Real | theta, | |||
RealVector & | deriv | |||
) | const [inline] |
Computes (gradient) vector of first partial derivatives of the 2PL model with respect to item parameters.
Returns results in deriv vector.
[in] | ¶m | Address of item parameter vector with entries (a, b). |
[in] | theta | Examinee ability parameter. |
[out] | &deriv | Address of gradient vector of length 2. |
Definition at line 474 of file ICCLogistic.h.
00475 { 00476 ICC3PLDeriv1(2, param(1), param(2), fixedC, theta, deriv); 00477 }
void etirm::ICCLogistic< 2 >::ICCDeriv2 | ( | const RealVector & | param, | |
Real | theta, | |||
RealMatrix & | deriv | |||
) | const [inline] |
Computes (hessian) matrix of second partial derivatives of the 2PL model with respect to item parameters.
Returns results in deriv matrix.
[in] | ¶m | Address of item parameter vector with entries (a, b). |
[in] | theta | Examinee ability parameter. |
[out] | &deriv | Address of 2x2 hessian matrix. Only the lower half and diagonal of the matrix are populated, the upper off-diagonal entries remain undefined. |
Definition at line 493 of file ICCLogistic.h.
00494 { 00495 ICC3PLDeriv2(2, param(1), param(2), fixedC, theta, deriv); 00496 }
bool etirm::ICCLogistic< 2 >::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 504 of file ICCLogistic.h.
bool etirm::ICCLogistic< 2 >::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 515 of file ICCLogistic.h.
void etirm::ICCLogistic< 2 >::Scale | ( | Real | slope, | |
Real | intercept, | |||
RealVector & | param | |||
) | [inline] |
Transforms the parameters of a 2-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 (slope and intercept) to be transformed. |
Definition at line 532 of file ICCLogistic.h.
References etirm::ICC3PLFunc::Scale().
00533 { 00534 ICC3PLFunc::Scale(slope, intercept, param(1), param(2)); 00535 }
Real etirm::ICCLogistic< 2 >::GetD | ( | ) | const [inline] |
Returns scaling constant D.
Definition at line 538 of file ICCLogistic.h.
00539 { 00540 return mD; 00541 }
void etirm::ICCLogistic< 2 >::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 252 of file ICCLogistic.cpp.
00254 { 00255 if (estParam.size() != 2 || allParam.size() != 3) 00256 { 00257 throw 00258 InvalidArgument("Invalid number of parameters", 00259 "ICCLogistic<2>::GetAllParameters"); 00260 } 00261 allParam[0] = estParam[0]; 00262 allParam[1] = estParam[1]; 00263 allParam[2] = fixedC; 00264 }
int etirm::ICCLogistic< 2 >::NumParameters | ( | ) | const [inline] |
Returns number of estimated parameters.
Definition at line 555 of file ICCLogistic.h.
00556 { 00557 return numParameters; 00558 }
int etirm::ICCLogistic< 2 >::NumAllParameters | ( | ) | const [inline] |
Returns sum of number of fixed and estimated parameters.
Definition at line 561 of file ICCLogistic.h.
00562 { 00563 return numParameters+1; 00564 }
bool etirm::ICCLogistic< 2 >::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 574 of file ICCLogistic.h.
std::string etirm::ICCLogistic< 2 >::Name | ( | ) | const [inline] |
IRTModel etirm::ICCLogistic< 2 >::Model | ( | ) | const [inline] |
Returns model type from enum defined in etirmtypes.h.
Definition at line 586 of file ICCLogistic.h.
References etirm::TwoPL.
00587 { 00588 return TwoPL; 00589 }
void etirm::ICCLogistic< 2 >::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 606 of file ICCLogistic.h.
00607 { 00608 00609 if ((end_param - begin_param) != 3 || estParam.size() != 2) 00610 throw InvalidArgument("Wrong number of parameters", "ICCLogistic<2>::SetAllParameters"); 00611 00612 if (begin_param[2] < 0.0 || begin_param[2]> 1.0) throw InvalidArgument("Invalid c parameter","ICCLogistic<2>::SetAllParameters"); 00613 00614 RealVector::iterator ie = estParam.begin(); 00615 for (int i = 2; i--; ++ie, ++begin_param) 00616 { 00617 *ie = *begin_param; 00618 } 00619 00620 fixedC = *begin_param; 00621 }
Real etirm::ICCLogistic< 2 >::fixedC [private] |