ISummaryStatistics.MAE

Синтаксис Fore

MAE: Double;

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

MAE: double;

Описание

Свойство MAE возвращает среднее абсолютных величин остатков.

Комментарии

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

Пример 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.MAE);
    Debug.Write("Максимальная абсолютная величина остатков: ");
    Debug.WriteLine(ss.MaxAE);
    Debug.Write("McFadden R-квадрат: ");
    Debug.WriteLine(ss.McFaddenRsquared);
    Debug.Write("Среднее зависимой переменной: ");
    Debug.WriteLine(ss.MD);
    Debug.Write("Среднее остатков: ");
    Debug.WriteLine(ss.ME);
    Debug.Write("Среднее квадратов остатков: ");
    Debug.WriteLine(ss.MSE);
    Debug.Write("Корень из среднего квадратов остатков: ");
    Debug.WriteLine(ss.SqMSE);
    Debug.Write("Число итераций, за которое было получено решение: ");
    Debug.WriteLine(ss.NumOfIter);
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.MAE);
    System.Diagnostics.Debug.Write("Максимальная абсолютная величина остатков: ");
    System.Diagnostics.Debug.WriteLine(ss.MaxAE);
    System.Diagnostics.Debug.Write("McFadden R-квадрат: ");
    System.Diagnostics.Debug.WriteLine(ss.McFaddenRsquared);
    System.Diagnostics.Debug.Write("Среднее зависимой переменной: ");
    System.Diagnostics.Debug.WriteLine(ss.MD);
    System.Diagnostics.Debug.Write("Среднее остатков: ");
    System.Diagnostics.Debug.WriteLine(ss.ME);
    System.Diagnostics.Debug.Write("Среднее квадратов остатков: ");
    System.Diagnostics.Debug.WriteLine(ss.MSE);
    System.Diagnostics.Debug.Write("Корень из среднего квадратов остатков: ");
    System.Diagnostics.Debug.WriteLine(ss.SqMSE);
    System.Diagnostics.Debug.Write("Число итераций, за которое было получено решение: ");
    System.Diagnostics.Debug.WriteLine(ss.NumOfIter);
End Sub;

См. также:

ISummaryStatistics