ISmCointegrationEq.MissingData

Синтаксис Fore

MissingData: IMissingData;

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

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

Описание

Свойство MissingData возвращает параметры обработки пропусков объясняемого ряда.

Комментарии

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

Пример Fore

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

Sub UserProc;
Var
    CointegrEq: ISmCointegrationEq;
    y: Array[11Of Double;
    x1: Array[21Of Double;
    AR_X, AR_Y: Array[1Of Integer;
    CommonEx, LongTerm: Array[1Of Integer;
    Res: Integer;
    Eq: ISlEquation;
    VARStat: IVARStatistics;
Begin
    CointegrEq := New SmCointegrationEq.Create;
    //Эндогенная переменная:
    y[00] := 95;  y[01] := 45;  y[02] := Double.Nan;
    y[03] := -36; y[04] := 10;  y[05] := -15;
    y[06] := 36;  y[07] := -10; y[08] := Double.Nan;
    y[09] := -44; y[10] := -7;
    //Экзогенная переменная:
    x1[00] := 6;  x1[01] := 8;  x1[02] := 10;
    x1[03] := 5;  x1[04] := 3;  x1[05] := 6;
    x1[06] := 3;  x1[07] := 7;  x1[08] := 8;
    x1[09] := 10; x1[10] := 5;  x1[11] := 2;
    x1[12] := 1;  x1[13] := 1;  x1[14] := 3;
    x1[15] := 4;  x1[16] := 7;  x1[17] := 4;
    x1[18] := 7;  x1[19] := 4;  x1[20] := 3;
    Eq := CointegrEq.Equation;
    // Моделируемый ряд:
    Eq.Serie.Value := y;
    // Экзогенная переменная:
    Eq.ExogenousVariables.Add.Value := x1;
    AR_Y[0] := 1;
    AR_X[0] := 0;
    // Порядок авторегрессии эндогенной переменной:
    CointegrEq.SerieAROrder := AR_Y;
    //Порядок авторегрессии экзогенной переменной:
    Eq.AutoRegressionOrder := AR_X;
    // Период идентификации:
    CointegrEq.Period.FirstPoint := 0;
    CointegrEq.Period.LastPoint := 11;
    // Прогноз:
    Eq.Forecast.LastPoint := 21;
    // Включаем первую экзогенную переменную в группу краткосрочных связей
    CommonEx[0] := 0;
    CointegrEq.CommonExogenious := CommonEx;
    // Включаем вторую экзогенную переменную в группу долгосрочных связей
    LongTerm[0] := 0;
    CointegrEq.LongTermExogenious := LongTerm;
    // Обработка пропусков:
    CointegrEq.MissingData.Method := MissingDataMethod.LinTrend;
    // Расчёт модели:
    Res := CointegrEq.Execute;
    If Res = 0 Then
        Debug.WriteLine("=== Значения статистик векторной авторегрессии ===");
        VARStat := CointegrEq.VARStatistics;
        Debug.WriteLine("Определитель ковариационной матрицы:");
        Debug.WriteLine(VARStat.RC);
        Debug.WriteLine("Определитель матрицы ковариаций остатков:");
        Debug.WriteLine(VARStat.RCadj);
        Debug.WriteLine("Логарифм функции правдоподобия:");
        Debug.WriteLine(VARStat.LLV);
        Debug.WriteLine("Информационный критерий Акаике:");
        Debug.WriteLine(VARStat.AIC);
        Debug.WriteLine("Критерий Шварца:");
        Debug.WriteLine(VARStat.SC);
        Else
            Debug.Writeline(CointegrEq.Errors);
    End If;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    CointegrEq: ISmCointegrationEq;
    y: Array[11Of Double;
    x1: Array[21Of Double;
    AR_X, AR_Y: Array[1Of Integer;
    CommonEx, LongTerm: Array[1Of Integer;
    Res: Integer;
    Eq: ISlEquation;
    VARStat: IVARStatistics;
Begin
    CointegrEq := New SmCointegrationEq.Create();
    //Эндогенная переменная:
    y[00] := 95;  y[01] := 45;  y[02] := Double.Nan;
    y[03] := -36; y[04] := 10;  y[05] := -15;
    y[06] := 36;  y[07] := -10; y[08] := Double.Nan;
    y[09] := -44; y[10] := -7;
    //Экзогенная переменная:
    x1[00] := 6;  x1[01] := 8;  x1[02] := 10;
    x1[03] := 5;  x1[04] := 3;  x1[05] := 6;
    x1[06] := 3;  x1[07] := 7;  x1[08] := 8;
    x1[09] := 10; x1[10] := 5;  x1[11] := 2;
    x1[12] := 1;  x1[13] := 1;  x1[14] := 3;
    x1[15] := 4;  x1[16] := 7;  x1[17] := 4;
    x1[18] := 7;  x1[19] := 4;  x1[20] := 3;
    Eq := CointegrEq.Equation;
    // Моделируемый ряд:
    Eq.Serie.Value := y;
    // Экзогенная переменная:
    Eq.ExogenousVariables.Add().Value := x1;
    AR_Y[0] := 1;
    AR_X[0] := 0;
    // Порядок авторегрессии эндогенной переменной:
    CointegrEq.SerieAROrder := AR_Y;
    //Порядок авторегрессии экзогенной переменной:
    Eq.AutoRegressionOrder := AR_X;
    // Период идентификации:
    CointegrEq.Period.FirstPoint := 0;
    CointegrEq.Period.LastPoint := 11;
    // Прогноз:
    Eq.Forecast.LastPoint := 21;
    // Включаем первую экзогенную переменную в группу краткосрочных связей
    CommonEx[0] := 0;
    CointegrEq.CommonExogenious := CommonEx;
    // Включаем вторую экзогенную переменную в группу долгосрочных связей
    LongTerm[0] := 0;
    CointegrEq.LongTermExogenious := LongTerm;
    // Обработка пропусков:
    CointegrEq.MissingData.Method := MissingDataMethod.mdmLinTrend;
    // Расчёт модели:
    Res := CointegrEq.Execute();
    If Res = 0 Then
        System.Diagnostics.Debug.WriteLine("=== Значения статистик векторной авторегрессии ===");
        VARStat := CointegrEq.VARStatistics;
        System.Diagnostics.Debug.WriteLine("Определитель ковариационной матрицы:");
        System.Diagnostics.Debug.WriteLine(VARStat.RC);
        System.Diagnostics.Debug.WriteLine("Определитель матрицы ковариаций остатков:");
        System.Diagnostics.Debug.WriteLine(VARStat.RCadj);
        System.Diagnostics.Debug.WriteLine("Логарифм функции правдоподобия:");
        System.Diagnostics.Debug.WriteLine(VARStat.LLV);
        System.Diagnostics.Debug.WriteLine("Информационный критерий Акаике:");
        System.Diagnostics.Debug.WriteLine(VARStat.AIC);
        System.Diagnostics.Debug.WriteLine("Критерий Шварца:");
        System.Diagnostics.Debug.WriteLine(VARStat.SC);
        Else
            System.Diagnostics.Debug.Writeline(CointegrEq.Errors);
    End If;
End Sub;

См. также:

ISmCointegrationEq