Regression tests.
Using regression results the routine calculates additional regression statistical parameters, together with model coefficients standard errors and model errors.
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)
}
}