#include <ICCLogistic.h>


Public Member Functions | |
| ICCLogistic (Real D) | |
| Instantiation of logistic item response model, fixing scale constant. | |
| Real | ICC (const RealVector ¶m, Real theta) const |
| Returns value of the 3PL item characteristic curve (ICC) for a set of item parameters and theta value. | |
| Real | OpenICC (const RealVector ¶m, Real theta) const |
| Returns value of the 3PL item characteristic curve (ICC) in 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 3PL 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 3PL 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 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 ¶m) 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 Member Functions | |
| Real | ValidC (Real c) const |
| Returns c parameter, if valid, or throws an exception otherwise. | |
Definition at line 179 of file ICCLogistic.h.
| etirm::ICCLogistic< 3 >::ICCLogistic | ( | Real | D | ) |
Instantiation of logistic item response model, fixing scale constant.
| [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). |
Definition at line 220 of file ICCLogistic.cpp.
00220 : 00221 ICC3PLFunc(3, D) 00222 { 00223 }
| Real etirm::ICCLogistic< 3 >::ICC | ( | const RealVector & | param, | |
| Real | theta | |||
| ) | const [inline] |
Returns value of the 3PL item characteristic curve (ICC) for a set of item parameters and theta value.
| [in] | ¶m | Address of item parameter vector with entries = (a, b, c). |
| [in] | theta | Examinee ability parameter. |
Definition at line 206 of file ICCLogistic.h.
| Real etirm::ICCLogistic< 3 >::OpenICC | ( | const RealVector & | param, | |
| Real | theta | |||
| ) | const [inline] |
Returns value of the 3PL item characteristic curve (ICC) in 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, c). |
| [in] | theta | Examinee ability parameter. |
Definition at line 224 of file ICCLogistic.h.
00225 { 00226 return OpenICC3PL(param(1), param(2), ValidC(param(3)), theta); 00227 }
| void etirm::ICCLogistic< 3 >::ICCDeriv1 | ( | const RealVector & | param, | |
| Real | theta, | |||
| RealVector & | deriv | |||
| ) | const [inline] |
Computes (gradient) vector of first partial derivatives of the 3PL model with respect to item parameters.
Returns results in deriv vector.
| [in] | ¶m | Address of item parameter vector with entries (a, b, c). |
| [in] | theta | Examinee ability parameter. |
| [out] | &deriv | Address of gradient vector of length 3. |
Definition at line 242 of file ICCLogistic.h.
00243 { 00244 ICC3PLDeriv1(3, param(1), param(2), ValidC(param(3)), theta, deriv); 00245 }
| void etirm::ICCLogistic< 3 >::ICCDeriv2 | ( | const RealVector & | param, | |
| Real | theta, | |||
| RealMatrix & | deriv | |||
| ) | const [inline] |
Computes (hessian) matrix of second partial derivatives of the 3PL model with respect to item parameters.
Returns results in deriv matrix.
| [in] | ¶m | Address of item parameter vector with entries (a, b, c). |
| [in] | theta | Examinee ability parameter. |
| [out] | &deriv | Address of 3x3 hessian matrix. Only the lower half and diagonal of the matrix are populated, the upper off-diagonal entries remain undefined. |
Definition at line 261 of file ICCLogistic.h.
00262 { 00263 ICC3PLDeriv2(3, param(1), param(2), ValidC(param(3)), theta, deriv); 00264 }
| bool etirm::ICCLogistic< 3 >::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 272 of file ICCLogistic.h.
| bool etirm::ICCLogistic< 3 >::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 283 of file ICCLogistic.h.
| void etirm::ICCLogistic< 3 >::Scale | ( | Real | slope, | |
| Real | intercept, | |||
| RealVector & | param | |||
| ) | [inline] |
Transforms the parameters of a 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 to be transformed. Only the first two entries (slope and location) will be transformed. |
Definition at line 299 of file ICCLogistic.h.
References etirm::ICC3PLFunc::Scale().
00300 { 00301 ICC3PLFunc::Scale(slope, intercept, param(1), param(2)); 00302 }

| Real etirm::ICCLogistic< 3 >::GetD | ( | ) | const [inline] |
Returns scaling constant D.
Definition at line 305 of file ICCLogistic.h.
00306 { 00307 return mD; 00308 }
| void etirm::ICCLogistic< 3 >::GetAllParameters | ( | const RealVector & | estParam, | |
| RealVector & | allParam | |||
| ) | const |
Copies a, b, and c parameters from estParam into allParam.
Method to return allParam for 3PL item.
| [in] | &estParam | Address of vector of item parameter estimates. |
| [out] | &allParam | Address of copied item parameter vector. |
Definition at line 244 of file ICCLogistic.cpp.
| int etirm::ICCLogistic< 3 >::NumParameters | ( | ) | const [inline] |
Returns number of estimated parameters.
Definition at line 322 of file ICCLogistic.h.
00323 { 00324 return numParameters; 00325 }
| int etirm::ICCLogistic< 3 >::NumAllParameters | ( | ) | const [inline] |
Returns sum of number of fixed and estimated parameters.
Definition at line 328 of file ICCLogistic.h.
00329 { 00330 return numParameters; 00331 }
| bool etirm::ICCLogistic< 3 >::ValidParameters | ( | const RealVector & | param | ) | const [inline] |
Returns true if vector param contains valid item parameters.
| [in] | ¶m | Address of item parameter vector. |
Definition at line 341 of file ICCLogistic.h.
| std::string etirm::ICCLogistic< 3 >::Name | ( | ) | const [inline] |
| IRTModel etirm::ICCLogistic< 3 >::Model | ( | ) | const [inline] |
Returns model type from enum defined in etirmtypes.h.
Definition at line 353 of file ICCLogistic.h.
References etirm::ThreePL.
00354 { 00355 return ThreePL; 00356 }
| void etirm::ICCLogistic< 3 >::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 372 of file ICCLogistic.h.
00373 { 00374 if ((end_param - begin_param) != 3 || estParam.size() != 3) 00375 throw InvalidArgument("Wrong number of parameters", "ICCLogistic<3>::SetAllParameters"); 00376 00377 if (begin_param[2] < 0.0 || begin_param[2] > 1.0) 00378 throw InvalidArgument("Invalid c parameter","ICCLogistic<3>::SetAllParameters"); 00379 00380 RealVector::iterator ie = estParam.begin(); 00381 for (int i = 3; i--; ++ie, ++begin_param) 00382 { 00383 *ie = *begin_param; 00384 } 00385 }
| Real etirm::ICCLogistic< 3 >::ValidC | ( | Real | c | ) | const [inline, private] |
Returns c parameter, if valid, or throws an exception otherwise.
| [in] | c | Pseudo-guessing parameter c for the item. |
Definition at line 396 of file ICCLogistic.h.
00397 { 00398 if (c < 0.0 || c > 1.0)throw RuntimeError("Invalid c parameter","ICCLogistic<3>::ValidC"); 00399 00400 return c; 00401 }
1.5.4