SourcePro® API Reference Guide

 
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 © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.