Linear regression between two samples, based on the 'statistics' package.

LTS Haskell 6.30:0.3
Stackage Nightly 2016-05-25:0.3
Latest on Hackage:0.3
Maintained by Alp Mestanogullari

Module documentation for 0.3

Provides functions to perform a linear regression between 2 samples, see the documentation of the linearRegression functions. This library is based on the statistics package.

  • 0.3: you can now use all functions on any instance of the Vector class (not just unboxed vectors).

  • 0.2.4: added distribution estimations for standard regression parameters.

  • 0.2.3: added robust-fit support.

  • 0.2.2: added the Total-Least-Squares version and made some refactoring to eliminate code duplication

  • 0.2.1: added the r-squared version and improved the performances.

Code sample:

import qualified Data.Vector.Unboxed as U

test :: Int -> IO ()
test k = do
  let n = 10000000
  let a = k*n + 1
  let b = (k+1)*n
  let xs = U.fromList [a..b]
  let ys = (\x -> x*100 + 2000) xs
  -- thus 100 and 2000 are the alpha and beta we want
  putStrLn "linearRegression:"
  print $ linearRegression xs ys

The r-squared and Total-Least-Squares versions work the same way.

comments powered byDisqus