Commit Graph

134 Commits

Author SHA1 Message Date
Vinzent Steinberg
3fd3bc4ac9 Moments: Refactor add to be in-place 2018-01-11 19:00:59 +01:00
Vinzent Steinberg
608a9733cd Code clean-up and more impls for Moments 2018-01-11 18:39:49 +01:00
Vinzent Steinberg
c1fab4722c Implement incremental calculation of arbitrary moments 2018-01-11 18:29:43 +01:00
Vinzent Steinberg
4bcc52ef25 Reenable clippy lint that no longer gives false positives 2018-01-10 16:04:29 +01:00
Eh2406
982acc9bf6 clippy 2017-12-20 16:59:51 -05:00
Vinzent Steinberg
5963cbb032
Fix typos 2017-12-20 14:55:09 +01:00
Eh2406
e41ae320ac Add to docs 2017-12-18 12:14:24 -05:00
Eh2406
b26652f2a7 inline reduce to make minmax compatibal with serde 2017-12-17 22:53:50 -05:00
Eh2406
046f47a0c2 add a feature = "serde" 2017-12-17 22:11:11 -05:00
Vinzent Steinberg
7f6d1a12c2 Move quantile tests to external file if possible 2017-11-19 10:50:59 +01:00
Vinzent Steinberg
5656156660 Fix a negative underflow when calculating quantiles
Fixes #5.
2017-11-19 10:31:00 +01:00
Vinzent Steinberg
57f9d13434 Merge branch 'percentile-99-9' of https://github.com/niklasf/average into panic 2017-11-19 10:17:59 +01:00
Vinzent Steinberg
6568725139 Merge branch 'master' of https://github.com/vks/average 2017-11-19 10:13:41 +01:00
Niklas Fiekas
f7ee0b1127 Panic when using quantile close to 1 2017-11-18 12:22:58 +01:00
Eric Culp
d8d171e025 Fix compile on 32-bit
Fix #3
2017-11-12 16:42:48 -08:00
Eh2406
b8d31c80ee clarify types for rust/pull/44287 2017-09-13 23:35:53 -04:00
Vinzent Steinberg
dc25fd1687 Add a reference for calculating quantiles 2017-06-27 12:45:04 +02:00
Vinzent Steinberg
0098668d3b Add a reference for calculating moments 2017-06-27 12:40:09 +02:00
Vinzent Steinberg
9daef2c101 Add missing file 2017-06-27 09:58:37 +02:00
Vinzent Steinberg
5d6d67bac9 Move add and merge to trait
This should make it possible to write more generic code.
2017-06-25 15:39:12 +02:00
Vinzent Steinberg
d5b3fc80ab More code deduplication 2017-06-23 17:43:42 +02:00
Vinzent Steinberg
9313307ae9 Reduce code duplication by using a macro 2017-06-23 16:47:11 +02:00
Vinzent Steinberg
2012479430 Document what is implemented by concatenate 2017-06-21 19:41:25 +02:00
Vinzent Steinberg
9b055e4c0b Make sure concatenate inlines 2017-06-21 19:35:17 +02:00
Vinzent Steinberg
fd72100913 Improve documentation 2017-06-21 19:34:51 +02:00
Vinzent Steinberg
f698e4dc50 Improve concatenate to support several statistics from one estimator 2017-06-21 19:29:25 +02:00
Vinzent Steinberg
2b960310ce Implement Default for Quantile 2017-06-21 19:23:53 +02:00
Vinzent Steinberg
01157da831 Macro for concatenating iterative estimators 2017-06-21 18:05:54 +02:00
Vinzent Steinberg
83aa052040 Fix a clippy warning 2017-05-30 11:18:25 +02:00
Vinzent Steinberg
20521ac22c Disable some noisy clippy warnings 2017-05-30 10:54:14 +02:00
Vinzent Steinberg
d68a138d86 Implement Default for Min and Max 2017-05-30 10:43:57 +02:00
Vinzent Steinberg
eafe23b568 Add example 2017-05-29 00:58:25 +02:00
Vinzent Steinberg
c6f3bb6d99 Use mean instead of average in docs 2017-05-29 00:42:33 +02:00
Vinzent Steinberg
0705c3f61f Fix typo 2017-05-29 00:40:16 +02:00
Vinzent Steinberg
80e92f6176 Update documentation 2017-05-29 00:39:33 +02:00
Vinzent Steinberg
b8e980d6ce Implement kurtosis
Also improve skewness tests.
2017-05-28 23:33:16 +02:00
Vinzent Steinberg
4f5ddbd6e9 Implement skewness and add missing inline annotations 2017-05-28 22:37:48 +02:00
Vinzent Steinberg
978f6ec10e Make increment and add_inner private
They mess up invariants if not used correctly and don't have to be public
anymore.
2017-05-28 21:15:59 +02:00
Vinzent Steinberg
30622be775 Rename average to mean for consistency 2017-05-28 21:13:47 +02:00
Vinzent Steinberg
712303b58a Split up moments into one file for each
This anticipates adding skewness.
2017-05-28 21:00:04 +02:00
Vinzent Steinberg
19127cede7 Calculate average in terms of delta/n
This will avoid divisions in the inner loop when calculating higher
moments.
2017-05-28 20:30:05 +02:00
Vinzent Steinberg
9bf56690e6 Make sure quantile works for small samples
Before it was returning wrong results for samples with less than 5
elements.

Also mention that average and quantile will be 0 for empty samples.
2017-05-28 14:03:53 +02:00
Vinzent Steinberg
46c7220c9a Don't use as 2017-05-28 12:45:58 +02:00
Vinzent Steinberg
64a08a073a Panic for invalid p values 2017-05-28 12:44:30 +02:00
Vinzent Steinberg
95a2a1d409 Implement quantile 2017-05-25 15:42:53 +02:00
Vinzent Steinberg
cfab296f58 Improve documentation 2017-05-24 19:45:58 +02:00
Vinzent Steinberg
0d1e1c4f12 Implement Max 2017-05-24 19:17:52 +02:00
Vinzent Steinberg
c1af508205 Inline everything 2017-05-24 19:17:52 +02:00
Vinzent Steinberg
30ea084366 Generalize Min implementation 2017-05-24 19:17:52 +02:00
Vinzent Steinberg
d2ebdc27c3 Implement Min 2017-05-24 19:17:46 +02:00
Vinzent Steinberg
a95ab05c10 Factor out calculation of average
Now it is possible to calculate the average without calculating the
error.
2017-05-24 11:33:15 +02:00
Vinzent Steinberg
962adb91d7 Rename Average to AverageWithError
This anticipates an implementation that does not calculate the error.
2017-05-24 11:32:24 +02:00
Vinzent Steinberg
4fa92eb9e0 Improve performance by making sure add is inlined 2017-05-23 21:10:50 +02:00
Vinzent Steinberg
262d5c88da Improve docs 2017-05-22 18:47:46 +02:00
Vinzent Steinberg
9bb501116d Reduce code duplication 2017-05-22 13:55:11 +02:00
Vinzent Steinberg
77fa8b4ed2 Remove inferior estimate of error of weighted average
It was a biased estimator, while the alternative one isn't.
2017-05-22 13:24:57 +02:00
Vinzent Steinberg
334d8ae9cd Improve documentation 2017-05-19 17:53:54 +02:00
Vinzent Steinberg
ed4c11e31d Improve documentation of different weighted mean standard errors 2017-05-19 16:38:40 +02:00
Vinzent Steinberg
d25f267529 Move some tests from src to tests 2017-05-19 15:54:13 +02:00
Vinzent Steinberg
fbdb247a0e Implement WinCross estimator of standard error of weighted average 2017-05-19 15:38:39 +02:00
Vinzent Steinberg
eb0fa41619 Commit to SPSS estimator of standard error of weighted average
Before we were calculating some quantities not strictly needed for this.
2017-05-19 14:47:00 +02:00
Vinzent Steinberg
34a8aadb35 Implement merge for weighted average 2017-05-16 17:47:00 +02:00
Vinzent Steinberg
e54d4aba8b Calculate standard error of weighted mean
Also improve the documentation a bit.
2017-05-05 20:36:10 +02:00
Vinzent Steinberg
0488d6f105 Implement weighted average 2017-05-05 19:07:03 +02:00
Vinzent Steinberg
068381f366 Refactor code into more files 2017-05-05 17:42:21 +02:00
Vinzent Steinberg
53b44d1a13 Add test comparing to streaming-stats 2017-05-05 16:40:23 +02:00
Vinzent Steinberg
a5aa7df51d Make benchmarks work on stable 2017-05-05 16:20:44 +02:00
Vinzent Steinberg
afd46067a9 Improve documentation 2017-05-05 16:04:51 +02:00
Vinzent Steinberg
c75ffc01f1 Add example 2017-05-05 15:59:50 +02:00
Vinzent Steinberg
562588e438 Rename error to err 2017-05-05 15:49:28 +02:00
Vinzent Steinberg
df8c280d7e More documentation 2017-05-05 15:45:05 +02:00
Vinzent Steinberg
c740a60bf4 Fix a typo and a numerically unstable test 2017-05-05 15:41:41 +02:00
Vinzent Steinberg
3178edcde6 Implement merging of averages 2017-05-05 15:33:02 +02:00
Vinzent Steinberg
b5f542d4a9 Add a reference 2017-05-05 14:18:09 +02:00
Vinzent Steinberg
2b6aa2e37e Refactor algorithm slightly 2017-05-05 14:16:34 +02:00
Vinzent Steinberg
52f9e1e5f0 Clarify names of variances 2017-05-05 14:10:15 +02:00
Vinzent Steinberg
a1e432051e Merge branch 'master' of https://github.com/vks/average 2017-05-05 13:44:02 +02:00
Vinzent Steinberg
665ac26333 Add some benchmarks 2017-05-05 13:22:45 +02:00
Vinzent Steinberg
16b4f48338 Rename avg to mean 2017-05-05 13:17:13 +02:00
Vinzent Steinberg
a98e259f5f Improve example 2017-05-05 13:10:25 +02:00
Vinzent Steinberg
70202725e2 Small improvements 2017-05-05 13:08:34 +02:00
Vinzent Steinberg
08b53db766 Add statistical test 2017-05-04 11:17:50 +02:00
Vinzent Steinberg
c0d559a2a2 Docs, no_std, crate metadata 2017-04-26 20:43:00 +02:00
Vinzent Steinberg
7823ebe622 Initial commit 2017-04-26 20:24:20 +02:00