Нелинейная регрессия (NonlinearFit)
В подпакете NonlinearFit содержатся функции для выполнения нелинейной регрессии общего вида:
- NonlinearFit [data,model,variables,parameters] – выполняет регрессию по заданной модели (формуле) model с переменными variables и параметрами parameters для заданных данных data;
- NonlinearRegress [data,model,variables,parameters] – выполняет регрессию по заданной модели (формуле) model с переменными variables и параметрами parameters для заданных данных data с выдачей списка диагностики.
Данные могут быть представлены списком ординат {у1,у2,…} или списком {{x11,x12,…, y1}, {х21, х22,…, у2},…}. В ходе регрессии минимизируются заданные параметры, так что заданная модель регрессии приближает данные с минимальной среднеквадратичной погрешностью.
На рис. 12.7 показан пример выполнения логарифмической регрессии. При ней модель представлена выражением a*Log[b*x]. Результатом действия функции NonlinearFit является уравнение регрессии в виде этой модели с найденными значениями параметров а и b. Представлена также визуализация регрессии в виде графика функции-модели и исходных точек. Следует отметить, что реализация нелинейной регрессии разными методами может давать заметно различающиеся результаты, так что представленные результаты не являются абсолютно строгими.
Рис. 12.7. Пример логарифмической регрессии
Применение функции NonlinearRegress иллюстрирует следующий пример:
NonlinearRegress [data, a
*
Log[b
*
x],{x},{a,b}]
{BestFitParameters
>
{a
>
0.665503
, b
-
4
4
.
11893
},
ParameterCITable
>
Estimate Asymptotic SE CI
a
0.665503
0.0504167
{
0.525524
,
0.805482
},
b
4.11893
0.806289
{
1.88031
,
6.35754
}
EstimatedVariance
>
0
.
00558058
,
DF SumOfSq MeanSq
Model
2
17.7425
8.87126
ANOVATable
>
Error
4
0.0223223
0.00558058
,
Uncorrected Total
6
17.7648
Corrected Total
5
0.994689
1
.
-
0.972212
AsymptoticCorrelationMatrix
>
Curvature
Max Intrinsic
2
.
94314
x
10
^
16
,
FitCurvatureTable
>
}
Max Parameter
-
Effects
2.07792
95
.
%
Confidence Region
0.379478
Как нетрудно заметить, в данном случае выдается отчет о проведении регрессии. Более детальные данные об опциях и обозначениях в отчетах нелинейной регрессии можно найти в справочной базе данных.