Scala library for regression modelling (fitting linear and generalised linear statistical models, diagnosing fit, making predictions)
This library is simplest to use with
sbt. You should install
sbt before attempting to use this library.
To use the pre-built binary, add the following lines to your
libraryDependencies += "com.github.darrenjw" %% "scala-glm" % "0.5"
There is a giter8 template for
scala-glm, so using recent versions of SBT you can create a minimal
scala-glm project template with:
sbt new darrenjw/scala-glm.g8
If you just want to try out the library without setting up any kind of project, you can do so with a session like:
$ sbt > set scalaVersion := "2.13.4" > set libraryDependencies += "com.github.darrenjw" %% "scala-glm" % "0.5" > console scala> import scalaglm._
See below for documentation links.
This library has a dependence on Breeze, so if you have a dependence on
scala-glm you don't need to add an additional dependence on Breeze. Some familiarity with Breeze is assumed for effective use of this library.
If you want to use the latest snapshot, add the following to your
libraryDependencies += "com.github.darrenjw" %% "scala-glm" % "0.6-SNAPSHOT" resolvers += "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
Building from source
If building from source, running
sbt console from this directory should give a Scala REPL with a dependence on the library. Running
sbt test will run all tests (but note that an R installation is required for many of the tests, which cross-check results against R). Running
sbt doc will generate ScalaDoc API documentation.
- QuickStart Guide - start with this to get a feeling for what the library can do
- Flexible regression - guide to flexible and non-parametric regression, using orthogonal polynomial, cosine series, and B-spline basis functions
- The examples subdirectory of this repo contains more interesting, self-contained runnable examples
- The example scripts directory contains scripts which can be pasted into the REPL
- API documentation - ScalaDoc (for the most recent snapshot)
- For anyone not very familiar with Scala or Breeze, it may be worth working through my Scala for Statistical Computing short course. This library originated from example code prepared for that course.
This library is Copyright (C) 2017-2021 Darren J Wilkinson, but released as open source software under an Apache 2.0 license.