@hackage statistics-linreg0.2.2

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

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.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 = U.map (\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.