IModelCoefficients.Coefficients

Синтаксис Fore

Coefficients: ICoefficients;

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

Coefficients: Prognoz.Platform.Interop.Stat.ICoefficients;

Описание

Свойство Coefficients определяет параметры коэффициентов.

Комментарии

Для определения параметров константы модели используйте свойство IModelCoefficients.Intercept.

Пример 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(LR.Errors);
    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;
    Debug.WriteLine(
"-----Константа модели:");
    Debug.WriteLine(Intercept.Estimate);
End Sub UserProc;

В результате выполнения примера заданы настройки:

В окно консоли будет выведены значения коэффициентов и констант.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    arima: ISmLinearRegress;
    Intercept: IIntercept;
    ModelCoefficients: IModelCoefficients;
    Coefficients: ICoefficients;
    Explanatories: ISlSerie;
    Coef: System.Array;
    can, fra: Array[10Of Double;
    res, i: Integer;
Begin
    arima := 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;
    // Задаем объясняемую переменную
    arima.Explained.Value := can;
    // Задаем объясняющие переменные
    arima.Explanatories.Clear();
    Explanatories := arima.Explanatories.Add();
    Explanatories.Value := fra;
    // Обработка пропусков
    arima.MissingData.Method := MissingDataMethod.mdmLinInterpolation;
    // Параметры коэффициентов
    ModelCoefficients := arima.ModelCoefficients;
    Coefficients := ModelCoefficients.Coefficients;
    // Параметры константы модели
    Intercept := ModelCoefficients.Intercept;
    Intercept.Mode := InterceptMode.imAutoEstimate;
    res := arima.Execute();
    System.Diagnostics.Debug.WriteLine(arima.Errors);
    System.Diagnostics.Debug.WriteLine("-----Коэффициенты модели:");
    Coef := Coefficients.Estimate;
    For i := 0 To Coefficients.Estimate.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Coef[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("-----Вероятности коэффициентов:");
    Coef := Coefficients.Probability;
    For i := 0 To Coefficients.Probability.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Coef[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("-----Стандартные ошибки коэффициентов:");
    Coef := Coefficients.StandardError;
    For i := 0 To Coefficients.StandardError.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Coef[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("-----t-статистики коэффициентов:");
    Coef := Coefficients.TStatistic;
    For i := 0 To Coefficients.TStatistic.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Coef[i]);
    End For;
    System.Diagnostics.Debug.WriteLine("-----Константа модели:");
    System.Diagnostics.Debug.WriteLine(Intercept.Estimate);
End Sub;

См. также:

IModelCoefficients