SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches
RWLeastSqQRPvtCalc Class Reference

Calculates linear regression parameters using QR decomposition with pivoting. More...

#include <rw/analytics/lsqqrpvt.h>

Inheritance diagram for RWLeastSqQRPvtCalc:
RWRegressionCalc< double, double >

Public Member Functions

 RWLeastSqQRPvtCalc ()
 
 RWLeastSqQRPvtCalc (double tol)
 
virtual void calc (const RWGenMat< double > &, const RWMathVec< double > &)
 
virtual RWRegressionCalc< double, double > * clone (void) const
 
virtual bool fail (void) const
 
double getTolerance () const
 
virtual RWCString name (void) const
 
virtual RWMathVec< double > parameters (void) const
 
void setTolerance (double tol)
 
- Public Member Functions inherited from RWRegressionCalc< double, double >
 RWRegressionCalc ()
 
virtual void addObsToBaseCalc (const RWAddObservations< double, double > &dataChange)
 
virtual void addPredToBaseCalc (const RWAddPredictors< double, double > &dataChange)
 
virtual void removeObsFromBaseCalc (const RWRemoveObservations< double, double > &dataChange)
 
virtual void removePredFromBaseCalc (const RWRemovePredictors< double, double > &dataChange)
 
virtual void setBaseCalc (const RWGenMat< double > &r, const RWMathVec< double > &o)
 

Detailed Description

Class RWLeastSqQRPvtCalc implements the calculation of linear regression parameters using QR decomposition with pivoting, as described in Section 5.5.1.2, "RWLeastSqQRPvtCalc" in the Business Analysis Module User's Guide.

Synopsis
#include <rw/analytics/lsqqrpvt.h>
Calculates linear regression parameters using QR decomposition with pivoting.
Definition lsqqrpvt.h:68
virtual void calc(const RWGenMat< double > &, const RWMathVec< double > &)
Example
#include <rw/analytics/lsqqrpvt.h>
#include <rw/rstream.h> // Handles proper inclusion of iostream.
int main() {
RWGenMat<double> predictorMatrix =
"5x2 [1.2 2.1 8 7 3 3.2 6.4 4.6 2 2.3]";
RWMathVec<double> observationVector = "[2.5 3.7 1.4 2.3 5.6]";
qrpvt.calc(predictorMatrix, observationVector);
if (!qrpvt.fail()) {
cout << "Model parameters: " << qrpvt.parameters() << endl;
} else {
cout << "Parameter calculation failed." << endl;
}
return 0;
}
A templatized general matrix class.
Definition genmat.h:741
virtual bool fail(void) const
Definition lsqqrpvt.h:115
virtual RWMathVec< double > parameters(void) const
Definition lsqqrpvt.h:104
A templatized vector class.
Definition mathvec.h:667

Constructor & Destructor Documentation

◆ RWLeastSqQRPvtCalc() [1/2]

RWLeastSqQRPvtCalc::RWLeastSqQRPvtCalc ( )

Constructs an RWLeastSqQRPvtCalc object with a tolerance of 0.0. Entries along the diagonal of the R factor of the QR decomposition less than this tolerance are treated as zero. Using this can prevent insignificant entries of R from corrupting your solution.

◆ RWLeastSqQRPvtCalc() [2/2]

RWLeastSqQRPvtCalc::RWLeastSqQRPvtCalc ( double tol)

Constructs an RWLeastSqQRPvtCalc object with the specified tolerance parameter tol. Entries along the diagonal of the R factor of the QR decomposition less than this tolerance are treated as zero. Using this can prevent insignificant entries of R from corrupting your solution.

Member Function Documentation

◆ calc()

virtual void RWLeastSqQRPvtCalc::calc ( const RWGenMat< double > & ,
const RWMathVec< double > &  )
virtual

Calculates the parameters for the regression model. Invoking this method does not affect the state of any existing base calculation.

Implements RWRegressionCalc< double, double >.

◆ clone()

virtual RWRegressionCalc< double, double > * RWLeastSqQRPvtCalc::clone ( void ) const
inlinevirtual

Allocates and creates a clone, or exact copy, of the current instance, and returns a pointer to the copy. Caller is responsible for deleting the returned object.

Implements RWRegressionCalc< double, double >.

◆ fail()

virtual bool RWLeastSqQRPvtCalc::fail ( void ) const
inlinevirtual

Returns false.

Implements RWRegressionCalc< double, double >.

◆ getTolerance()

double RWLeastSqQRPvtCalc::getTolerance ( ) const
inline

Gets the tolerance parameter for the QR decomposition. Entries along the diagonal of the R factor of the QR decomposition that are less than this tolerance are treated as zero. Using this can prevent insignificant entries of R from corrupting your solution.

◆ name()

virtual RWCString RWLeastSqQRPvtCalc::name ( void ) const
inlinevirtual

Returns the name of the calculation method.

Implements RWRegressionCalc< double, double >.

◆ parameters()

virtual RWMathVec< double > RWLeastSqQRPvtCalc::parameters ( void ) const
inlinevirtual

Returns the parameters from the last calculation performed. If the calculation failed, and this method is called, an exception of type RWInternalErr is thrown.

Implements RWRegressionCalc< double, double >.

◆ setTolerance()

void RWLeastSqQRPvtCalc::setTolerance ( double tol)
inline

Sets the tolerance parameter for the QR decomposition. Entries along the diagonal of the R factor of the QR decomposition that are less than this tolerance are treated as zero. Using this can prevent insignificant entries of R from corrupting your solution.

Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.