etirm::ICCLogistic< 1 > Class Template Reference

One-parameter logistic item response model. More...

#include <ICCLogistic.h>

Inheritance diagram for etirm::ICCLogistic< 1 >:

Inheritance graph
[legend]
Collaboration diagram for etirm::ICCLogistic< 1 >:

Collaboration graph
[legend]

List of all members.

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 &param, 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 &param, 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 &param, 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 &param, 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 &param)
 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


Detailed Description

template<>
class etirm::ICCLogistic< 1 >

One-parameter logistic item response model.

Definition at line 635 of file ICCLogistic.h.


Constructor & Destructor Documentation

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.

Function Parameters

Parameters:
[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.
Constructor for one-parameter logistic ICC object

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;}


Member Function Documentation

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.

Function Parameters

Parameters:
[in] &param Address of item parameter vector with entry = (b).
[in] theta Examinee ability parameter.

Definition at line 665 of file ICCLogistic.h.

00666     {
00667       return ICC3PL(fixedA, param(1), fixedC, theta);
00668     }

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.

Function Parameters

Parameters:
[in] &param 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.

Function Parameters

Parameters:
[in] &param 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.

Function Parameters

Parameters:
[in] &param 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.

00732     { 
00733       return true;
00734     }

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.

00743     { 
00744       return true;
00745     }

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.

Function Parameters

Parameters:
[in] slope Slope parameter of linear scale transformation.
[in] intercept Intercept parameter of linear scale transformation.
[in,out] &param 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     }

Here is the call graph for this function:

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.

Function Parameters

Parameters:
[in] &estParam Address of vector of item parameter estimates.
[out] &allParam Address of copied item parameter vector.
Method to return allParam for 1PL item (estparam contains estimated parameter b, allParam is assigned to contain a, b, c).

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.

Function Parameters

Parameters:
[in] & Address of item parameter vector (not used with this model).

Definition at line 801 of file ICCLogistic.h.

00802     { 
00803       return true;
00804     }

std::string etirm::ICCLogistic< 1 >::Name (  )  const [inline]

Returns name of model.

Definition at line 807 of file ICCLogistic.h.

00808     { 
00809       return std::string("1PL");
00810     }

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     }

template<class I>
void etirm::ICCLogistic< 1 >::SetAllParameters ( begin_param,
end_param,
RealVector estParam 
) [inline]

Assigns all item parameters (a, b, and c), fixed and estimated.

Template Parameters

Parameters:
I Type of iterator over item parameters.

Function Parameters

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     }


Member Data Documentation

Real etirm::ICCLogistic< 1 >::fixedC [private]

fixed c parameter

Definition at line 848 of file ICCLogistic.h.

Real etirm::ICCLogistic< 1 >::fixedA [private]

fixed a parameter

Definition at line 849 of file ICCLogistic.h.


The documentation for this class was generated from the following files:
Generated on Sat Mar 1 21:41:29 2008 for ETIRM by  doxygen 1.5.4