1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339

## Changes in 0.15.2.0
* Test suite is finally fixed (#42, #123). It took veryveryvery long
time but finally happened.
* Avoid loss of precision when computing CDF for exponential districution.
* Avoid loss of precision when computing CDF for geometric districution. Add
complement of CDF.
* Correctly handle case of n=0 in poissonCI
## Changes in 0.15.1.1
* Fix build for GHC8.0 & 7.10
## Changes in 0.15.1.0
* GHCJS support
* Concurrent resampling now uses `async` instead of handrolled primitives
## Changes in 0.15.0.0
* Modules `Statistics.Matrix.*` are split into new package
`denselinearalgebra` and exponent field is removed from `Matrix` data type.
* Module `Statistics.Normalize` which contains functions for normalization of
samples
* Module `Statistics.Quantile` reworked:
 `ContParam` given `Default` instance
 `quantile` should be used instead of `continuousBy`
 `median` and `mad` are added
 `quantiles` and `quantilesVec` functions for computation of set of
quantiles added.
* Modules `Statistics.Function.Comparison` and `Statistics.Math.RootFinding`
are removed. Corresponding functionality could be found in `mathfunctions`
package.
* Fix vector index out of bounds in `bootstrapBCA` and `bootstrapRegress`
(see issue #149)
## Changes in 0.14.0.2
* Compatibility fixes with older GHC
## Changes in 0.14.0.1
* Restored compatibility with GHC 7.4 & 7.6
## Changes in 0.14.0.0
Breaking update. It seriously changes parts of API. It adds new data types for
dealing with with estimates, confidence intervals, confidence levels and
pvalue. Also API for statistical tests is changed.
* Module `Statistis.Types` now contains new data types for estimates,
upper/lower bounds, confidence level, and pvalue.
 `CL` for representing confidence level
 `PValue` for representing pvalues
 `Estimate` data type moved here from `Statistis.Resampling.Bootstrap` and
now parametrized by type of error.
 `NormalError` — represents normal error.
 `ConfInt` — generic confidence interval
 `UpperLimit`,`LowerLimit` for upper/lower limits.
* New API for statistical tests. Instead of simply return significant/not
significant it returns pvalue, test statistics and distribution of test
statistics if it's available. Tests also return `Nothing` instead of throwing
error if sample size is not sufficient. Fixes #25.
* `Statistics.Tests.Types.TestType` data type dropped
* New smart constructors for distributions are added. They return `Nothing` if
parameters are outside of allowed range.
* Serialization instances (`Show/Read, Binary, ToJSON/FromJSON`) for
distributions no longer allows to create data types with invalid
parameters. They will fail to parse. Cached values are not serialized either
so `Binary` instances changed normal and Fdistributions.
Encoding to JSON changed for Normal, Fdistribution, and χ²
distributions. However data created using older statistics will be
successfully decoded.
Fixes #59.
* Statistics.Resample.Bootstrap uses new data types for central estimates.
* Function for calculation of confidence intervals for Poisson and binomial
distribution added in `Statistics.ConfidenceInt`
* Tests of position now allow to ask whether first sample on average larger
than second, second larger than first or whether they differ significantly.
Affects WilcoxonT, MannWhitneyU, and StudentT tests.
* API for bootstrap changed. New data types added.
* Bug fixes for #74, #81, #83, #92, #94
* `complCumulative` added for many distributions.
## Changes in 0.13.3.0
* Kernel density estimation and FFT use generic versions now.
* Code for calculation of Spearman and Pearson correlation added. Modules
`Statistics.Correlation.Spearman` and `Statistics.Correlation.Pearson`.
* Function for calculation covariance added in `Statistics.Sample`.
* `Statistics.Function.pair` added. It zips vector and check that lengths are
equal.
* New functions added to `Statistics.Matrix`
* Laplace distribution added.
## Changes in 0.13.2.3
* Vector dependency restored to >=0.10
## Changes in 0.13.2.2
* Vector dependency lowered to >=0.9
## Changes in 0.13.2.1
* Vector dependency bumped to >=0.10
## Changes in 0.13.2.0
* Support for regression bootstrap added
## Changes in 0.13.1.1
* Fix for out of bound access in bootstrap (see `bos/criterion#52`)
## Changes in 0.13.1.0
* All types now support JSON encoding and decoding.
## Changes in 0.12.0.0
* The `Statistics.Math` module has been removed, after being
deprecated for several years. Use the
[mathfunctions](http://hackage.haskell.org/package/mathfunctions)
package instead.
* The `Statistics.Test.NonParametric` module has been removed, after
being deprecated for several years.
* Added support for Kendall's tau.
* Added support for OLS regression.
* Added basic 2D matrix support.
* Added the KruskalWallis test.
## Changes in 0.11.0.3
* Fixed a subtle bug in calculation of the jackknifed unbiased variance.
* The test suite now requires QuickCheck 2.7.
* We now calculate quantiles for normal distribution in a more
numerically stable way (bug #64).
## Changes in 0.10.6.0
* The Estimator type has become an algebraic data type. This allows
the jackknife function to potentially use more efficient jackknife
implementations.
* jackknifeMean, jackknifeStdDev, jackknifeVariance,
jackknifeVarianceUnb: new functions. These have O(n) cost instead
of the O(n^2) cost of the standard jackknife.
* The mean function has been renamed to welfordMean; a new
implementation of mean has better numerical accuracy in almost all
cases.
## Changes in 0.10.5.2
* histogram correctly chooses range when all elements in the sample are same
(bug #57)
## Changes in 0.10.5.1
* Bug fix for S.Distributions.Normal.standard introduced in 0.10.5.0 (Bug #56)
## Changes in 0.10.5.0
* Enthropy type class for distributions is added.
* Probability and probability density of distribution is given in
log domain too.
## Changes in 0.10.4.0
* Support for versions of GHC older than 7.2 is discontinued.
* All datatypes now support 'Data.Binary' and 'GHC.Generics'.
## Changes in 0.10.3.0
* Bug fixes
## Changes in 0.10.2.0
* Bugs in DCT and IDCT are fixed.
* Accesors for uniform distribution are added.
* ContGen instances for all continuous distribtuions are added.
* Beta distribution is added.
* Constructor for improper gamma distribtuion is added.
* Binomial distribution allows zero trials.
* Poisson distribution now accept zero parameter.
* Integer overflow in caculation of WilcoxonT test is fixed.
* Bug in 'ContGen' instance for normal distribution is fixed.
## Changes in 0.10.1.0
* KolmogorovSmirnov nonparametric test added.
* Pearson chi squared test added.
* Type class for generating random variates for given distribution
is added.
* Modules 'Statistics.Math' and 'Statistics.Constants' are moved to
the `mathfunctions` package. They are still available but marked
as deprecated.
## Changes in 0.10.0.1
* `dct` and `idct` now have type `Vector Double > Vector Double`
## Changes in 0.10.0.0
* The type classes Mean and Variance are split in two. This is
required for distributions which do not have finite variance or
mean.
* The S.Sample.KernelDensity module has been renamed, and
completely rewritten to be much more robust. The older module
oversmoothed multimodal data. (The older module is still
available under the name S.Sample.KernelDensity.Simple).
* Histogram computation is added, in S.Sample.Histogram.
* Discrete Fourie transform is added, in S.Transform
* Root finding is added, in S.Math.RootFinding.
* The complCumulative function is added to the Distribution
class in order to accurately assess probalities P(X>x) which are
used in onetailed tests.
* A stdDev function is added to the Variance class for
distributions.
* The constructor S.Distribution.normalDistr now takes standard
deviation instead of variance as its parameter.
* A bug in S.Quantile.weightedAvg is fixed. It produced a wrong
answer if a sample contained only one element.
* Bugs in quantile estimations for chisquare and gamma distribution
are fixed.
* Integer overlow in mannWhitneyUCriticalValue is fixed. It
produced incorrect critical values for moderately large
samples. Something around 20 for 32bit machines and 40 for 64bit
ones.
* A bug in mannWhitneyUSignificant is fixed. If either sample was
larger than 20, it produced a completely incorrect answer.
* One and twotailed tests in S.Tests.NonParametric are selected
with sum types instead of Bool.
* Test results returned as enumeration instead of `Bool`.
* Performance improvements for MannWhitney U and Wilcoxon tests.
* Module `S.Tests.NonParamtric` is split into `S.Tests.MannWhitneyU`
and `S.Tests.WilcoxonT`
* sortBy is added to S.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.
* StudentT, FisherSnedecor Fdistributions and CauchyLorentz
distrbution are added.
* The function S.Function.create is removed. Use generateM from
the vector package instead.
* Function to perform approximate comparion of doubles is added to
S.Function.Comparison
* Regularized incomplete beta function and its inverse are added to
S.Function
