IMsLinearRegressionTransform.Explanatories

Syntax

Explanatories: IMsCompositeFormulaTermList;

Description

The Explanatories property returns an object that contains the collection of terms used in model calculation.

Example

Executing the example requires that the repository contains a modeling container with the KONT_MODEL identifier. The container contains the Var_1 variable, further used as an output one.

Sub Main;

Var

MB: IMetabase;

CrInf: IMetabaseObjectCreateInfo;

MObj: IMetabaseObject;

Model: IMsModel;

Trans: IMsFormulaTransform;

Varr: IMsVariable;

VarTrans: IMsFormulaTransformVariable;

Tree: IMsFormulaTransformSlicesTree;

Slice: IMsFormulaTransformSlice;

Selector: IMsFormulaTransformSelector;

Formula: IMsFormula;

LinReg: IMsLinearRegressionTransform;

TransVar: IMsFormulaTransformVariable;

ComposForm: IMsCompositeFormulaTermList;

ComposTerm: IMsCompositeFormulaTerm;

TermX1, TermX2: IMsFormulaTerm;

Begin

MB := MetabaseClass.Active;

//create a model

CrInf := Mb.CreateCreateInfo;

CrInf.ClassId := MetabaseObjectClass.KE_CLASS_MSMODEL;

CrInf.Id := "New_LinReg";

CrInf.Name := "New_LinReg";

CrInf.Parent := Mb.ItemById("KONT_MODEL");

MObj := Mb.CreateObject(CrInf).Edit;

Model := MObj As IMsModel;

Trans := Model.Transform;

// add output variable

Varr := MB.ItemByIdNamespace("Var_1", MB.ItemById("KONT_MODEL").Key).Bind As IMsVariable;

Model.Output.Add(Varr);

VarTrans := Trans.Outputs.Item(0);

Tree := VarTrans.SlicesTree(VarTrans);

Slice := Tree.CreateSlice(1);

Selector := Model.Transform.CreateSelector;

Selector.Slice := Slice;

Formula := Model.Transform.Transform(Selector);

Formula.Kind := MsFormulaKind.LinearRegression;

LinReg := Formula.Method As IMsLinearRegressionTransform;

//adding a factor

Varr := MB.ItemByIdNamespace("Var_Factor", MB.ItemById("KONT_MODEL").Key).Bind As IMsVariable;

Model.Input.Add(Varr);

TransVar := Model.Transform.Inputs.Item(0);

ComposForm := LinReg.Explanatories;

ComposTerm := ComposForm.Add;

Slice := TransVar.SlicesTree(Null).CreateSlice(1);

TermX1 := ComposTerm.Operands.Add(Slice);

Slice := TransVar.SlicesTree(Null).CreateSlice(2);

TermX2 := ComposTerm.Operands.Add(Slice);

ComposTerm.Expression.AsString := Trans.SliceToTerm(TermX1.Slice, TermX1.Lag.AsString) + "/" + Trans.SliceToTerm(TermX2.Slice, TermX2.Lag.AsString);

MObj.Save;

End Sub Main;

After executing the example, a new model is created in the modeling container. The output variable and one factor are added to the created model. For the equation of model the composite term that contains two terms, referring to slices of the first input variable, is created. The method of linear regression is used for model calculation.

See also:

IMsLinearRegressionTransform