ICoefficients.Estimate

Синтаксис Fore

Estimate: Array;

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

Estimate: System.Array;

Описание

Свойство Estimate возвращает массив оцененных значений коэффициентов модели.

Комментарии

Для получения массива значений вероятностей коэффициентов используйте свойство ICoefficients.Probability.

Пример Fore

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

Sub UserProc;
Var
    LR: ISmLinearRegress;
    Intercept: IIntercept;
    ModelCoefficients: IModelCoefficients;
    Coefficients: ICoefficients;
    can, fra: Array[
10Of Double;
    res, i: Integer;
Begin
    LR := 
New SmLinearRegress.Create;
    
// Задаем значения переменных
    Can[0] := 6209; fra[0] := 4110;
    Can[
1] := 6385; fra[1] := 4280;
    Can[
2] := 6495; fra[2] := 4459;
    Can[
3] := 6837; fra[3] := 4545;
    Can[
4] := 6495; fra[4] := 4664;
    Can[
5] := 6907; fra[5] := 4861;
    Can[
6] := 7349; fra[6] := 5195;
    Can[
7] := 7213; fra[7] := 5389;
    Can[
8] := 7061; fra[8] := 5463;
    Can[
9] := 7180; fra[9] := 5610;
    
// Задаем объясняемую переменную
    LR.Explained.Value := can;
    
// Задаем объясняющие переменные
    LR.Explanatories.Clear;
    LR.Explanatories.Add.Value := fra;
    
// Обработка пропусков
    LR.MissingData.Method := MissingDataMethod.LinInterpolation;
    
// Параметры коэффициентов
    ModelCoefficients := LR.ModelCoefficients;
    Coefficients := ModelCoefficients.Coefficients;
    
// Параметры константы модели
    Intercept := ModelCoefficients.Intercept;
    Intercept.Mode := InterceptMode.AutoEstimate;
    res := LR.Execute;
    Debug.WriteLine(
"=== Коэффициенты модели ===");
    
For i := 0 To Coefficients.Estimate.Length - 1 Do
        Debug.WriteLine(Coefficients.Estimate[i]);
    
End For;
    Debug.WriteLine(
"=== Вероятности коэффициентов ===");
    
For i := 0 To Coefficients.Probability.Length - 1 Do
        Debug.WriteLine(Coefficients.Probability[i]);
    
End For;
    Debug.WriteLine(
"=== Стандартные ошибки коэффициентов ===");
    
For i := 0 To Coefficients.StandardError.Length - 1 Do
        Debug.WriteLine(Coefficients.StandardError[i]);
    
End For;
    Debug.WriteLine(
"=== t-статистики коэффициентов ===");
    
For i := 0 To Coefficients.TStatistic.Length - 1 Do
        Debug.WriteLine(Coefficients.TStatistic[i]);
    
End For;
End Sub UserProc;

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

=== Коэффициенты модели ===

0,675652218575972

=== Вероятности коэффициентов ===

3,21885272861033E-04

=== Стандартные ошибки коэффициентов ===

0,112530025662791

=== t-статистики коэффициентов ===

6,00419501014458

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    LR: ISmLinearRegress;
    Intercept: IIntercept;
    ModelCoefficients: IModelCoefficients;
    Coefficients: ICoefficients;
    Estimate, Probability, StandardError, TStatistic: System.Array;
    can, fra: Array[10Of Double;
    res, i: Integer;
Begin
    LR := New SmLinearRegress.Create();
    // Задаем значения переменных
    Can[0] := 6209; fra[0] := 4110;
    Can[1] := 6385; fra[1] := 4280;
    Can[2] := 6495; fra[2] := 4459;
    Can[3] := 6837; fra[3] := 4545;
    Can[4] := 6495; fra[4] := 4664;
    Can[5] := 6907; fra[5] := 4861;
    Can[6] := 7349; fra[6] := 5195;
    Can[7] := 7213; fra[7] := 5389;
    Can[8] := 7061; fra[8] := 5463;
    Can[9] := 7180; fra[9] := 5610;
    // Задаем объясняемую переменную
    LR.Explained.Value := can;
    // Задаем объясняющие переменные
    LR.Explanatories.Clear();
    LR.Explanatories.Add().Value := fra;
    // Обработка пропусков
    LR.MissingData.Method := MissingDataMethod.mdmLinInterpolation;
    // Параметры коэффициентов
    ModelCoefficients := LR.ModelCoefficients;
    Coefficients := ModelCoefficients.Coefficients;
    // Параметры константы модели
    Intercept := ModelCoefficients.Intercept;
    Intercept.Mode := InterceptMode.imAutoEstimate;
    res := LR.Execute();
    Estimate := Coefficients.Estimate;
    Probability := Coefficients.Probability;
    StandardError := Coefficients.StandardError;
    TStatistic := Coefficients.TStatistic;
    System.Diagnostics.Debug.WriteLine("=== Коэффициенты модели ===");
    For i := 0 To Estimate.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Estimate[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("=== Вероятности коэффициентов ===");
    For i := 0 To Probability.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Probability[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("=== Стандартные ошибки коэффициентов ===");
    For i := 0 To StandardError.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(StandardError[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("=== t-статистики коэффициентов ===");
    For i := 0 To TStatistic.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(TStatistic[i]);
    End For;
End Sub;

См. также:

ICoefficients