Нелинейная регрессия

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: '''Нелинейная регрессия''' - частный случай регрессионного анализа, в которо...)
Текущая версия (20:26, 26 сентября 2010) (править) (отменить)
(Смотри также)
 
(10 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
'''Нелинейная регрессия''' - частный случай [[регрессионный анализ|регрессионного анализа]],
+
{{TOCright}}
 +
'''Нелинейная регрессия''' — частный случай [[регрессионный анализ|регрессионного анализа]],
в котором рассматриваемая [[регрессионная модель|регрессионная модель]] есть функция,
в котором рассматриваемая [[регрессионная модель|регрессионная модель]] есть функция,
зависящая от параметров и от одной или нескольких свободных переменных.
зависящая от параметров и от одной или нескольких свободных переменных.
Строка 5: Строка 6:
== Постановка задачи ==
== Постановка задачи ==
-
 
Задана [[выборка|выборка]] из <tex>m</tex> пар <tex>(\mathbf{x}_i,y_i)</tex>. Задана [[регрессионная модель|регрессионная модель]] <tex>f(\mathbf{w},\mathbf{x})</tex>,
Задана [[выборка|выборка]] из <tex>m</tex> пар <tex>(\mathbf{x}_i,y_i)</tex>. Задана [[регрессионная модель|регрессионная модель]] <tex>f(\mathbf{w},\mathbf{x})</tex>,
которая зависит от параметров&nbsp;<tex>\mathbf{w}=(w_1,...,w_W)</tex> и свободной переменной&nbsp;<tex>x</tex>.
которая зависит от параметров&nbsp;<tex>\mathbf{w}=(w_1,...,w_W)</tex> и свободной переменной&nbsp;<tex>x</tex>.
Требуется найти такие значения параметров, которые доставляли бы минимум сумме квадратов [[анализ регрессионных остатков|регрессионных остатков]]
Требуется найти такие значения параметров, которые доставляли бы минимум сумме квадратов [[анализ регрессионных остатков|регрессионных остатков]]
-
<center><tex>S=\sum_{i=1}^mr_i,</tex></center>
+
<center><tex>S=\sum_{i=1}^mr_i^2,</tex></center>
где остатки&nbsp;<tex>r_i=y_i-f(\mathbf{w},\mathbf{x}_i)</tex> для <tex>i=1,\ldots,m</tex>.
где остатки&nbsp;<tex>r_i=y_i-f(\mathbf{w},\mathbf{x}_i)</tex> для <tex>i=1,\ldots,m</tex>.
Строка 15: Строка 15:
<center><tex>\frac{\partial S}{\partial w_j}=2\sum_i r_i\frac{\partial r_i}{\partial w_j}=0 \ (j=1,\ldots,n). (*)</tex></center>
<center><tex>\frac{\partial S}{\partial w_j}=2\sum_i r_i\frac{\partial r_i}{\partial w_j}=0 \ (j=1,\ldots,n). (*)</tex></center>
-
Так как функция&nbsp;<tex>S</tex> в общем случае не имеет единственного минимума<ref name="">Демиденко, Е. З. Оптимизация и регрессия. М.: Наука. 1989. 296 с.</ref>, то&nbsp;предлагается назначить начальное
+
Так как функция&nbsp;<tex>S</tex> в общем случае не имеет единственного минимума<ref name="one">Демиденко, Е. З. Оптимизация и регрессия. М.: Наука. 1989. 296 с.</ref>, то&nbsp;предлагается назначить начальное
значение вектора параметров&nbsp;<tex>w_0</tex> и&nbsp;приближаться к&nbsp;оптимальному вектору по&nbsp;шагам:
значение вектора параметров&nbsp;<tex>w_0</tex> и&nbsp;приближаться к&nbsp;оптимальному вектору по&nbsp;шагам:
<center><tex>w_j \approx w_j^{k+1} =w^k_j+\Delta w_j.</tex></center>
<center><tex>w_j \approx w_j^{k+1} =w^k_j+\Delta w_j.</tex></center>
Строка 31: Строка 31:
Подставляя последнее выражение в выражение (*), получаем
Подставляя последнее выражение в выражение (*), получаем
<center><tex>-2\sum_{i=1}^{m}J_{ij} \left( \Delta y_i-\sum_{s=1}^{n} J_{is}\Delta w_s \right)=0.</tex></center>
<center><tex>-2\sum_{i=1}^{m}J_{ij} \left( \Delta y_i-\sum_{s=1}^{n} J_{is}\Delta w_s \right)=0.</tex></center>
-
Преобразуя, получаем систему из&nbsp;<tex>n</tex> линейных уравнений, которые называются [[метод наименьших квадратов|нормальным уравнением}
+
Преобразуя, получаем систему из&nbsp;<tex>n</tex> линейных уравнений, которые называются [[метод наименьших квадратов|нормальным уравнением]]
<center><tex>\sum_{i=1}^{m}\sum_{s=1}^{n} J_{ij}J_{is}\Delta w_s=\sum_{i=1}^{m} J_{ij}\Delta y_i (j=1,n).</tex></center>
<center><tex>\sum_{i=1}^{m}\sum_{s=1}^{n} J_{ij}J_{is}\Delta w_s=\sum_{i=1}^{m} J_{ij}\Delta y_i (j=1,n).</tex></center>
Строка 42: Строка 42:
<center><tex>\mathbf{\left(J^TWJ\right)\Delta \mathbf{w}=J^TW\Delta y}.</tex></center>
<center><tex>\mathbf{\left(J^TWJ\right)\Delta \mathbf{w}=J^TW\Delta y}.</tex></center>
-
Для нахождения оптимальных параметров используются
+
Для нахождения оптимальных параметров нелинейных регрессионных моделей используются
-
[[метод сопряженных градиентов|метод сопряженных градиентов]],
+
[[метод сопряжённых градиентов]],
-
[[алгоритм Гаусса-Ньютона|алгоритм Гаусса-Ньютона]] или
+
[[метод Ньютона-Гаусса]] или
-
[[алгоритм Левенберга-Марквардта|алгоритм Левенберга-Марквардта]].
+
[[алгоритм Левенберга-Марквардта]].
== Литература ==
== Литература ==
-
* Демиденко, Е. З. Оптимизация и регрессия. М.: Наука. 1989. 296 с.
+
* Seber G.A.F Wild C.J. Nonlinear Regression. New York: John Wiley and Sons, 1989.
 +
 
 +
== Примечания ==
 +
<references/>
== Смотри также ==
== Смотри также ==
 +
* [[Метод Ньютона-Гаусса]]
* [[Метод наименьших квадратов]]
* [[Метод наименьших квадратов]]
* [[Алгоритм Левенберга-Марквардта]]
* [[Алгоритм Левенберга-Марквардта]]
Строка 58: Строка 62:
* [[Нелинейная регрессия (пример)]]
* [[Нелинейная регрессия (пример)]]
 +
[[Категория: Нелинейная регрессия]]
[[Категория: Регрессионный анализ]]
[[Категория: Регрессионный анализ]]
[[Категория: Энциклопедия анализа данных]]
[[Категория: Энциклопедия анализа данных]]

Текущая версия

Содержание

Нелинейная регрессия — частный случай регрессионного анализа, в котором рассматриваемая регрессионная модель есть функция, зависящая от параметров и от одной или нескольких свободных переменных. Зависимость от параметров предполагается нелинейной.

Постановка задачи

Задана выборка из m пар (\mathbf{x}_i,y_i). Задана регрессионная модель f(\mathbf{w},\mathbf{x}), которая зависит от параметров \mathbf{w}=(w_1,...,w_W) и свободной переменной x. Требуется найти такие значения параметров, которые доставляли бы минимум сумме квадратов регрессионных остатков

S=\sum_{i=1}^mr_i^2,

где остатки r_i=y_i-f(\mathbf{w},\mathbf{x}_i) для i=1,\ldots,m.

Для нахождения минимума функции S, приравняем к нулю её первые частные производные параметрам \mathbf{w}:

\frac{\partial S}{\partial w_j}=2\sum_i r_i\frac{\partial r_i}{\partial w_j}=0 \ (j=1,\ldots,n). (*)

Так как функция S в общем случае не имеет единственного минимума[1], то предлагается назначить начальное значение вектора параметров w_0 и приближаться к оптимальному вектору по шагам:

w_j \approx w_j^{k+1} =w^k_j+\Delta w_j.

Здесь k - номер итерации, \Delta w_j - вектор шага.

На каждом шаге итерации линеаризуем модель с помощью приближения рядом Тейлора относительно параметров \mathbf{w}^k

f(x_i,\mathbf{w})\approx f(x_i,\mathbf{w}^k) +\sum_j \frac{\partial f(x_i,\mathbf{w}^k)}{\partial w_j} \left(w_j -w^{k}_j \right) \approx f(x_i,\mathbf{w}^k) +\sum_j J_{ij} \Delta w_j.

Здесь элемент матрицы Якоби J_{ij} - функция параметра w_j; значение свободной переменной \mathbf{x}_i фиксировано. В терминах линеаризованной модели

\frac{\partial r_i}{\partial w_j}=-J_{ij}

и регрессионные остатки определены как

r_i=\Delta y_i- \sum_{j=1}^{n} J_{ij}\Delta w_j; \ \Delta y_i=y_i- f(x_i,\mathbf{w}^k).

Подставляя последнее выражение в выражение (*), получаем

-2\sum_{i=1}^{m}J_{ij} \left( \Delta y_i-\sum_{s=1}^{n} J_{is}\Delta w_s \right)=0.

Преобразуя, получаем систему из n линейных уравнений, которые называются нормальным уравнением

\sum_{i=1}^{m}\sum_{s=1}^{n} J_{ij}J_{is}\Delta w_s=\sum_{i=1}^{m} J_{ij}\Delta y_i (j=1,n).

Запишем нормальное уравнение в матричном обозначении как

\mathbf{\left(J^TJ\right)\Delta \mathbf{w}=J^T\Delta y}.

В том случае, когда критерий оптимальности регрессионой модели задан как взвешенная сумма квадратов остатков

S=\sum_{i=1}^{m}W_{ii}r_i^2,

нормальное уравнение будет иметь вид

\mathbf{\left(J^TWJ\right)\Delta \mathbf{w}=J^TW\Delta y}.

Для нахождения оптимальных параметров нелинейных регрессионных моделей используются метод сопряжённых градиентов, метод Ньютона-Гаусса или алгоритм Левенберга-Марквардта.

Литература

  • Seber G.A.F Wild C.J. Nonlinear Regression. New York: John Wiley and Sons, 1989.

Примечания


Смотри также

Личные инструменты