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 = 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.