Go to file
Arthur POULET 7b82b989bc Dump version v0.2.2 2018-10-17 10:01:59 +02:00
spec Update specs to 0.24.1 2018-02-03 16:31:14 +01:00
src change require big_int or big_float to big 2018-02-03 22:46:54 +09:00
.gitignore Initialize the repository 2016-06-27 15:39:37 +02:00
.travis.yml Initialize the repository 2016-06-27 15:39:37 +02:00
CHANGELOG.md Improve normale distribution and update v0.1.6 2016-07-01 01:09:21 +02:00
LICENSE Change LICENSE to GPL-3.0 2017-04-13 22:42:05 +01:00
README.md Update and fix the README 2018-08-13 14:41:37 +02:00
shard.yml Dump version v0.2.2 2018-10-17 10:01:59 +02:00

README.md

stats

An expressive implementation of statistical distributions. Compatible with crystal v0.26.1

Installation

Add this to your application's shard.yml:

dependencies:
  stats:
    github: Nephos/stats

Usage

Include it

require "stats"
include Stats

Normal distribution

NormaleDistribution.between # less_than, greater_than
  standard_deviation: 15,
  esperance: 100,
  min: 85,
  max: 115
  # => 0.6826894921370859

Binomial distribution

Math.binomial_distribution(
  tries: 3,
  probability: 0.5,
  success: 1)
  # => 0.375

Binomial coefficient

Math.coef_binomial(5, 2) # => 10

Factorial

Math.factorial(4) # => 24

Radian and degree

90.radian # => (Math::PI / 2)
(Math::PI / 4) # => 45.0

Series & Statistics

[1, 2, 3].mean # => 2.0
[1, 2, 3].variance # => 0.6667
[1, 2, 3].standard_deviation # => 0.8165
[1, 2, 3].quadratic_mean # => 2.16
[2, 32].geometric_mean # => 8.0
[40, 60].harmonic_mean # => 48.0
[1,2,3,2,1].macd 3 # => [2.0, 2.333, 2.0]

Correlations

[1,2,3,4].covariance [4,2,1,0] # => -1.625
[1,2,3,4].correlation_coef [1,2,3,3] + 1 > 1.5 # => true
[1,2,3,4].correlation_coef [-14,14,101,-100] + 1 > 1.5 # => false

Development

  • The lib is adapted to be usable with BigInt and BigFloat values

Contributing

  1. Fork it ( https://github.com/Nephos/stats/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • Nephos Arthur Poulet - creator, maintainer