| Copyright | 2014 Bryan O'Sullivan | 
|---|---|
| License | BSD3 | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Statistics.Regression
Description
Functions for regression analysis.
Synopsis
- olsRegress :: [Vector] -> Vector -> (Vector, Double)
 - ols :: Matrix -> Vector -> Vector
 - rSquare :: Matrix -> Vector -> Vector -> Double
 - bootstrapRegress :: GenIO -> Int -> CL Double -> ([Vector] -> Vector -> (Vector, Double)) -> [Vector] -> Vector -> IO (Vector (Estimate ConfInt Double), Estimate ConfInt Double)
 
Documentation
Arguments
| :: [Vector] | Non-empty list of predictor vectors.  Must all have
 the same length.  These will become the columns of
 the matrix A solved by   | 
| -> Vector | Responder vector. Must have the same length as the predictor vectors.  | 
| -> (Vector, Double) | 
Perform an ordinary least-squares regression on a set of predictors, and calculate the goodness-of-fit of the regression.
The returned pair consists of:
- A vector of regression coefficients. This vector has one more element than the list of predictors; the last element is the y-intercept value.
 - R², the coefficient of determination (see 
rSquarefor details). 
>>>import qualified Data.Vector.Unboxed as VU>>>:{olsRegress [ VU.fromList [0,1,2,3] ] (VU.fromList [1000, 1001, 1002, 1003]) :} ([1.0000000000000218,999.9999999999999],1.0)
Arguments
| :: Matrix | A has at least as many rows as columns.  | 
| -> Vector | b has the same length as columns in A.  | 
| -> Vector | 
Compute the ordinary least-squares solution to overdetermined linear system \(Ax = b\). In other words it finds
\[ \operatorname{argmin}|Ax-b|^2 \].
All columns of \(A\) must be linearly independent. It's not checked function will return nonsensical result if resulting linear system is poorly conditioned.
>>>import qualified Data.Vector.Unboxed as VU>>>:{ols (fromColumns [ VU.fromList [0,1,2,3] , VU.fromList [1,1,1,1] ]) (VU.fromList [1000, 1001, 1002, 1003]) :} [1.0000000000000218,999.9999999999999]
>>>:{ols (fromColumns [ VU.fromList [0,1,2,3] , VU.fromList [4,2,1,1] , VU.fromList [1,1,1,1] ]) (VU.fromList [1000, 1001, 1002, 1003]) :} [1.0000000000005393,4.2290644612446807e-13,999.9999999999983]
Arguments
| :: Matrix | Predictors (regressors).  | 
| -> Vector | Responders.  | 
| -> Vector | Regression coefficients.  | 
| -> Double | 
Compute R², the coefficient of determination that indicates goodness-of-fit of a regression.
This value will be 1 if the predictors fit perfectly, dropping to 0 if they have no explanatory power.
Arguments
| :: GenIO | |
| -> Int | Number of resamples to compute.  | 
| -> CL Double | Confidence level.  | 
| -> ([Vector] -> Vector -> (Vector, Double)) | Regression function.  | 
| -> [Vector] | Predictor vectors.  | 
| -> Vector | Responder vector.  | 
| -> IO (Vector (Estimate ConfInt Double), Estimate ConfInt Double) | 
Bootstrap a regression function. Returns both the results of the regression and the requested confidence interval values.