FSharp.Stats icon indicating copy to clipboard operation
FSharp.Stats copied to clipboard

statistical testing, linear algebra, machine learning, fitting and signal processing in F#

DOI Discord Generic badge GitHub contributors Build status codecov

FSharp.Stats is a multipurpose project for statistical testing, linear algebra, machine learning, fitting and signal processing.


Amongst others, following functionalities are covered:
Descriptive statistics Fitting Interpolation Signal processing
- Measures of central tendency
- Measures of dispersion
- Correlation
- Quantile/Rank
- Distribution
- Linear regression
- Nonlinear regression
- Spline regression
- Goodness of fit
- Polynomial interpolation
- Spline interpolation
- Continuous wavelet transform
- Smoothing filters
- Peak detection
Linear Algebra Machine learning Optimization Statistical testing
- Singular value decomposition - PCA
- Clustering
- Surprisal analysis
- Brent minimization
- Bisection
- t test, H test, etc.
- ANOVA
- Post hoc tests
- q values
- SAM
- RMT

Documentation

Indepth explanations, tutorials and general information about the project can be found here or at fslab. The documentation and tutorials for this library are automatically generated (using the F# Formatting) from *.fsx and *.md files in the docs folder. If you find a typo, please submit a pull request!

Contributing

Please refer to the Contribution guidelines.

Development

to build the project, run either build.cmd or build.sh depending on your OS.

build targets are defined in the modules of /build/build.fsproj.

Some interesting targets may be:

./build.cmd runtests will build the project and run tests ./build.cmd watchdocs will build the project, run tests, and build and host a local version of the documentation. ./build.cmd release will start the full release pipeline.

Library license

The library is available under Apache 2.0. For more information see the License file in the GitHub repository.