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