summaryrefslogtreecommitdiff
path: root/changelog.md
blob: 50bdd0a4b3d747ff9480288f48b5267fe5601239 (plain)
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 very-very-very 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 hand-rolled primitives


## Changes in 0.15.0.0

 * Modules `Statistics.Matrix.*` are split into new package
   `dense-linear-algebra` 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 `math-functions`
   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
p-value. Also API for statistical tests is changed.

 * Module `Statistis.Types` now contains new data types for estimates,
   upper/lower bounds, confidence level, and p-value.

	- `CL` for representing confidence level
	- `PValue` for representing p-values
	- `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 p-value, 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 F-distributions.

   Encoding to JSON changed for Normal, F-distribution, 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 Wilcoxon-T, Mann-Whitney-U, and Student-T 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
    [math-functions](http://hackage.haskell.org/package/math-functions)
    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 Kruskal-Wallis 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 Wilcoxon-T test is fixed.

  * Bug in 'ContGen' instance for normal distribution is fixed.

## Changes in 0.10.1.0

  * Kolmogorov-Smirnov 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 `math-functions` 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 multi-modal 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 one-tailed 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 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 S.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 `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.

  * Student-T, Fisher-Snedecor F-distributions and Cauchy-Lorentz
    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