Dew Stats Master .NET
RegressTest Routines
Summary
Regression tests.

Unit
Regress

Declaration
Procedure RegressTest(Y, YCalc: TVec; NumPars: Integer; out RegStat: TRegStats; Constant: boolean = True; Weights: TVec = nil);
 Parameter  Description 
Dependant variables. 
YCalc Estimated (calculated) dependant variables. 
Weights Model weights (optional). 
MumPars Number of variables (parameters) in ML model A*b=y (number of columns in A matrix or number of rows in b). 
Constant If true then include intercept term b(0) in calculations. If false, set intercept term b(0) to 0.0. 
RegStat Returns regression statistics parameters. 

Description
Use regression results to calculate basic regression statistics for model:
A*b=Y


Declaration
Procedure RegressTest(Y, YCalc: TVec; ATA: TMtx; out RegStat: TRegStats; Residuals: TVec; BStdDev: TVec; Constant: boolean = True; Weights: TVec = nil);
 Parameter  Description 
Dependant variables. 
YCalc Estimated (calculated) dependant variables. 
ATA Inverse matrix of normal equations i.e [A(T)*A]^-1. 
Weights Model weights (optional). 
Constant If true then include intercept term b(0) in calculations. If false, set intercept term b(0) to 0.0. 
RegStat Returns regression statistics parameters. 

Description
Using regression results the routine calculates additional regression statistical parameters, together with model coefficients standard errors and model errors.
Categories
Regression routines.

Example 1

Perform MLR and use results to calculate additional statistical parameters.
Uses Regress, MtxExpr; procedure Example; var y,b,w,yhat: Vector; A, ATA : Matrix; RegStat : TRegStats; begin A.SetIt(4,2,false,[1.0, 2.0, -3.2, 2.5, 8.0, -0.5, -2.2, 1.8]); // independent variables w.SetIt(false,[1,2,2,1]); // weights y.SetIt(false,[-3.0, 0.25, 8.0, 5.5]); // dependent variables MulLinRegress(y,A,b,w,true,yhat,ATA); //do regression // b=(19.093757944, -2.0141843616, -10.082487055) RegressTest(y,yhat,V,RegStat,w); // do basic regression stats // RegStat = (ResidualVar:0.037230395108; R2:0.99965713428; // AdjustedR2:0.99897140285; F:1457.7968725; SignifProb: 0.01851663347) end;
#include "MtxVecCpp.h" #include "Regress.hpp" void _fastcall Example() { Matrix A,ATA: Vector y,b,w,yhat,res,bse; TRegStats rs; // independent variables A->SetIt(4,2,false,OPENARRAY(TSample,(1.0, 2.0, -3.2, 2.5, 8.0, -0.5, -2.2, 1.8))); w->SetIt(false,OPENARRAY(TSample,(1,2,2,1))); // weights y->SetIt(false,OPENARRAY(TSample,(-3.0, 0.25, 8.0, 5.5))); // dependent variables MulLinRegress(y,A,b,w,true,yhat,ATA); //do regression // b=(19.093757944, -2.0141843616, -10.082487055) RegressTest(y,yhat,ATA,RegStat,res,bse,true,w); // do basic regression stats // RegStat = (ResidualVar:0.037230395108; R2:0.99965713428; // AdjustedR2:0.99897140285; F:1457.7968725; SignifProb: 0.01851663347) }
using Dew.Math; using Dew.Stats.Units; using Dew.Stats; namespace Dew.Examples { private void Example() { Matrix A = new Matrix(0,0); Matrix ATA = new Matrix(0,0); Vector y = new Vector(0); Vector b = new Vector(0); Vector w = new Vector(0); Vector b = new Vector(0); Vector res = new Vector(0); Vector bse = new Vector(0); // independent variables A.SetIt(4,2,false, new double[] {1.0, 2.0, -3.2, 2.5, 8.0, -0.5, -2.2, 1.8}); w.SetIt(false, new double[] {1,2,2,1}); // weights y.SetIt(false, new double[] {-3.0, 0.25, 8.0, 5.5}); // dependent variables TRegStats rs = MulLinRegress(y,A,b,w,true,yhat,ATA); //do regression // b=(19.093757944, -2.0141843616, -10.082487055) RegressTest(y,yhat,ATA,out RegStat,res,bse,true,w); // do basic regression stats // RegStat = (ResidualVar:0.037230395108; R2:0.99965713428; // AdjustedR2:0.99897140285; F:1457.7968725; SignifProb: 0.01851663347) } }

Copyright 2008 Dew Research
http://www.dewresearch.com