forked from clbustos/distribution
-
Notifications
You must be signed in to change notification settings - Fork 0
translunar/distribution
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= distribution * https://github.com/clbustos/distribution == DESCRIPTION: Statistical Distributions library. Includes Normal univariate and bivariate, T, F, Chi Square, Binomial, Hypergeometric, Exponential and Poisson. Uses Ruby by default and C (statistics2/GSL) or Java extensions where available. Includes code from statistics2 on Normal, T, F and Chi Square ruby code [http://blade.nagaokaut.ac.jp/~sinara/ruby/math/statistics2] == FEATURES/PROBLEMS: * Very fast ruby 1.8.7/1.9.+ implementation, with improved method to calculate factorials and others common functions * All methods tested on several ranges. See spec/ * On Jruby and Rubinius, BivariateNormal returns incorrect pdf * Ruby t distribution's cdf can't calculate fractional df. Install gsl, for now. == API structure Distribution::<name>.(cdf|pdf|p_value|rng) On discrete distributions, exact Ruby implementations of pdf, cdf and p_value could be provided, using Distribution::<name>.exact_(cdf|pdf|p_value) module Distribution::Shorthand provides (you guess?) shortands method to call all methods <Distribution shortname>_(cdf|pdf|p|r) On discrete distributions, exact cdf, pdf and p_value are <Distribution shortname>_(ecdf|epdf|ep) Shortnames for distributions: * Normal: norm * Bivariate Normal: bnor * T: tdist * F: fdist * Chi Square: chisq * Binomial: bino * Hypergeometric: hypg * Exponential: expo * Poisson: pois For example Distribution::T.cdf could be called after including Distribution::Shorthand tdist_cdf == SYNOPSIS: # Returns Gaussian PDF for x pdf=Distribution::Normal.pdf(x) # Returns Gaussian CDF for x cdf=Distribution::Normal.cdf(x) # Returns inverse CDF (or p-value) for x pv =Distribution::Normal.p_value(x) == REQUIREMENTS: I try to provide a Ruby version for each method. To increase (notably!) the speed, please install * Ruby 1.8-1.9: gsl or statistics2 * Java: Apache Math (not yet implemented) == INSTALL: gem install distribution To speep up gem install gsl gem install statistics == DEVELOPERS: After checking out the source, run: $ rake newb This task will install any missing dependencies, run the tests/specs, and generate the RDoc. If you want to provide a new distribution, /lib/distribution run $ distribution --new your_distribution This should create the main distribution file, the directory with ruby and gsl engines and the rspec on /spec directory. == LICENSE: GPL V2
About
Statistical Distributions multi library wrapper. Uses Ruby by default and C (statistics2/GSL) or Java extensions where available.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Ruby 100.0%