Перейти к основному содержимому

Локально-постоянная регрессия

Локально-постоянная регрессия (local constant regression), известная также как ядерная регрессия (kernel regression) и регрессия Надарая-Ватсона (Nadaraya–Watson regression) представляет собой непараметрический метод для моделирования сложных регрессионных зависимостей.

Допустим, нам нужно моделировать некоторую нелинейную зависимость y(x)y(\mathbf{x}), показанную ниже:

dependency.png

Можно было бы искать наилучший в среднеквадратичном смысле константный прогноз

y^=arg miny^Ri=1N(y^yi)2=1Nn=1Nyn\widehat{y}=\argmin_{\widehat{y}\in\mathbb{R}}\sum_{i=1}^{N}(\widehat{y}-y_{i})^{2}=\frac{1}{N}\sum_{n=1}^{N}y_{n}
Задание

Докажите, что оптимальный константный прогноз, минимизирующий средний квадрат ошибки, это действительно выборочное среднее.

Однако константный прогноз нам не подходит, поскольку целевая зависимость нелинейная. Поэтому, для построения прогноза в точке x\mathbf{x}, будем использовать локально-постоянный прогноз, получаемый в результате минимизации квадратов ошибок в локальной окрестности от целевой точки:

non-const-reg-explanation.png

В общем случае локально-постоянная регрессия ищет наилучший константный прогноз, усредняя по всем объектам обучающей выборки, но с весами - чем объект более удалён от целевой точки, тем вес его меньше, и тем слабее он влияет на прогноз:

y^(x)=arg miny^Ri=1Nwi(x)(y^yi)2=i=1Nyiwi(x)i=1Nwi(x)\widehat{y}(\mathbf{x})=\argmin_{\widehat{y}\in\mathbb{R}}\sum_{i=1}^{N}{\color{red}w_{i}(\mathbf{x})}(\widehat{y}-y_{i})^{2}=\frac{\sum_{i=1}^{N}y_{i}{\color{red}w_{i}(\mathbf{x})}}{\sum_{i=1}^{N}{\color{red}w_{i}(\mathbf{x})}}
Задание

Докажите, что оптимальный константный прогноз, минимизирующий квадраты ошибок с весами - это действительно взвешенное среднее.

Веса wi(x)w_i(\mathbf{x}) определяются так же, как и в случае взвешенного учета ближайших соседей, через убывающую функцию ядра (kernel) K()K(\cdot) от расстояния, нормированного на ширину окна hh (bandwidth):

wi(x)=K(ρ(x,xi)h).w_i(\mathbf{x})=K\left(\frac{\rho(\mathbf{x},\mathbf{x}_i)}{h}\right).

Разница лишь в том, что теперь это веса для всех объектов обучающей выборки, а не только для ближайших соседей. Типовые ядра K()K(\cdot) такие же, как раньше:

ЯдроФормула
top-hatI[u<1]\mathbb{I}[\vert u \vert<1]
линейноеmax{0,1u}\max\{0,1-\vert u \vert\}
Епанечниковаmax{0,1u2}\max\{0,1-u^{2}\}
экспоненциальноеeue^{-\vert u \vert}
Гауссовоe12u2e^{-\frac{1}{2}u^{2}}
квартическое(1u2)2I[u<1](1-u^{2})^{2}\mathbb{I}[\vert u \vert<1]

а гиперпараметр ширины окна hh задаёт ширину усреднения. Для ядер top-hat, линейного, Епанечникова и квартического прогноз будет получаться усреднением только по точкам, лежащим на расстоянии не более чем hh от целевой. Для Гауссова и экспоненциального ядер усреднение всегда будет производиться по всем объектам, но основной вклад также будут давать объекты, лежащие в той же окрестности.

Вид ядра характеризует гладкость получаемой зависимости (рекомендуется Гауссово ядро и квартическое), однако на точность приближения больше всего влияет ширина окна hh - чем она выше, тем более плавной будет получаться зависимость, которая при hh\to\infty будет стремиться к константе.

Целесообразно варьировать гиперпараметр hh для разных частей признакового пространства: чем гуще лежат обучающие объекты, тем меньше мы можем взять hh, производя полноценное усреднение по всё еще большому числу объектов. Поэтому в общем виде этот гиперпараметр также можно сделать зависящим от x\mathbf{x}:

h=h(x)h=h(\mathbf{x})
Задание

При каком выборе K()K(\cdot) и h(x)h(\mathbf{x}) локально-постоянная регрессия превратиться в метод K ближайших соседей?

Обобщение

Поскольку прогноз локально-постоянной регрессии зависит от объектов только через расстояния до них, то это метрический метод, который мы можем обобщать, выбирая различные функции расстояния.

Этот метод, будучи метрическим, наследует преимущества и недостатки метода ближайших соседей.