Робастная регрессия (Robust regression)

## Идея

Использование весов для прецедентов с целью снижения влияния "выбросов" в выборке при настройке модели.

## Условные обозначения

N

{\displaystyle N}

 — число объектов в выборке;

D

{\displaystyle D}

 — размер признакового пространства;

{
(

x
i

,

y
i

)

}

# i
1

N

{\displaystyle \{(x\_i, y\_i)\}\_{i = 1}^{N}}

 — выборка,

x
i

∈

R

D

,

y
i

∈

R

{\displaystyle x\_i \in \mathbb{R}^D, y\_i \in \mathbb{R}}

;

w
i

{\displaystyle w\_i}

 — вес

i

{\displaystyle i}

-го объекта в выборке,

# i

1
,
N

¯

{\displaystyle i=\overline{1,N}}

;

B

{\displaystyle B}

 — размер вектора параметров модели;

L

(
y
,
x
,
β
)

{\displaystyle \mathfrak{L}(y, x, \beta)}

 — функция потерь

L

:

R

×

R

D

×

R

B

→

R

{\displaystyle \mathfrak{L}:\mathbb{R}\times\mathbb{R}^D\times\mathbb{R}^B\rightarrow\mathbb{R}}

;

f
(
x
,
β
)

{\displaystyle f(x, \beta)}

 — настраиваемая модель

f
:

R

D

×

R

B

→

R

{\displaystyle f: \mathbb{R}^D\times\mathbb{R}^B\rightarrow\mathbb{R}}

;

R
(
β
)

{\displaystyle R(\beta)}

 — регуляризация

R
:

R

B

→

R

,
λ
≥
0

{\displaystyle R:\mathbb{R}^B\rightarrow\mathbb{R}, \lambda \geq 0}

;

K
(
⋅
)

{\displaystyle K(\cdot)}

 — убывающая функция

K
:

R

→

R

{\displaystyle K: \mathbb{R}\rightarrow\mathbb{R}}

;

β
,

β
^

{\displaystyle \beta, \hat{\beta}}

 — вектора параметров модели

f

{\displaystyle f}

,

β
,

β
^

∈

R

B

{\displaystyle \beta, \hat{\beta} \in \mathbb{R}^B}

.

## Алгоритм

### Описание:

* Инициализация весов:

w
1

=
# ⋯

w
N

=

1
N

{\displaystyle w\_1=\dots=w\_N=\tfrac{1}{N}}
* Повторение, пока не выполнено условие останова:
	+ β
	^

	=
	arg
	⁡

	m
	i
	n

	β

	(

	∑

	i
	=
	1

	N

	w
	i

	⋅

	L

	(

	y
	i

	,

	x
	i

	,
	β
	)
	λ
	⋅
	R
	(
	β
	)

	)

	{\displaystyle \hat{\beta}=\arg\underset{\beta}{min}\left(\sum\_{i=1}^{N}w\_i\cdot\mathfrak{L}(y\_i, x\_i, \beta) + \lambda \cdot R(\beta)\right)}
	+ Для каждого

	i
	=

	1
	,
	N

	¯

	{\displaystyle i=\overline{1,N}}

	:
		- w
		i

		=
		K
		(

		f
		(

		x
		i

		,

		β
		^

		)
		−

		y
		i

		)

		{\displaystyle w\_i=K(|f(x\_i, \hat{\beta}) - y\_i|)}
	+ Для каждого

	i
	=

	1
	,
	N

	¯

	{\displaystyle i=\overline{1,N}}

	:
		- w
		i

		=

		w
		i

		∑

		j
		=
		1

		N

		w
		j

		{\displaystyle w\_i=\tfrac{w\_i}{\sum\_{j=1}^{N}w\_j}}

#### Условие останова:

* цикл выполнился заданное число раз;
* выполнилось условие сходимости параметров модели.

### Суть процесса:

На каждой итерации внешнего цикла происходит настройка модели (поиск

β
^

{\displaystyle \hat\beta}

). Перед циклом веса объектов были инициализированы одинаково (равны

1
N

{\displaystyle \tfrac{1}{N}}

). В двух вложенных во внешний цикл циклах содержится реализация идеи использования весов прецедентов с целью снижения влияния "выбросов" в процессе настройки модели. Чем больше значение

f
(

x
i

,

β
^

)
−

y
i

{\displaystyle |f(x\_i, \hat{\beta}) - y\_i|}

, тем больше объект

x
i

{\displaystyle x\_i }

 похож на выброс. Из убывания функции

K

{\displaystyle K}

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

L

{\displaystyle \mathfrak{L}}

 на объектах-выбросах будут скомпенсированы небольшими весами у этих объектов в минимизируемом функционале. В результате, в процессе поиска параметров модели влияние "выбросов" будет уменьшаться при очередном поиске

β
^

{\displaystyle \hat\beta}

. С помощью нормировки веса объектов-выбросов будут приближены к 0. Обычно достаточно повторить внешний цикл заданное число раз, например 8.

## Ссылки

* лекция Виктора Китова по задачам регрессии (20 слайд)
* лекция К. В. Воронцова по нелинейной регрессии (25 слайд)
* видеозапись лекции К. В. Воронцова по нелинейной регрессии (1:12:55)