FSharp.Stats
statistical testing, linear algebra, machine learning, fitting and signal processing in F#
Install / Use
/learn @fslaborg/FSharp.StatsREADME
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
- <a href="https://fslab.org/FSharp.Stats/BasicStats.html">Measures of central tendency</a>
- <a href="https://fslab.org/FSharp.Stats/BasicStats.html">Measures of dispersion</a>
- <a href="https://fslab.org/FSharp.Stats/Correlation.html">Correlation</a>
- <a href="https://fslab.org/FSharp.Stats/Quantiles.html">Quantile/Rank</a>
- <a href="https://fslab.org/FSharp.Stats/Distributions.html">Distribution</a>
Fitting
- <a href="https://fslab.org/FSharp.Stats/Fitting.html#Linear-Regression">Linear regression</a>
- <a href="https://fslab.org/FSharp.Stats/Fitting.html#Simple-Linear-Regression">Simple linear regression (weighted and constrained)</a>
- <a href="https://fslab.org/FSharp.Stats/Fitting.html#Polynomial-Regression">Polynomial regression (weighted and constrained)</a>
- <a href="https://fslab.org/FSharp.Stats/Fitting.html#Nonlinear-Regression">Nonlinear regression</a>
- <a href="https://fslab.org/FSharp.Stats/Fitting.html#Smoothing-spline">Spline regression</a>
- <a href="https://fslab.org/FSharp.Stats/GoodnessOfFit.html">Goodness of fit</a>
Interpolation
- <a href="https://fslab.org/FSharp.Stats/Interpolation.html#Polynomial-Interpolation">Linear spline interpolation</a>
- <a href="https://fslab.org/FSharp.Stats/Interpolation.html#Polynomial-Interpolation">Polynomial interpolation</a>
- <a href="https://fslab.org/FSharp.Stats/Interpolation.html#Cubic-interpolating-Spline">Cubic spline interpolation</a>
- <a href="https://fslab.org/FSharp.Stats/Interpolation.html">Akima subspline interpolation</a>
- <a href="https://fslab.org/FSharp.Stats/Interpolation.html">Hermite subspline interpolation</a>
Signal processing
- <a href="https://fslab.org/FSharp.Stats/Signal.html#Continuous-Wavelet">Continuous wavelet transform</a>
- <a href="https://fslab.org/FSharp.Stats/Signal.html">Smoothing filters</a>
- Peak detection
Linear Algebra
- Singular value decomposition
Machine learning
- <a href="https://fslab.org/FSharp.Stats/ML.html">PCA</a>
- <a href="https://fslab.org/FSharp.Stats/Clustering.html">Clustering</a>
- Surprisal analysis
Optimization
- Brent minimization
- Bisection
- Nelder Mead
Statistical testing
- <a href="https://fslab.org/FSharp.Stats/Testing.html#T-Test">t test</a>, <a href="https://fslab.org/FSharp.Stats/Testing.html#H-Test">H test</a>, etc.<br>
- <a href="https://fslab.org/FSharp.Stats/Testing.html#Anova">ANOVA</a><br>
- <a href="https://fslab.org/FSharp.Stats/Testing.html#PostHoc">Post hoc tests</a><br>
- <a href="https://fslab.org/FSharp.Stats/Testing.html#Q-Value">q values</a><br>
- <a href="https://fslab.org/FSharp.Stats/Testing.html#SAM">SAM</a><br>
- 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 runtestswill build the project and run tests./build.cmd watchdocswill build the project, run tests, and build and host a local version of the documentation../build.cmd releasewill 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.
Citation
FSharp.Stats can be cited using its zenodo record.
Global FSharp.Stats reference:
Benedikt Venn, Lukas Weil, Kevin Schneider, David Zimmer & Timo Mühlhaus. (2022). fslaborg/FSharp.Stats. Zenodo. https://doi.org/10.5281/zenodo.6337056
Latest release reference (0.5.0):
Benedikt Venn, Lukas Weil, Kevin Schneider, David Zimmer & Timo Mühlhaus. (2023). fslaborg/FSharp.Stats: Release 0.5.0 (0.5.0). Zenodo. https://doi.org/10.5281/zenodo.8215188
