ISummaryStatistics.R2

Синтаксис Fore

R2: Double;

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

R2: double;

Описание

Свойство R2 возвращает коэффициент детерминации.

Комментарии

Данный коэффициент определяет долю вариации зависимой переменной, обусловленную изменением экзогенных переменных.

Пример Fore

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

Sub UserProc;
Var
    LinearR: SmLinearRegress;
    can, fr: Array[9Of Double;
    res, i: Integer;
    Con: IIntercept;
    ss: ISummaryStatistics;
Begin
    LinearR := New SmLinearRegress.Create;
    For i := 0 To 8 Do
        can[i] := 1230 + i * 302;
        fr[i] := 579.5 + i * 9.4;
    End For;
    // Задаем параметры модели
    LinearR.Explained.Value := can;
    LinearR.Explanatories.Add.Value := fr;
    Con := LinearR.ModelCoefficients.Intercept;
    con.Mode := InterceptMode.ManualEstimate;
    con.Estimate := 35.7;
    // Выполняем расчёт
    res := LinearR.Execute;
    ss := LinearR.SummaryStatistics;
    Debug.Write("Коэффициент детерминации: ");
    Debug.WriteLine(ss.R2);
    Debug.Write("Коэффициент детерминации (нецентрированный): ");
    Debug.WriteLine(ss.R2_2);
    Debug.Write("Информационный критерий Шварца: ");
    Debug.WriteLine(ss.SC);
    Debug.Write("Стандартное отклонение зависимой переменной: ");
    Debug.WriteLine(ss.SD);
    Debug.Write("Стандартная ошибка: ");
    Debug.WriteLine(ss.SE);
    Debug.Write("Стандартное отклонение остатков: ");
    Debug.WriteLine(ss.SEE);
    Debug.Write("Сумма квадратов остатков отклонений исходных данных от модельных: ");
    Debug.WriteLine(ss.SSR);
    Debug.Write("Дисперсия остатков: ");
    Debug.WriteLine(ss.VE);
End Sub UserProc;

После выполнения примера в окно консоли будут выведены статистические характеристики:

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    LinearR: SmLinearRegress;
    can, fr: Array[9Of Double;
    res, i: Integer;
    Con: IIntercept;
    ss: ISummaryStatistics;
Begin
    LinearR := New SmLinearRegress.Create();
    For i := 0 To 8 Do
        can[i] := 1230 + i * 302;
        fr[i] := 579.5 + i * 9.4;
    End For;
    // Задаем параметры модели
    LinearR.Explained.Value := can;
    LinearR.Explanatories.Add().Value := fr;
    Con := LinearR.ModelCoefficients.Intercept;
    con.Mode := InterceptMode.imManualEstimate;
    con.Estimate := 35.7;
    // Выполняем расчёт
    res := LinearR.Execute();
    ss := LinearR.SummaryStatistics;
    System.Diagnostics.Debug.Write("Коэффициент детерминации: ");
    System.Diagnostics.Debug.WriteLine(ss.R2);
    System.Diagnostics.Debug.Write("Коэффициент детерминации (нецентрированный): ");
    System.Diagnostics.Debug.WriteLine(ss.R2_2);
    System.Diagnostics.Debug.Write("Информационный критерий Шварца: ");
    System.Diagnostics.Debug.WriteLine(ss.SC);
    System.Diagnostics.Debug.Write("Стандартное отклонение зависимой переменной: ");
    System.Diagnostics.Debug.WriteLine(ss.SD);
    System.Diagnostics.Debug.Write("Стандартная ошибка: ");
    System.Diagnostics.Debug.WriteLine(ss.SE);
    System.Diagnostics.Debug.Write("Стандартное отклонение остатков: ");
    System.Diagnostics.Debug.WriteLine(ss.SEE);
    System.Diagnostics.Debug.Write("Сумма квадратов остатков отклонений исходных данных от модельных: ");
    System.Diagnostics.Debug.WriteLine(ss.SSR);
    System.Diagnostics.Debug.Write("Дисперсия ошибок: ");
    System.Diagnostics.Debug.WriteLine(ss.VE);
End Sub;

См. также:

ISummaryStatistics | Коэффициент детерминации