Statistics.Distribution.Transform

statistics-0.13.3.0: A library of statistical types, data, and functions

Copyright | (c) 2013 John McDonnell;
License | BSD3
Maintainer | bos@serpentine.com
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell98

Statistics.Distribution.Transform

Description

Transformations over distributions

Synopsis

- data LinearTransform d = LinearTransform {
  - linTransLocation :: !Double
  - linTransScale :: !Double
  - linTransDistr :: d
  }
- linTransFixedPoint :: LinearTransform d -> Double
- scaleAround :: Double -> Double -> d -> LinearTransform d

# Documentation

data LinearTransform d #

Linear transformation applied to distribution.

    LinearTransform μ σ _
    x' = μ + σ·x

Constructors

LinearTransform |
Fields linTransLocation :: !Double Location parameter. linTransScale :: !Double Scale parameter. linTransDistr :: d Distribution being transformed.

Instances

Functor LinearTransform # |
Methods fmap :: (a -> b) -> LinearTransform a -> LinearTransform b # (<$) :: a -> LinearTransform b -> LinearTransform a #
Eq d => Eq (LinearTransform d) # |
Methods (==) :: LinearTransform d -> LinearTransform d -> Bool # (/=) :: LinearTransform d -> LinearTransform d -> Bool #
Data d => Data (LinearTransform d) # |
Methods gfoldl :: (forall a b. Data a => c (a -> b) -> a -> c b) -> (forall g. g -> c g) -> LinearTransform d -> c (LinearTransform d) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LinearTransform d) # toConstr :: LinearTransform d -> Constr # dataTypeOf :: LinearTransform d -> DataType # dataCast1 :: Typeable (* -> *) t => (forall a. Data a => c (t a)) -> Maybe (c (LinearTransform d)) # dataCast2 :: Typeable (* -> * -> *) t => (forall a e. (Data a, Data e) => c (t a e)) -> Maybe (c (LinearTransform d)) # gmapT :: (forall b. Data b => b -> b) -> LinearTransform d -> LinearTransform d # gmapQl :: (r -> r' -> r) -> r -> (forall a. Data a => a -> r') -> LinearTransform d -> r # gmapQr :: (r' -> r -> r) -> r -> (forall a. Data a => a -> r') -> LinearTransform d -> r # gmapQ :: (forall a. Data a => a -> u) -> LinearTransform d -> [u] # gmapQi :: Int -> (forall a. Data a => a -> u) -> LinearTransform d -> u # gmapM :: Monad m => (forall a. Data a => a -> m a) -> LinearTransform d -> m (LinearTransform d) # gmapMp :: MonadPlus m => (forall a. Data a => a -> m a) -> LinearTransform d -> m (LinearTransform d) # gmapMo :: MonadPlus m => (forall a. Data a => a -> m a) -> LinearTransform d -> m (LinearTransform d) #
Read d => Read (LinearTransform d) # |
Methods readsPrec :: Int -> ReadS (LinearTransform d) # readList :: ReadS [LinearTransform d] # readPrec :: ReadPrec (LinearTransform d) # readListPrec :: ReadPrec [LinearTransform d] #
Show d => Show (LinearTransform d) # |
Methods showsPrec :: Int -> LinearTransform d -> ShowS # show :: LinearTransform d -> String # showList :: [LinearTransform d] -> ShowS #
Generic (LinearTransform d) # |
Associated Types type Rep (LinearTransform d) :: * -> * # Methods from :: LinearTransform d -> Rep (LinearTransform d) x # to :: Rep (LinearTransform d) x -> LinearTransform d #
FromJSON d => FromJSON (LinearTransform d) # |
Methods parseJSON :: Value -> Parser (LinearTransform d) # parseJSONList :: Value -> Parser [LinearTransform d] #
ToJSON d => ToJSON (LinearTransform d) # |
Methods toJSON :: LinearTransform d -> Value # toEncoding :: LinearTransform d -> Encoding # toJSONList :: [LinearTransform d] -> Value # toEncodingList :: [LinearTransform d] -> Encoding #
Binary d => Binary (LinearTransform d) # |
Methods put :: LinearTransform d -> Put # get :: Get (LinearTransform d) # putList :: [LinearTransform d] -> Put #
ContGen d => ContGen (LinearTransform d) # |
Methods genContVar :: PrimMonad m => LinearTransform d -> Gen (PrimState m) -> m Double #
(Entropy d, DiscreteDistr d) => Entropy (LinearTransform d) # |
Methods entropy :: LinearTransform d -> Double #
(MaybeEntropy d, DiscreteDistr d) => MaybeEntropy (LinearTransform d) # |
Methods maybeEntropy :: LinearTransform d -> Maybe Double #
Variance d => Variance (LinearTransform d) # |
Methods variance :: LinearTransform d -> Double # stdDev :: LinearTransform d -> Double #
MaybeVariance d => MaybeVariance (LinearTransform d) # |
Methods maybeVariance :: LinearTransform d -> Maybe Double # maybeStdDev :: LinearTransform d -> Maybe Double #
Mean d => Mean (LinearTransform d) # |
Methods mean :: LinearTransform d -> Double #
MaybeMean d => MaybeMean (LinearTransform d) # |
Methods maybeMean :: LinearTransform d -> Maybe Double #
ContDistr d => ContDistr (LinearTransform d) # |
Methods density :: LinearTransform d -> Double -> Double # quantile :: LinearTransform d -> Double -> Double # logDensity :: LinearTransform d -> Double -> Double #
Distribution d => Distribution (LinearTransform d) # |
Methods cumulative :: LinearTransform d -> Double -> Double # complCumulative :: LinearTransform d -> Double -> Double #
type Rep (LinearTransform d) # |
type Rep (LinearTransform d) = D1 (MetaData "LinearTransform" "Statistics.Distribution.Transform" "statistics-0.13.3.0-A6M5lvDj6Zg1bzI7OU7tSj" False) (C1 (MetaCons "LinearTransform" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "linTransLocation") SourceUnpack SourceStrict DecidedUnpack) (Rec0 Double)) ((:*:) (S1 (MetaSel (Just Symbol "linTransScale") SourceUnpack SourceStrict DecidedUnpack) (Rec0 Double)) (S1 (MetaSel (Just Symbol "linTransDistr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 d)))))

linTransFixedPoint :: LinearTransform d -> Double #

Get fixed point of linear transformation

scaleAround #

Arguments

:: Double | Fixed point
-> Double | Scale parameter
-> d | Distribution
-> LinearTransform d |

Apply linear transformation to distribution.