DataLab is a compact statistics package aiming at exploratory data analysis. Please visit the DataLab Web site for more information....


MultiLinReg

Declaration: MultiLinReg (InData: TDouble2DArray; TargetVector: TDoubleArray; var coeffs, deltacoeffs: TDoubleArray): integer;
Calculates the best approximated solution for an overdetermined equation system (more equations than variables). The open array InData contains the array of the independent variables xi, the open array TargetVector contains the values of the dependent variable y.

The function returns a zero value if the result is valid. In this case the coefficients a0 to an of the solution are contained in the open array coeffs.

The open array deltacoeffs reflects the uncertainties of the estimated parameters returned in coeffs. In order to get the standard deviation of the parameters, deltacoeffs has to be multiplied by the standard error of the residuals. The standard error can be calculated by

STDERR.gif

with n = number of observations uses for the model, k = number of variables, Yi = target data, and Yi-hat being the estimated target data.

The equation system to be solved can be denoted as follows (the coefficients ai correspond to the parameter coeffs, the values ym are stored in TargetVector, and the values xmn are taken from the independent variables as defined by InData).

EQUSYST.gif

The function returns the following error codes:

 0 ... everything is OK
-1 ... regression was impossible to compute, results are invalid
-2 ... the data is near singular, do not use the results (numerical instabilities)
-3 ... the TargetVector does not match InData