ISmPairCorrelation.BalancedSample

Синтаксис Fore

BalancedSample: Boolean;

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

BalancedSample: boolean;

Описание

Свойство BalancedSample определяет, по каким наблюдениям рассчитываются коэффициенты корреляции.

Комментарии

Свойство актуально, если используется метод обработки пропусков - MissingDataMethod.Casewise. Метод обработки пропусков определяет свойство ISmPairCorrelation.MissingData.

Допустимые значения BalancedSample:

Пример Fore

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

Sub UserProc;
Var
    pc: SmPairCorrelation;
    m: Array[44Of Double;
    w: Array[4Of Double;
    res, i, j: Integer;
    PairCorr: Array Of Double;
Begin
    pc := New SmPairCorrelation.Create;
    // Задаем исходные данные
    m[00] := 10;  m[01] := 1;  m[02] := 62;  m[03] := -3;
    m[10] := 30;  m[11] := 2;  m[12] := 32;  m[13] := Double.Nan;
    m[20] := 3;   m[21] := 3;  m[22] := 22;  m[23] := -3;
    m[30] := 77;  m[31] := 4;  m[32] := 21;  m[33] := 3;
    pc.Data := m;
    // Задаем метод обработки пропусков
    pc.MissingData.Method := MissingDataMethod.Casewise;
    // Задаем вектор весов
    w[0] := 1;  w[1] := 2;  w[2] := 2.2;  w[3] := 0.5;
    pc.Weights := w;
    // Определяем данные, по которым будет рассчитываться корреляция
    pc.BalancedSample := False;
    // Выполняем расчёт и выводим результаты
    res := pc.Execute;
    If res <> 0 Then
        Debug.Write(pc.Errors);
    Else
        Debug.WriteLine("Матрица парных коэффициентов корреляции:");
        Debug.Indent;
        For i := 0 To pc.PairCorrelationMatrix.GetUpperBound(1Do
            For j := 0 To pc.PairCorrelationMatrix.GetUpperBound(2Do
                PairCorr := pc.PairCorrelationMatrix;
                Debug.Write(PairCorr[i, j].ToString + ", ");
            End For;
            Debug.WriteLine(" ");
        End For;
        Debug.Unindent;
    End If;
End Sub UserProc;

После выполнения примера в окно консоли будут выведена матрица парных коэффициенты корреляции.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    pc: SmPairCorrelation;
    m: Array[44Of Double;
    w: Array[4Of Double;
    res, i, j: Integer;
    PairCorr: Array;
Begin
    pc := New SmPairCorrelation.Create();
    // Задаем исходные данные
    m[00] := 10;  m[10] := 1;  m[20] := 62;  m[30] := -3;
    m[01] := 30;  m[11] := 2;  m[21] := 32;  m[31] := Double.Nan;
    m[02] := 3;   m[12] := 3;  m[22] := 22;  m[32] := -3;
    m[03] := 77;  m[13] := 4;  m[23] := 21;  m[33] := 3;
    pc.Data := m;
    // Задаем метод обработки пропусков
    pc.MissingData.Method := MissingDataMethod.mdmCasewise;
    // Задаем вектор весов
    w[0] := 1;  w[1] := 2;  w[2] := 2.2;  w[3] := 0.5;
    pc.Weights := w;
    // Определяем данные, по которым будет рассчитываться корреляция
    pc.BalancedSample := False;
    // Выполняем расчёт и выводим результаты
    res := pc.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.Write(pc.Errors);
    Else
        System.Diagnostics.Debug.WriteLine("Матрица парных коэффициентов корреляции:");
        System.Diagnostics.Debug.Indent();
        For i := 0 To pc.PairCorrelationMatrix.GetUpperBound(1Do
            For j := 0 To pc.PairCorrelationMatrix.GetUpperBound(0Do
                PairCorr := pc.PairCorrelationMatrix;
                System.Diagnostics.Debug.Write(PairCorr[j, i].ToString() + ", ");
            End For;
            System.Diagnostics.Debug.WriteLine(" ");
        End For;
        System.Diagnostics.Debug.Unindent();
    End If;
End Sub;

После выполнения примера в окно консоли будут выведены парные коэффициенты корреляции.

См. также:

ISmPairCorrelation