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.