Запишетесь на полный курс Машинного обучения на Python по адресу [email protected]
Для оценки параметров нелинейных моделей используют два подхода.
Первый подход основан на линеаризации модели и заключается в том, что с помощью подходящих преобразований исходных переменных исследуемую зависимость представляют в виде линейного соотношения между преобразованными переменными.
Второй подход обычно применяется в случае, когда подобрать соответствующее линеаризующее преобразование не удается. В этом случае применяются методы нелинейной оптимизации на основе исходных переменных.
Для линеаризации модели в рамках первого подхода могут использоваться как модели, нелинейные по переменным, так и нелинейные по параметрам.
Если модель нелинейная по переменным, то введением новых переменных ее можно свести к линейной модели, для оценки параметров которой использовать обычный метод наименьших квадратов.
Для наиболее часто встречающихся зависимостей парной регрессионной модели, эмпирическую формулу можно выбирать с помощью таблицы ниже.
xs ys Формула
(x1+xn)/2 (y1+yn)/2 y = a + bx
√(x1xn) √(y1yn) y = axb
(x1+xn)/2 √(y1yn) y = abx
2x1xn/(x1+xn) (y1+yn)/2 y = a + b/x
(x1+xn)/2 2y1yn/(y1+yn) y = 1/(a + b/x)
√(x1xn) (y1+yn)/2 y = a + bln(x)
Для выбора наиболее пригодной формулы для нелинейной модели регрессии используют следующий алгоритм:
Упорядочивают значения в выборке по возрастанию x.
Вычисляют xs и ys для каждой формулы в таблице.
Если xs находится среди исходных данных, то yt выбирают равной значению y в выборке при x = xs (т.е. берут значение из выборки).
Если соответствующего значения в выборке нет, то его находят при помощи линейной интерполяции, где xj меньше xs, xs меньше xj+1:
yt = yj + (xs - xj) * (yj+1 - yj)/(xj+1 - xj).
Для каждой формулы вычисляют отклонение |yt - ys|.
Находят формулу с наименьшим отклонением и применяют соответствующее преобразование или замену переменной для x и y, чтобы привести модель к линейной.