TMtxMulLinReg Class

Header: Dew.Stats/StatTools.h · Cross-compiler
tObjectTMtxComponentTMtxMulLinReg

class TMtxMulLinReg : public TMtxComponent;

Performs multiple linear regression.

Use TMtxMulLinReg component to perform multiple linear regression on dataset. The TMulLinRegress component fits equations to data by minimizing the sum of squared residuals:

SS = Sum [y(k) - ycalc(k)]^2 ,

where y(k) and ycalc(k) are respectively the observed and calculated value of the dependent variable for observation k. ycalc(k) is a function of the regression parameters b(0), b(1) ... Here the observed values obey the following equation:

y(k) = b(0) + b(1) * x(1,k) + b(2) * x(2,k) + ...

i.e

y = A * b

How to use TMtxMulLinReg component?
1. Drop a TMtxMulLinReg component on the form. 2. Define TMtxMulLinReg::A, the matrix of independent variables. 3. Define TMtxMulLinReg::Y, vector of dependent variables. 4. Define TMtxMulLinReg::Weights (optional) vector. 5. If you don't want to use intercept term b(0) in our calculations, set TMtxMulLinReg::Constant property to false, 6. Call the TMtxMulLinReg::Recalc method to trigger calculation.

Results:
1. TMtxMulLinReg::RegressResult : regression coefficients (b), regression coefficients confidence intervals (BConfInt) and standard deviation (BStdDev), residuals (Residuals) and calculated dependent variables (YCalc). 2. TMtxMulLinReg::RegressStatistics : basic regression statistics (R2, Adjusted R2, residuals variance, F statistics, significance probability).

Constructors

NameDescription
TMtxMulLinReg (2)

Destructors

NameDescription
~TMtxMulLinReg

Properties

NameTypeDescription
ATMtx*Matrix of independent variables.
AlphadoubleDesired significant value for the statistical tests.
AutoUpdateboolIf true then changing any of the TMtxMulLinReg properties will trigger the TMtxMulLinReg::Recalc method.
BlockAssignboolBlock streaming of specific properties when storing only a "template".
ConstantboolIntercept term.
DirtyboolWhen any of the TMtxMulLinReg properties changes, this property is automatically set to true.
EditorActiveboolReturns True, if the component editor is displayed.
NameDewString
ReferenceTReferenceList*Stores a list of components that have to be notified, when this component is destroyed.
RegressResultTRegResultClass*Regression results.
RegressStatisticsTRegStatsClass*Regression results statistics.
SolveMethodTRegSolveMethodDefines A*x=b solving method.
UseWeightsboolWeighted multiple linear regression.
WeightsTVec*Weights for MLR.
YTVec*Vector of dependent variables.

Methods

NameDescription
AllowStreamingReturns the negatated value of BlockAssign.
AssignAssign values of all published properties from Source.
AssignTemplateAssign values of "template-like" published properties from Source.
EditorClass
LoadFromStreamLoad the component from Src stream.
LoadTemplateFromFileLoad a template from file.
LoadTemplateFromStreamLoad a template from stream.
RecalcTriggers multiple linear regression recalculation.
ReferenceRemoved
ResetReset is called after loading the data from stream or file.
SaveTemplateToFileSave template to file.
SaveTemplateToStreamSave template to stream.
SaveToStreamSave the component to Dst stream.
ValidSystemChecks if system is valid.

Fields

NameTypeDescription
Tagintptr_t