ISmGrangerTest.MissingData

Синтаксис Fore

MissingData: IMissingData;

Синтаксис Fore.NET

MissingData: Prognoz.Platform.Interop.Stat.SlMissingData;

Описание

Свойство MissingData определяет метод обработки пропусков.

Комментарии

По умолчанию обработка пропусков не выполняется.

Пример Fore

Добавьте ссылку на системную сборку Stat.

Sub UserProc;
Var
    GrangerCT: ISmGrangerTest;
    y: Array[
10,4Of Double;
    res, i, j: Integer;
    ResValue: Array 
Of Integer;
    PValue, TStat: Array 
Of Double;
Begin
    GrangerCT := 
New SmGrangerTest.Create;
    
// значения Y
    y[00] := 6209;  y[01] := 4110;  y[02] := 3415;  y[03] := 2822;
    y[
10] := 6385;  y[11] := 4280;  y[12] := 3673;  y[13] := 3023;
    y[
20] := 6752;  y[21] := 4459;  y[22] := 4013;  y[23] := 3131;
    y[
30] := 6837;  y[31] := 4545;  y[32] := 4278;  y[33] := 3351;
    y[
40] := 6495;  y[41] := 4664;  y[42] := 4577;  y[43] := 3463;
    y[
50] := 6907;  y[51] := 4861;  y[52] := 5135;  y[53] := Double.Nan;
    y[
60] := 7349;  y[61] := 5195;  y[62] := 5388;  y[63] := 3815;
    y[
70] := 7213;  y[71] := 5389;  y[72] := 5610;  y[73] := 3960;
    y[
80] := 7061;  y[81] := 5463;  y[82] := 5787;  y[83] := 4119;
    y[
90] := 7180;  y[91] := 5610;  y[92] := 6181;  y[93] := 4351;
    GrangerCT.Data := y;
    GrangerCT.Lag := 
1;
    GrangerCT.ConfidenceLevel := 
0.05;

    GrangerCT.MissingData.Method := MissingDataMethod.SampleAverage;
    GrangerCT.MissingData.MethodParameter := 
1000;
    res := GrangerCT.Execute;
    Debug.WriteLine(
"Матрица вероятностей:");
    Debug.Indent;
    
For i := 0 To GrangerCT.PValueMatrix.GetUpperBound(1Do
        
For j := 0 To GrangerCT.PValueMatrix.GetUpperBound(2Do
            PValue := GrangerCT.PValueMatrix;
            Debug.Write(PValue[i, j].ToString + 
", ");
        
End For;
        Debug.WriteLine(
" ");
    
End For;
    Debug.Unindent;
    Debug.WriteLine(
"Матрица результатов:");
    Debug.Indent;
    
For i := 0 To GrangerCT.ResValueMatrix.GetUpperBound(1Do
        
For j := 0 To GrangerCT.ResValueMatrix.GetUpperBound(2Do
            ResValue := GrangerCT.ResValueMatrix;
            Debug.Write(ResValue[i, j].ToString + 
", ");
        
End For;
        Debug.WriteLine(
" ");
    
End For;
    Debug.Unindent;
    Debug.WriteLine(
"Матрица статистик Фишера:");
    Debug.Indent;
    
For i := 0 To GrangerCT.TStatMatrix.GetUpperBound(1Do
        
For j := 0 To GrangerCT.TStatMatrix.GetUpperBound(2Do
            TStat := GrangerCT.TStatMatrix;
            Debug.Write(TStat[i, j].ToString + 
", ");
        
End For;
        Debug.WriteLine(
" ");
    
End For;
    Debug.Unindent;
End Sub UserProc;

После выполнения примера в окно консоли будут выведены матрицы вероятностей и результатов и статистик Фишера.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    GrangerCT: ISmGrangerTest;
    y: Array[4,10Of Double;
    res, i, j: Integer;
    PValue, ResValue, TStat: System.Array;
Begin
    GrangerCT := New SmGrangerTest.Create();
    // значения Y
    y[00] := 6209;  y[10] := 4110;  y[20] := 3415;  y[30] := 2822;
    y[01] := 6385;  y[11] := 4280;  y[21] := 3673;  y[31] := 3023;
    y[02] := 6752;  y[12] := 4459;  y[22] := 4013;  y[32] := 3131;
    y[03] := 6837;  y[13] := 4545;  y[23] := 4278;  y[33] := 3351;
    y[04] := 6495;  y[14] := 4664;  y[24] := 4577;  y[34] := 3463;
    y[05] := 6907;  y[15] := 4861;  y[25] := 5135;  y[35] := Double.Nan;
    y[06] := 7349;  y[16] := 5195;  y[26] := 5388;  y[36] := 3815;
    y[07] := 7213;  y[17] := 5389;  y[27] := 5610;  y[37] := 3960;
    y[08] := 7061;  y[18] := 5463;  y[28] := 5787;  y[38] := 4119;
    y[09] := 7180;  y[19] := 5610;  y[29] := 6181;  y[39] := 4351;
    GrangerCT.Data := y;
    GrangerCT.Lag := 1;
    GrangerCT.ConfidenceLevel := 0.05;
    GrangerCT.MissingData.Method := MissingDataMethod.mdmSampleAverage;
    GrangerCT.MissingData.MethodParameter := 1000;
    res := GrangerCT.Execute();
    System.Diagnostics.Debug.WriteLine("Матрица вероятностей:");
    System.Diagnostics.Debug.Indent();
    PValue := GrangerCT.PValueMatrix;
    For i := 0 To GrangerCT.PValueMatrix.GetUpperBound(1Do
        For j := 0 To GrangerCT.PValueMatrix.GetUpperBound(0Do
            System.Diagnostics.Debug.Write(PValue[j, i].ToString() + ", ");
        End For;
        System.Diagnostics.Debug.WriteLine(" ");
    End For;
    System.Diagnostics.Debug.Unindent();
    System.Diagnostics.Debug.WriteLine("Матрица результатов:");
    System.Diagnostics.Debug.Indent();
    ResValue := GrangerCT.ResValueMatrix;
    For i := 0 To GrangerCT.ResValueMatrix.GetUpperBound(1Do
        For j := 0 To GrangerCT.ResValueMatrix.GetUpperBound(0Do
            System.Diagnostics.Debug.Write(ResValue[j, i].ToString() + ", ");
        End For;
        System.Diagnostics.Debug.WriteLine(" ");
    End For;
    System.Diagnostics.Debug.Unindent();
    System.Diagnostics.Debug.WriteLine("Матрица статистик Фишера:");
    System.Diagnostics.Debug.Unindent();
    For i := 0 To GrangerCT.TStatMatrix.GetUpperBound(1Do
        For j := 0 To GrangerCT.TStatMatrix.GetUpperBound(0Do
            TStat := GrangerCT.TStatMatrix;
            System.Diagnostics.Debug.Write(TStat[j, i].ToString() + ", ");
        End For;
        System.Diagnostics.Debug.WriteLine(" ");
    End For;
    System.Diagnostics.Debug.Unindent();
End Sub;

См. также:

ISmGrangerTest