Libraries containing math related functions in scala.
Provides probability distributions (similar to Breeze), and other utilities for analysis.
Further details are available at the "github pages" branch for the project located at:
This library is a hobby project, and is only occasionally worked on. It serves several purposes for me.
-
To gradually document a variety of ideas I'm learning in relation to probability and statistics.
-
To provide a sandpit to experiment with those ideas and to get to grips with the mathematics behind those ideas.
-
To experiment with implementing those ideas in a software library form.
Part of this is experimenting with library design, or to simply attempt an implementation of an algorithm in order to get to grips with the mechanics behind it. Alot of it is reading, reading other material, attempting to unravel and capture some form of it.
The library will change over time, and progress will be limited by other activities. This library is not intended as a stable production library, and is experimental in nature.
If you're cloning it and modifying it, it'd be great to receive constructive feedback, so let me know (there seems to be alot of regular clones of the repo).
It's not necessarily going to be as robust as other tools with large numbers of maintainers, so as its only a single maintainer experimenting with these methods, you may need to experimentally compare outcomes with other more mature projects. The accuracy of this project is likely to have a high margin of error in comparison to tools such as GSL, R, SciPy, Scalalab or Matlab.
The build process can be achieved via:
sbt compile package publishLocal
This gets around an issue with finding dependencies between projects during the cross compile phase. Then to produce the cross compiled assemblies.
sbt +assembly
Note the build process is currently dependent on jdk8. Using jenv is a good way to manage multiple java versions on a single environment.
jenv versions
jenv local 1.8
The documentation consists both of API documentation and some of this information is extracted into separate notes and examples.
The api documentation can be generated via the task
sbt mathFormulaInDoc
Notes on Linear Regression
Notes on Logistic Regression
Notes on Bayesian Linear Regression
Notes on Bayesian Regression applied to estimation of Project durations
Notes on Neural Network Regression
Notes on ANOVA
Notes on MANOVA
Testing assumptions of Multivariate Normality
Canonical Discriminant Analysis
Quadratic Discriminant Functions
Notes on Hidden Markov Model
Notes on Singular Value Decomposition and Latent Semantic Indexing