Forward and inverse discrete Fourier and cosine transforms are added, in Transform.

Root finding is added, in Math.RootFinding.

Major changes:

The Sample.KernelDensity module has been renamed, and completely rewritten to be much more robust. The older module oversmoothed multi-modal data. (The older module is still available under the name Sample.KernelDensity.Simple).

The type classes Mean and Variance are split in two. This is required for distributions which do not have finite variance or mean.

Smaller changes:

The complCumulative function is added to the Distribution class in order to accurately assess probalities P(X>x) which are used in one-tailed tests.

A stdDev function is added to the Variance class for distributions.

The constructor Distribution.normalDistr now takes standard deviation instead of variance as its parameter.

A bug in Quantile.weightedAvg is fixed. It produced a wrong answer if a sample contained only one element.

Bugs in quantile estimations for chi-square and gamma distribution are fixed.

Integer overlow in mannWhitneyUCriticalValue is fixed. It produced incorrect critical values for moderately large samples. Something around 20 for 32-bit machines and 40 for 64-bit ones.

A bug in mannWhitneyUSignificant is fixed. If either sample was larger than 20, it produced a completely incorrect answer.

One- and two-tailed tests in Tests.NonParametric are selected with sum types instead of Bool.

Test results returned as enumeration instead of Bool.

Performance improvements for Mann-Whitney U and Wilcoxon tests.

Module Tests.NonParamtric is split into Tests.MannWhitneyU and Tests.WilcoxonT

sortBy is added to Function.

Mean and variance for gamma distribution are fixed.

Much faster cumulative probablity functions for Poisson and hypergeometric distributions.

Better density functions for gamma and Poisson distributions.

The function Function.create is removed. Use generateM from the vector package instead.

A function to perform approximate comparion of doubles is added to Function.Comparison.

Regularized incomplete beta function and its inverse are added to Function.

2 comments on “A major new release of the Haskell statistics library”

I think Don Stewart posted it to Google+ but somehow I came across a story about you using Quickcheck to find a bug in your FFT implementation, I was wondering if you would consider writing a blog post about how you approached that? I’ve used QuickCheck to test some simple things (is an associative operator really associative, etc.), but I’d be curious to know how you used Quickcheck to test something like the FFT.

Incidentally the last time I implemented the FFT in C++ I had a bug in essentially the same place that you did, but it took me several days to find it 😛 So I’m quite interested 😉

Criterion.hs:43:8:
Could not find module `Statistics.KernelDensity’
Use -v to see a list of the files searched for.
cabal: Error: some packages failed to install:
criterion-0.5.1.0 failed during the building phase. The exception was:
ExitFailure 1″

1 Pings/Trackbacks for "A major new release of the Haskell statistics library"