Portability | portable |
---|---|

Stability | experimental |

Maintainer | bos@serpentine.com |

Safe Haskell | None |

Resampling statistics.

- newtype Resample = Resample {}
- jackknife :: Estimator -> Sample -> Vector Double
- jackknifeMean :: Sample -> Vector Double
- jackknifeVariance :: Sample -> Vector Double
- jackknifeVarianceUnb :: Sample -> Vector Double
- jackknifeStdDev :: Sample -> Vector Double
- resample :: GenIO -> [Estimator] -> Int -> Sample -> IO [Resample]
- estimate :: Estimator -> Sample -> Double
- splitGen :: Int -> GenIO -> IO [GenIO]

# Documentation

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.

jackknife :: Estimator -> Sample -> Vector DoubleSource

*O(n) or O(n^2)* Compute a statistical estimate repeatedly over a
sample, each time omitting a successive element.

jackknifeMean :: Sample -> Vector DoubleSource

*O(n)* Compute the jackknife mean of a sample.

jackknifeVariance :: Sample -> Vector DoubleSource

*O(n)* Compute the jackknife variance of a sample.

jackknifeVarianceUnb :: Sample -> Vector DoubleSource

*O(n)* Compute the unbiased jackknife variance of a sample.

jackknifeStdDev :: Sample -> Vector DoubleSource

*O(n)* Compute the jackknife standard deviation of a sample.

:: GenIO | |

-> [Estimator] | Estimation functions. |

-> Int | Number of resamples to compute. |

-> Sample | Original sample. |

-> IO [Resample] |

*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`

).