Copyright | (c) 2009 2010 Bryan O'Sullivan |
---|---|
License | BSD3 |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Resampling statistics.
Synopsis
- newtype Resample = Resample { }
-
data
Bootstrap
v a =
Bootstrap
{
- fullSample :: !a
- resamples :: v a
- data Estimator
- estimate :: Estimator -> Sample -> Double
- resampleST :: PrimMonad m => Gen ( PrimState m) -> [ Estimator ] -> Int -> Vector Double -> m [ Bootstrap Vector Double ]
- resample :: GenIO -> [ Estimator ] -> Int -> Vector Double -> IO [( Estimator , Bootstrap Vector Double )]
- resampleVector :: ( PrimMonad m, Vector v a) => Gen ( PrimState m) -> v a -> m (v a)
- jackknife :: Estimator -> Sample -> Vector Double
- jackknifeMean :: Sample -> Vector Double
- jackknifeVariance :: Sample -> Vector Double
- jackknifeVarianceUnb :: Sample -> Vector Double
- jackknifeStdDev :: Sample -> Vector Double
- splitGen :: Int -> GenIO -> IO [ GenIO ]
Data types
A resample drawn randomly, with replacement, from a set of data points. Distinct from a normal array to make it harder for your humble author's brain to go wrong.
Instances
Eq Resample Source # | |
Data Resample Source # | |
Defined in Statistics.Resampling gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> Resample -> c Resample Source # gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c Resample Source # toConstr :: Resample -> Constr Source # dataTypeOf :: Resample -> DataType Source # dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c Resample ) Source # dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c Resample ) Source # gmapT :: ( forall b. Data b => b -> b) -> Resample -> Resample Source # gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Resample -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Resample -> r Source # gmapQ :: ( forall d. Data d => d -> u) -> Resample -> [u] Source # gmapQi :: Int -> ( forall d. Data d => d -> u) -> Resample -> u Source # gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Resample -> m Resample Source # gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Resample -> m Resample Source # gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Resample -> m Resample Source # |
|
Read Resample Source # | |
Show Resample Source # | |
Generic Resample Source # | |
ToJSON Resample Source # | |
FromJSON Resample Source # | |
Binary Resample Source # | |
type Rep Resample Source # | |
Defined in Statistics.Resampling |
Bootstrap | |
|
Instances
Functor v => Functor ( Bootstrap v) Source # | |
Foldable v => Foldable ( Bootstrap v) Source # | |
Defined in Statistics.Resampling fold :: Monoid m => Bootstrap v m -> m Source # foldMap :: Monoid m => (a -> m) -> Bootstrap v a -> m Source # foldMap' :: Monoid m => (a -> m) -> Bootstrap v a -> m Source # foldr :: (a -> b -> b) -> b -> Bootstrap v a -> b Source # foldr' :: (a -> b -> b) -> b -> Bootstrap v a -> b Source # foldl :: (b -> a -> b) -> b -> Bootstrap v a -> b Source # foldl' :: (b -> a -> b) -> b -> Bootstrap v a -> b Source # foldr1 :: (a -> a -> a) -> Bootstrap v a -> a Source # foldl1 :: (a -> a -> a) -> Bootstrap v a -> a Source # toList :: Bootstrap v a -> [a] Source # null :: Bootstrap v a -> Bool Source # length :: Bootstrap v a -> Int Source # elem :: Eq a => a -> Bootstrap v a -> Bool Source # maximum :: Ord a => Bootstrap v a -> a Source # minimum :: Ord a => Bootstrap v a -> a Source # |
|
Traversable v => Traversable ( Bootstrap v) Source # | |
Defined in Statistics.Resampling traverse :: Applicative f => (a -> f b) -> Bootstrap v a -> f ( Bootstrap v b) Source # sequenceA :: Applicative f => Bootstrap v (f a) -> f ( Bootstrap v a) Source # mapM :: Monad m => (a -> m b) -> Bootstrap v a -> m ( Bootstrap v b) Source # sequence :: Monad m => Bootstrap v (m a) -> m ( Bootstrap v a) Source # |
|
( Eq a, Eq (v a)) => Eq ( Bootstrap v a) Source # | |
( Typeable v, Data a, Data (v a)) => Data ( Bootstrap v a) Source # | |
Defined in Statistics.Resampling gfoldl :: ( forall d b. Data d => c (d -> b) -> d -> c b) -> ( forall g. g -> c g) -> Bootstrap v a -> c ( Bootstrap v a) Source # gunfold :: ( forall b r. Data b => c (b -> r) -> c r) -> ( forall r. r -> c r) -> Constr -> c ( Bootstrap v a) Source # toConstr :: Bootstrap v a -> Constr Source # dataTypeOf :: Bootstrap v a -> DataType Source # dataCast1 :: Typeable t => ( forall d. Data d => c (t d)) -> Maybe (c ( Bootstrap v a)) Source # dataCast2 :: Typeable t => ( forall d e. ( Data d, Data e) => c (t d e)) -> Maybe (c ( Bootstrap v a)) Source # gmapT :: ( forall b. Data b => b -> b) -> Bootstrap v a -> Bootstrap v a Source # gmapQl :: (r -> r' -> r) -> r -> ( forall d. Data d => d -> r') -> Bootstrap v a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> ( forall d. Data d => d -> r') -> Bootstrap v a -> r Source # gmapQ :: ( forall d. Data d => d -> u) -> Bootstrap v a -> [u] Source # gmapQi :: Int -> ( forall d. Data d => d -> u) -> Bootstrap v a -> u Source # gmapM :: Monad m => ( forall d. Data d => d -> m d) -> Bootstrap v a -> m ( Bootstrap v a) Source # gmapMp :: MonadPlus m => ( forall d. Data d => d -> m d) -> Bootstrap v a -> m ( Bootstrap v a) Source # gmapMo :: MonadPlus m => ( forall d. Data d => d -> m d) -> Bootstrap v a -> m ( Bootstrap v a) Source # |
|
( Read a, Read (v a)) => Read ( Bootstrap v a) Source # | |
( Show a, Show (v a)) => Show ( Bootstrap v a) Source # | |
Generic ( Bootstrap v a) Source # | |
( ToJSON a, ToJSON (v a)) => ToJSON ( Bootstrap v a) Source # | |
( FromJSON a, FromJSON (v a)) => FromJSON ( Bootstrap v a) Source # | |
( Binary a, Binary (v a)) => Binary ( Bootstrap v a) Source # | |
type Rep ( Bootstrap v a) Source # | |
Defined in Statistics.Resampling
type
Rep
(
Bootstrap
v a) =
D1
('
MetaData
"Bootstrap" "Statistics.Resampling" "statistics-0.16.1.2-IkOne9g3oJ1vhHVSRLPUO" '
False
) (
C1
('
MetaCons
"Bootstrap" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"fullSample") '
NoSourceUnpackedness
'
SourceStrict
'
DecidedStrict
) (
Rec0
a)
:*:
S1
('
MetaSel
('
Just
"resamples") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
(v a))))
|
Resampling
:: PrimMonad m | |
=> Gen ( PrimState m) | |
-> [ Estimator ] |
Estimation functions. |
-> Int |
Number of resamples to compute. |
-> Vector Double |
Original sample. |
-> m [ Bootstrap Vector Double ] |
Single threaded and deterministic version of resample.
:: GenIO | |
-> [ Estimator ] |
Estimation functions. |
-> Int |
Number of resamples to compute. |
-> Vector Double |
Original sample. |
-> IO [( Estimator , Bootstrap Vector Double )] |
O(e*r*s) Resample a data set repeatedly, with replacement, computing each estimate over the resampled data.
This function is expensive; it has to do work proportional to e*r*s , where e is the number of estimation functions, r is the number of resamples to compute, and s is the number of original samples.
To improve performance, this function will make use of all
available CPUs. At least with GHC 7.0, parallel performance seems
best if the parallel garbage collector is disabled (RTS option
-qg
).
resampleVector :: ( PrimMonad m, Vector v a) => Gen ( PrimState m) -> v a -> m (v a) Source #
Create vector using resamples
Jackknife
jackknife :: Estimator -> Sample -> Vector Double Source #
O(n) or O(n^2) Compute a statistical estimate repeatedly over a sample, each time omitting a successive element.
jackknifeVariance :: Sample -> Vector Double Source #
O(n) Compute the jackknife variance of a sample.
jackknifeVarianceUnb :: Sample -> Vector Double Source #
O(n) Compute the unbiased jackknife variance of a sample.
jackknifeStdDev :: Sample -> Vector Double Source #
O(n) Compute the jackknife standard deviation of a sample.