AdjR2: Double;
AdjR2: double;
Свойство AdjR2 возвращает скорректированный коэффициент детерминации.
Предпочтительней модель с наибольшим значением критерия.
Для выполнения примера добавьте ссылку на системную сборку «Stat».
Sub UserProc;
Var
LinearR: SmLinearRegress;
can, fr: Array[9] Of 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.AdjR2);
Debug.Write("Скорректированный коэффициент детерминации (нецентрированный): ");
Debug.WriteLine(ss.AdjR2_2);
Debug.Write("Информационный критерий Акаике: ");
Debug.WriteLine(ss.AIC);
Debug.Write("Среднее логарирфма функции правдоподобия: ");
Debug.WriteLine(ss.AvgLogL);
End Sub UserProc;
В результате выполнения примера в окно консоли будут выведены статистические характеристики:
Скорректированный коэффициент детерминации;
Скорректированный коэффициент детерминации (нецентрированный);
Информационный критерий Акаике;
Среднее логарифма функции правдоподобия.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub Main(Params: StartParams);
Var
LinearR: SmLinearRegress;
can, fr: Array[9] Of 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.AdjR2);
System.Diagnostics.Debug.Write("Скорректированный коэффициент детерминации (нецентрированный): ");
System.Diagnostics.Debug.WriteLine(ss.AdjR2_2);
System.Diagnostics.Debug.Write("Информационный критерий Акаике: ");
System.Diagnostics.Debug.WriteLine(ss.AIC);
System.Diagnostics.Debug.Write("Среднее логарирфма функции правдоподобия: ");
System.Diagnostics.Debug.WriteLine(ss.AvgLogL);
End Sub;
См. также:
ISummaryStatistics | Скорректированный коэффициент детерминации