Arthur POULET 69f3647119 | ||
---|---|---|
spec | ||
src | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
shard.yml |
README.md
stats
An expressive implementation of statistical distributions. Compatible with crystal v0.23
Installation
Add this to your application's shard.yml
:
dependencies:
Stats:
github: Nephos/stats
Usage
Include it
require "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
- Fork it ( https://github.com/Nephos/stats/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- Nephos Arthur Poulet - creator, maintainer