Logo
Reference manual - version qle_version
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
StabilisedGLLS Class Reference

Numerically stabilised general linear least squares. More...

#include <qle/math/stabilisedglls.hpp>

Public Types

enum  Method { None , MaxAbs , MeanStdDev }
 

Public Member Functions

template<class xContainer , class yContainer , class vContainer >
 StabilisedGLLS (const xContainer &x, const yContainer &y, const vContainer &v, const Method method=MeanStdDev)
 
const Array & transformedCoefficients () const
 
const Array & transformedResiduals () const
 
const Array & transformedStandardErrors () const
 
const Array & transformedError () const
 
const Array & xMultiplier () const
 Transformation parameters (u => (u + shift) * multiplier for u = x, y)
 
const Array & xShift () const
 
const Real yMultiplier () const
 
const Real yShift () const
 
Size size () const
 
Size dim () const
 
template<class xType , class vContainer >
Real eval (xType x, vContainer &v, typename boost::enable_if< typename boost::is_arithmetic< xType >::type >::type *=0)
 evaluate regression function in terms of original x, y
 
template<class xType , class vContainer >
Real eval (xType x, vContainer &v, typename boost::disable_if< typename boost::is_arithmetic< xType >::type >::type *=0)
 evaluate regression function in terms of original x, y
 

Protected Member Functions

template<class xContainer , class yContainer , class vContainer >
void calculate (xContainer x, yContainer y, vContainer v, typename boost::enable_if< typename boost::is_arithmetic< typename xContainer::value_type >::type >::type *=0)
 
template<class xContainer , class yContainer , class vContainer >
void calculate (xContainer x, yContainer y, vContainer v, typename boost::disable_if< typename boost::is_arithmetic< typename xContainer::value_type >::type >::type *=0)
 

Protected Attributes

Array a_
 
Array err_
 
Array residuals_
 
Array standardErrors_
 
Array xMultiplier_
 
Array xShift_
 
Real yMultiplier_
 
Real yShift_
 
Method method_
 
boost::shared_ptr< GeneralLinearLeastSquares > glls_
 

Detailed Description

Numerically stabilised general linear least squares.

The input data is linearly transformed before performing the linear least squares fit. The linear least squares fit on the transformed data is done using the GeneralLinearLeastSquares class.