sirt (version 1.9-0)

pgenlogis: Calculation of Probabilities and Moments for the Generalized Logistic Item Response Model

Description

Calculation of probabilities and moments for the generalized logistic item response model (Stukel, 1988).

Usage

pgenlogis(x, alpha1 = 0, alpha2 = 0)

genlogis.moments(alpha1, alpha2)

Arguments

x
Vector
alpha1
Upper tail parameter $\alpha_1$ in the generalized logistic item response model. The default is 0.
alpha2
Lower tail parameter $\alpha_2$ parameter in the generalized logistic item response model. The default is 0.

Value

  • Vector of probabilities or moments

Details

The class of generalized logistic link functions contain the most important link functions using the specifications (Stukel, 1988):
  • logistic link function$L$:$$L(x) \approx G_{ ( \alpha_1=0 , \alpha_2=0)}[ x ]$$
  • probit link function$\Phi$:$$\Phi(x) \approx G_{ ( \alpha_1=0.165 , \alpha_2=0.165)}[ 1.47 x ]$$
  • loglog link function$H$:$$H(x) \approx G_{ (\alpha_1=-0.037 , \alpha_2=0.62)}[ -0.39+1.20x-0.007x^2]$$
  • cloglog link function$H$:$$H(x) \approx G_{ ( \alpha_1=0.62 , \alpha_2=-0.037)}[ 0.54+1.64x+0.28x^2+0.046x^3]$$

References

Stukel, T. A. (1988). Generalized logistic models. Journal of the American Statistical Association, 83, 426-431.

Examples

Run this code
pgenlogis( x=c(-.3 , 0 , .25 , 1 ) , alpha1=0 , alpha2= .6 )
  ##   [1] 0.4185580 0.5000000 0.5621765 0.7310586

####################################################################
# compare link functions
x <- seq( -3 ,3 , .1 )

#***
# logistic link
y <- pgenlogis( x , alpha1=0, alpha2=0 )
plot( x , plogis(x) , type="l" , main="Logistic Link" , lwd=2)
points( x , y , pch=1 , col=2 )

#***
# probit link 
round( genlogis.moments( alpha1=.165 , alpha2=.165 ) , 3 )
  ##       M    SD   Var 
  ##   0.000 1.472 2.167 
# SD of generalized logistic link function is 1.472
y <- pgenlogis( x * 1.47 , alpha1=.165 , alpha2=.165 )
plot( x , pnorm(x) , type="l" , main="Probit Link" , lwd=2)
points( x , y , pch=1 , col=2 )

#***
# loglog link 
y <- pgenlogis( -.39 + 1.20*x -.007*x^2  , alpha1=-.037 , alpha2=.62 )
plot( x , exp( - exp( -x ) )  , type="l" , main="Loglog Link" , lwd=2,
    ylab="loglog(x) = exp(-exp(-x))" )
points( x , y , pch=17 , col=2 )

#***
# cloglog link 
y <- pgenlogis( .54+1.64*x +.28*x^2 + .046*x^3 , alpha1=.062 , alpha2=-.037 )
plot( x , 1-exp( - exp(x) )  , type="l" , main="Cloglog Link" , lwd=2,
    ylab="loglog(x) = 1-exp(-exp(x))" )
points( x , y , pch=17 , col=2 )

Run the code above in your browser using DataLab