ISmBinaryModel.BinaryForecast

Syntax

BinaryForecast: Array;

BinaryForecast: System.Array;

Description

The BinaryForecast property returns a binary forecasting series.

Comments

To get a binary modeling series, use the ISmBinaryModel.BinaryFitted property.

To get a forecasting series, use the ISmBinaryModel.Forecast property.

Example

To execute the example, add a link to the Stat system assembly.

Sub UserProc;
Var
    bm: SmBinaryModel;
    can: Array[9Of Double;
    bin2: Array[5Of Integer;
    i, res: Integer;
    Intercept: IIntercept;
    Explanatories: ISlSeries;
Begin
    bm := New SmBinaryModel.Create;
    // Set values of explanatory series
    can[00] := 6.209; can[05] := 5;
    can[01] := 6.385; can[06] := 6;
    can[02] := 6.29; can[07] := 7;
    can[03] := 6.25; can[08] := 8;
    can[04] := 6.1;
    // Set explained series values
    bin2[00] := 1; bin2[03] := 0;
    bin2[01] := 1; bin2[04] := 0;
    bin2[02] := 0;
   // Set values for the first and the last points of the identification period
    bm.ModelPeriod.FirstPoint := 1;
    bm.ModelPeriod.LastPoint := 5;
    // Set value for the last forecast point
    bm.Forecast.LastPoint := 9;
    // Set model type
    bm.BinaryDistr := BinaryDistrType.Probit;
    // Set value of group division and accuracy
    bm.ClassificationCutOff := 0.5;
    bm.Tolerance := 0.001;
    // Set explained series
    bm.BinaryExplained := bin2;
    // Set explanatory series
    Explanatories := bm.Explanatories;
    Explanatories.Add.Value := can;
    // Set method of calculating the constant
    Intercept := bm.ModelCoefficients.Intercept;
    Intercept.Mode := InterceptMode.AutoEstimate;
    // Perform calculation and display error  messages
    res:=bm.Execute;
    // Display calculation results
    If (res = 0Then
        Debug.WriteLine(" === Modeling series ===");
        For i := 0 To bm.Fitted.Length - 1 Do
            Debug.WriteLine(bm.Fitted[i]);
        End For;
        Debug.WriteLine(" === Binary modeling series ===");
        For i := 0 To bm.BinaryFitted.Length - 1 Do
            Debug.WriteLine(bm.BinaryFitted[i]);
        End For;
        Debug.WriteLine(" === Probability modeling series ===");
        For i := 0 To bm.ProbabilityFitted.Length - 1 Do
            Debug.WriteLine(bm.ProbabilityFitted[i]);
        End For;
        Debug.WriteLine(" === Forecast series ===");
        For i := 0 To bm.Forecast.Value.Length - 1 Do
            Debug.WriteLine(bm.Forecast.Value[i]);
        End For;
        Debug.WriteLine(" === Binary forecasting series ===");
        For i := 0 To bm.BinaryForecast.Length - 1 Do
            Debug.WriteLine(bm.BinaryForecast[i]);
        End For;
        Debug.WriteLine(" === Probability forecasting series ===");
        For i := 0 To bm.ProbabilityForecast.Length - 1 Do
            Debug.WriteLine(bm.ProbabilityForecast[i]);
        End For;
        Debug.WriteLine(
" === Classification quality criteria ===");
        Debug.WriteLine(
"Number of truly positive values: " + bm.RelevanceMeasure.TruePositive.ToString);
        Debug.WriteLine(
"Number of truly negative values: " + bm.RelevanceMeasure.TrueNegative.ToString);
        Debug.WriteLine(
"Number of false positive values: " + bm.RelevanceMeasure.FalsePositive.ToString);
        Debug.WriteLine(
"Number of false positive values: " + bm.RelevanceMeasure.FalseNegative.ToString);
        Debug.WriteLine(
"Overall accuracy: " + bm.RelevanceMeasure.Accuracy.ToString);
        Debug.WriteLine(
"F - estimate: " + bm.RelevanceMeasure.F1.ToString);
        Debug.WriteLine(
"Accuracy of positive result: " + bm.RelevanceMeasure.Precision.ToString);
        Debug.WriteLine(
"Completeness of positive result: " + bm.RelevanceMeasure.Recall.ToString);
        
Else

            Debug.WriteLine(bm.Errors);
    End If
End Sub UserProc;

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    bm: SmBinaryModel;
    can: Array[9Of Double;
    bin2: Array[5Of Integer;
    i, res: Integer;
    Intercept: IIntercept;
    Explanatories: ISlSeries;
    Fitted, BinFitted, ProbFitted, Forecast, BinForecast, ProbForecast: System.Array;
Begin
    bm := New SmBinaryModel.Create();
    // Set values of explanatory series
    can[00] := 6.209; can[05] := 5;
    can[01] := 6.385; can[06] := 6;
    can[02] := 6.29; can[07] := 7;
    can[03] := 6.25; can[08] := 8;
    can[04] := 6.1;
    // Set explained series values
    bin2[00] := 1; bin2[03] := 0;
    bin2[01] := 1; bin2[04] := 0;
    bin2[02] := 0;
   // Set values for the first and the last points of the identification period
    bm.ModelPeriod.FirstPoint := 1;
    bm.ModelPeriod.LastPoint := 5;
    // Set value for the last forecast point
    bm.Forecast.LastPoint := 9;
    // Set model type
    bm.BinaryDistr := BinaryDistrType.bdtProbit;
    // Set value of group division and accuracy
    bm.ClassificationCutOff := 0.5;
    bm.Tolerance := 0.001;
    // Set explained series
    bm.BinaryExplained := bin2;
    // Set explanatory series
    Explanatories := bm.Explanatories;
    Explanatories.Add().Value := can;
    // Set method of calculating the constant
    Intercept := bm.ModelCoefficients.Intercept;
    Intercept.Mode := InterceptMode.imAutoEstimate;
    // Perform calculation and display error  messages
    res:=bm.Execute();
    // Display calculation results
    If (res = 0Then
        System.Diagnostics.Debug.WriteLine(" === Model series ===");
        Fitted := bm.Fitted;
        For i := 0 To bm.Fitted.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(Fitted[i]);
        End For;
        System.Diagnostics.Debug.WriteLine(" === Binary model series ===");
        BinFitted := bm.BinaryFitted;
        For i := 0 To bm.BinaryFitted.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(BinFitted[i]);
        End For;
        System.Diagnostics.Debug.WriteLine(" === Probabilistic model series ===");
        ProbFitted := bm.ProbabilityFitted;
        For i := 0 To bm.ProbabilityFitted.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(ProbFitted[i]);
        End For;
        System.Diagnostics.Debug.WriteLine(" === Forecast series ===");
        Forecast := bm.Forecast.Value;
        For i := 0 To bm.Forecast.Value.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(Forecast[i]);
        End For;
        System.Diagnostics.Debug.WriteLine(" === Binary forecasting series ===");
        BinForecast := bm.BinaryForecast;
        For i := 0 To bm.BinaryForecast.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(BinForecast[i]);
        End For;
        System.Diagnostics.Debug.WriteLine(" === Probabilistic forecasting series ===");
        ProbForecast := bm.ProbabilityForecast;
        For i := 0 To bm.ProbabilityForecast.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(ProbForecast[i]);
        End For;
        System.Diagnostics.Debug.WriteLine(
" === Classification quality criteria ===");
        System.Diagnostics.Debug.WriteLine(
"Number of truly positive values: " + bm.RelevanceMeasure.TruePositive.ToString());
        System.Diagnostics.Debug.WriteLine(
"Number of truly negative values: " + bm.RelevanceMeasure.TrueNegative.ToString());
        System.Diagnostics.Debug.WriteLine(
"Number of false positive values: " + bm.RelevanceMeasure.FalsePositive.ToString());
        System.Diagnostics.Debug.WriteLine(
"Number of false negative values: " + bm.RelevanceMeasure.FalseNegative.ToString());
        System.Diagnostics.Debug.WriteLine(
"Overall accuracy: " + bm.RelevanceMeasure.Accuracy.ToString());
        System.Diagnostics.Debug.WriteLine(
"F - estimate: " + bm.RelevanceMeasure.F1.ToString());
        System.Diagnostics.Debug.WriteLine(
"Accuracy of positive result: " + bm.RelevanceMeasure.Precision.ToString());
        System.Diagnostics.Debug.WriteLine(
"Completeness of positive result: " + bm.RelevanceMeasure.Recall.ToString());
        
Else

            System.Diagnostics.Debug.WriteLine(bm.Errors);
    End If;
End Sub;

After executing the example the console window displays: modeling series, binary modeling series, probabilistic modeling series, forecasting series, binary forecasting series, probabilistic forecasting series and classification quality criteria.

See also:

ISmBinaryModel