Loading [MathJax]/jax/output/HTML-CSS/jax.js
statistics-0.16.3.0: A library of statistical types, data, and functions
Copyright2014 Bryan O'Sullivan
LicenseBSD3
Safe HaskellSafe-Inferred
LanguageHaskell2010

Statistics.Regression

Description

Functions for regression analysis.

Synopsis

Documentation

olsRegress Source #

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

-> 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.
  • , the coefficient of determination (see rSquare for 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)

ols Source #

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

argmin|Axb|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]

rSquare Source #

Arguments

:: Matrix

Predictors (regressors).

-> Vector

Responders.

-> Vector

Regression coefficients.

-> Double 

Compute , 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.

bootstrapRegress Source #

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.