Overload List
| # | Signature | Description |
|---|---|---|
| 1 | procedure PCRegress(const Y: TVec; const A: TMtx; const b: TVec; const Weights: TVec; const YCalc: TVec; const Bse: TVec; NumOmmit: Integer); | Weighted PC regression. |
| 2 | procedure PCRegress(const Y: TVec; const A: TMtx; const b: TVec; const YCalc: TVec; const Bse: TVec; NumOmmit: Integer); | Principal Component Regression. |
Overload 1: procedure PCRegress(const Y: TVec; const A: TMtx; const b: TVec; const Weights: TVec; const YCalc: TVec; const Bse: TVec; NumOmmit: Integer);
Weighted PC regression.
| # | Name | Description |
|---|---|---|
| 1 | Y | Defines vector of dependant variable. |
| 2 | A | Defines matrix of independant variables. |
| 3 | b | Returns calculated regression coefficiens. |
| 4 | Weights | Defines weights for PC regression. |
| 5 | YCalc | Returns vector of calculated dependant variable, where YCalc = A*b + constant term. |
| 6 | Bse | Returns principal component b coefficient standard error. |
| 7 | NumOmmit | Defines the number of variables to ommit from initial model. |
Result: stored in self (calling object)
Overload 2: procedure PCRegress(const Y: TVec; const A: TMtx; const b: TVec; const YCalc: TVec; const Bse: TVec; NumOmmit: Integer);
Principal Component Regression.
| # | Name | Description |
|---|---|---|
| 1 | Y | Defines vector of dependant variable. |
| 2 | A | Defines matrix of independant variables. |
| 3 | NumOmmit | Defines the number of variables to ommit from initial model. |
| 4 | b | Returns calculated regression coefficiens. |
| 5 | YCalc | Returns vector of calculated dependant variable, where YCalc = A*b + constant term. |
| 6 | Bse | Returns principal component b coefficient standard error. |
Result: stored in self (calling object)
Remarks:
Performs unweighted Principal Component Regression (PCR). PCR is a technique for analyzing multiple regression data that suffer from multicollinearity. When multicollinearity occurs, least squares estimates are unbiased, but their variances are large so they may be far from the true value. By adding a degree of bias to the regression estimates, principal components regression reduces the standard errors. The algorithm first standardizes A matrix and performs PC regression on standardized matrix.
Examples
Uses MtxExpr, Regress, StatTools, Math387;
procedure Example;
var y,b,ycalc,error: Vector;
A,ATA: Matrix;
mse: double;
begin
// Load data
A.SetIt(18,3,false,[1, 2, 1,
2, 4, 2,
3, 6, 4,
4, 7, 3,
5, 7, 2,
6, 7, 1,
7, 8, 1,
8, 10, 2,
9, 12, 4,
10, 13, 3,
11, 13, 2,
12, 13, 1,
13, 14, 1,
14, 16, 2,
15, 18, 4,
16, 19, 3,
17, 19, 2,
18, 19, 1]);
Y.SetIt([3,9,11,15,13,13,17,21,25,27,25,27,29,33,35,37,37,39]);
// Perform Principal Component Regression
PCRegress(y,A,b,ycalc,nil,1);
// Errors
error.Sub(ycalc,y);
end;
See Also: Regress.RidgeRegress