SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Member Functions
RWLinearRegressionANOVA Class Reference

Provides information on the variance of residual errors for a linear regression model. More...

#include <rw/analytics/lranova.h>

Public Member Functions

 RWLinearRegressionANOVA ()
 
 RWLinearRegressionANOVA (const RWLinearRegressionANOVA &a)
 
 RWLinearRegressionANOVA (const RWLinearRegression &lr)
 
double adjRSquare () const
 
double FStatistic () const
 
double FStatisticCriticalValue (double alpha=.05) const
 
double FStatisticPValue () const
 
double meanSquareRegression () const
 
double meanSquareResidual () const
 
RWLinearRegressionANOVAoperator= (const RWLinearRegressionANOVA &lra)
 
int regressionDegreesOfFreedom () const
 
double regressionSumOfSquares () const
 
int residualDegreesOfFreedom () const
 
double residualSumOfSquares () const
 
double RSquare () const
 
void setLinearRegression (const RWLinearRegression &lr)
 

Detailed Description

ANOVA stands for analysis of variance. For the Linear Algebra Module class RWLinearRegressionANOVA, the analyzed variance is the variance of residual errors in a linear regression model, also known as the regression's goodness of fit.

Once an instance of RWLinearRegressionANOVA is constructed with a linear regression model, it can be queried for values related to goodness of fit, including the residual sum of squares, the coefficient of determination, and the F statistic.

Synopsis
#include <rw/math/genmat.h>
#include <rw/math/mathvec.h>
#include <rw/analytics/linregress.h>
#include <rw/analytics/lranova.h>
RWGenMat<double> predictorMatrix;
RWMathVec<double> observationVector;
RWLinearRegression lr(predictorMatrix, observationVector);
Example
#include <rw/analytics/linregress.h>
#include <rw/analytics/lranova.h>
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]";
RWLinearRegression lr(predictorMatrix, observationVector);
cout << "f statistic: " << lranova.FStatistic() <<
endl;
cout << "f statistic P-value: " << lranova.FStatisticPValue()
<< endl;
cout << "mean square residual " <<
lranova.meanSquareResidual() << endl;
cout << "mean square regression " <<
lranova.meanSquareRegression() << endl;
cout << "Rsquare: " << lranova.RSquare() << endl;
cout << "adjusted Rsquare: " << lranova.adjRSquare() <<
endl;
return 0;
}

Constructor & Destructor Documentation

RWLinearRegressionANOVA::RWLinearRegressionANOVA ( )

Constructs an empty ANOVA object. Behavior undefined.

RWLinearRegressionANOVA::RWLinearRegressionANOVA ( const RWLinearRegressionANOVA a)

Constructs a copy of a.

RWLinearRegressionANOVA::RWLinearRegressionANOVA ( const RWLinearRegression lr)

Constructs an ANOVA object for the linear regression lr.

Member Function Documentation

double RWLinearRegressionANOVA::adjRSquare ( ) const
inline

Returns the adjusted coefficient of determination as defined by the following formula:

\[ R_{adj}^2 = 1.0 - \frac{\displaystyle\sum_{i=1}^{n}(Y_i - \hat{Y}_i)^2 / (n - p - 2)}{\displaystyle\sum_{i=1}^{n}(Y_i - \overline{Y})^2 / (n - 1)} \]

double RWLinearRegressionANOVA::FStatistic ( ) const
inline

Returns the overall F statistic for the model as defined in Section 3.2, "Multiple Linear Regression," in the Business Analysis Module User's Guide.

double RWLinearRegressionANOVA::FStatisticCriticalValue ( double  alpha = .05) const
inline

Returns the alpha level critical value for the overall F statistic.

double RWLinearRegressionANOVA::FStatisticPValue ( ) const
inline

Returns the P-value for the overall F statistic.

double RWLinearRegressionANOVA::meanSquareRegression ( ) const
inline

Returns the quotient of the regression sum of squares and the number of degrees of freedom for the regression.

double RWLinearRegressionANOVA::meanSquareResidual ( ) const
inline

Returns the quotient of the residual sum of squares, RSS, and the number of degrees of freedom for the model.

RWLinearRegressionANOVA& RWLinearRegressionANOVA::operator= ( const RWLinearRegressionANOVA lra)

Copies the contents of lra to self.

int RWLinearRegressionANOVA::regressionDegreesOfFreedom ( ) const
inline

Returns the number of degrees of freedom for the model, defined as 1 less than the number of parameters in the model.

double RWLinearRegressionANOVA::regressionSumOfSquares ( ) const
inline

Returns the quantity \(\displaystyle\sum_{i=1}^{n}(\hat{Y}_i - \overline{Y})^2\) , where \(\overline{Y} = \frac{1}{n}\displaystyle\sum_{i=1}^{n}(Y_i)\)

int RWLinearRegressionANOVA::residualDegreesOfFreedom ( ) const
inline

Returns the residual degrees of freedom, defined as the number of observations minus the number of parameters.

double RWLinearRegressionANOVA::residualSumOfSquares ( ) const
inline

Returns the quantity RSS as defined by

\[ RSS = \displaystyle\sum_{i=1}^{n}(Y_i - \hat{Y}_i)^2 \]

double RWLinearRegressionANOVA::RSquare ( ) const
inline

Returns the coefficient of determination as defined by the following formula:

\[ R^2 = 1.0 - \frac{\displaystyle\sum_{i=1}^{n}(Y_i - \hat{Y}_i)^2} {\displaystyle\sum_{i=1}^{n}(Y_i - \overline{Y})^2} \]

void RWLinearRegressionANOVA::setLinearRegression ( const RWLinearRegression lr)

Sets the linear regression for which the analysis of variance is to be performed.

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.