В подпакете NonlinearFit содержатся функции для выполнения нелинейной регрессии общего вида:
Данные могут быть представлены списком ординат {у1,у2,...} или списком {{x11,x12,..., yl}, {х21, х22,..., у2},...}. В ходе регрессии минимизируются заданные параметры, так что заданная модель регрессии приближает данные с минимальной среднеквадратичной погрешностью.
На рис. 12.7 показан пример выполнения логарифмической регрессии. При ней модель представлена выражением a*Log[b*x]. Результатом действия функции NonlinearFit является уравнение регрессии в виде этой модели с найденными значениями параметров а и Ь. Представлена также визуализация регрессии в виде графика функции-модели и исходных точек. Следует отметить, что реализация нелинейной регрессии разными методами может давать заметно различающиеся результаты, так что представленные результаты не являются абсолютно строгими.
Рис. 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 lO'16,
FitCurvatureTable -» }
Max Parameter-Effects 2.07792