irt-0.2.0.0: Math/IRT/Model/OnePLM.hs
module Math.IRT.Model.OnePLM
( OnePLM (..)
) where
import Statistics.Distribution
import Math.IRT.Internal.Distribution
import Math.IRT.Internal.LogLikelihood
import Math.IRT.Model.FourPLM ( FourPLM(..) )
import Math.IRT.Model.Generic
data OnePLM = OnePLM { difficulty :: !Double
} deriving (Show)
instance Distribution OnePLM where
cumulative = cumulative . toFourPLM
instance ContDistr OnePLM where
density = density . toFourPLM
quantile _ = error "This shouldn't be needed"
instance DensityDeriv OnePLM where
densityDeriv = densityDeriv . toFourPLM
instance GenericModel OnePLM where
fromRasch = OnePLM
fromOnePLM = OnePLM
fromTwoPLM _ b = OnePLM b
fromThreePLM _ b _ = OnePLM b
fromFourPLM _ b _ _ = OnePLM b
instance LogLikelihood OnePLM where
logLikelihood b = logLikelihood b . toFourPLM
toFourPLM :: OnePLM -> FourPLM
toFourPLM (OnePLM sb) = FourPLM 1.7 sb 0.0 1.0