77
правок
Изменения
Выброс
,Нет описания правки
[[Файл:Outlier_boxplot.png|upright=1.0|thumb|Рис 1.График boxplot населения регионов России в 1990 году, где можно заметить 5 выбросов]]
'''Выброс''' (англ. ''outlier'') {{---}} небольшая доля объектов во входных данных, которая сильно выделяется из общей выборки. Многие алгоритмы машинного обучения чувствительны к разбросу и распределению значений признаков обрабатываемых объектов. Соответственно , выбросы во входных данных могут исказить и ввести в заблуждение процесс обучения алгоритмов машинного обучения, что приводит к увеличению времени обучения, снижению точности моделей и, в конечном итоге, к снижению результатов. Даже до подготовки предсказательных моделей на основе обучающих данных выбросы могут приводить к ошибочным представлениям и в дальнейшем к ошибочной интерпретации собранных данных.
===Виды выбросов===
Выбросы могут быть двух видов: одномерные и многомерные. Одномерные выбросы можно найти при рассмотрении распределения значений объектов в одномерном пространстве. Многомерные выбросы можно найти в <tex>n</tex>-мерном пространстве (из <tex>n</tex>-объектов). Рассмотрение распределений в <tex>n</tex>-мерных пространствах может быть очень сложным для человеческого мозга, поэтому необходимо обучить модель, чтобы сделать это.
Выбросы также могут отличаться в зависимости от окружающей среды: точечные выбросы, контекстуальные выбросы или коллективные выбросы. Точечные выбросы {{---}} это единичные точки данных, расположенные далеко от остальной части распределения. Контекстные выбросы могут представлять собой шум в данных, например, знаки препинания при выполнении анализа текста или сигнал фонового шума при распознавании речи. Коллективные выбросы могут быть подмножествами новшеств в данных, таких как сигнал, который может указывать на открытие новых явлений.
===Причины возникновения выбросов===
* Сбой работы оборудования;* Человеческий фактор;* Случайность;* Уникальные явления;
* и др.
==Примеры==
[[Файл:Outlier_normal_distribution.png|upright=1.0|thumb|[http://work.thaslwanter.at/Stats/html/statsDistributions.html Рис 4. Так как t-распределение имеет более длинный хвост, нежели у нормального распределения, поэтому t-распределение менее чувствительно к выбросам.]]]
# Экстремальный анализ данных(англ. ''extreme value analysis''). При таком анализе не применяются какие-либо специальные статистические методы. Обычно этот метод применим для одномерного случая. Алгоритм использования таков:
#* Визуализировать данные, используя диаграммы и гистограммы для нахождения экстремальных значений. ; #* Задействовать распределение, например Гауссовское, и найти значения, чье стандартное отклонение отличается в 2-3 раза от математического ожидания или в полтора раза от первой либо третьей квартилей. ; #* Отфильтровать предполагаемые выбросы из обучающей выборки и оценить работу модели.;# Аппроксимирующий метод (англ. ''proximity method''). Чуть более сложный метод, заключающийся в применении кластеризующих методов.;#* Использовать метод кластеризации для определения кластеров в данных.;#* Идентифицировать и отметить центроиды каждого кластера.;#* Соотнести кластеры с экземплярами данных, находящимися на фиксированном расстоянии или на процентном удалении от центроида соответствующего кластера.;#* Отфильтровать предполагаемые выбросы из обучающей выборки и оценить работу модели.;# Проецирующие методы (англ. ''projections methods''). Эти методы довольно быстро и просто определяют выбросы в выборке. ; #* Использовать один из проецирующих методов, например , метод главных компонент (англ. ''principal component analysis'', ''PCA''<ref>[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D1%85_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82 Метод главных компонент]</ref>) или самоорганизующиеся карты Кохонена(англ. ''self-organizing map'', ''SOM''<ref>[https://habr.com/post/338868/ Самоорганизующиеся карты Кохонена]</ref>) или проекцию Саммона(англ. ''Sammon mapping'', ''Sammon projection''<ref>[https://en.wikipedia.org/wiki/Sammon_mapping Проекция Саммона]</ref>), для суммирования обучающих данных в двух измерениях.;#* Визуализировать отображение;#* Использовать критерий близости от проецируемых значений или от вектора таблицы кодирования (англ. ''codebook vector'') для идентифицирования выбросов.;
#* Отфильтровать предполагаемые выбросы из обучающей выборки и оценить работу модели.
===Локально взвешенное сглаживание===
Локально взвешенное сглаживание(англ. ''LOcally WEighted Scatter plot Smoothing'', ''LOWESS'')<ref>[http://www.aliquote.org/cours/2012_biomed/biblio/Cleveland1979.pdf Локально взвешенное сглаживание]</ref>. Данная методика была предложена Кливлендом(Cleveland) в 1979 году для моделирования и сглаживания двумерных данных <math>X^m={(x_i, y_i)}_{i=1}^m</math>. Эта техника предоставляет общий и гибкий подход для приближения двумерных данных. Локально-линейная модель может быть записана в виде: <math>y_t=\alpha_t+\beta_t x_t + \varepsilon_t</math>. Эта модель может быть расширена на случай локально-квадратичной зависимости и на модель с бо‘льшим числом независимых переменных. Параметры <math>\alpha_t</math> и <math>\beta_t</math> локально линейной модели оцениваются с помощью локально взвешенной регрессии, которая присваивает объекту тем больший вес, чем более близок он к объекту t. Степень сглаживания определяется параметром сглаживания <math>f</math>, который выбирает пользователь. Параметр <math>f</math> указывает, какая доля (англ. ''fraction'') данных используется в процедуре. Если <math>f = 0.5</math>, то только половина данных используется для оценки и влияет на результат, и тогда мы получим умеренное сглаживание. С другой стороны, если <math>f = 0.8</math>, то используются восемьдесят процентов данных, и сглаживание намного сильнее. Во всех случаях веса данных тем больше, чем они ближе к объекту <math>t</math>.
====Постановка задачи====
Пусть задано пространство объектов $X$ и множество возможных ответов <math>Y = \mathbb{R}</math>. Существует неизвестная зависимость <math>y^*\colon X \to Y</math>, значения которой известны только на объектах обучающией выборки <math>X^l = (x_i\ ,\ y_i)^l_{i=1},\ y_i = y^*(x_i)</math>. Требуется построить алгоритм <math>a\colon X\to Y</math>, аппроксимирующий неизвестную зависимость <math>y^*</math>. Предполагается, что на множестве $X$ задана метрика <math>\rho(x,x')</math>. <br> Также стоит определить следующее. Для вычисления <math>a(x) = \alpha</math> для <math>\forall x \in X</math>, воспользуемся методом наименьших квадратов:<math>Q(\alpha;X^l) = \sum_{i=1}^l \omega_i(x)(\alpha-y_i)^2 \rightarrow \underset{\alpha \in \mathbb{R}}{min}</math>, где <math>\omega_i</math> {{---}} это вес $i$-ого объекта. Веса <math>\omega_i</math> разумно задать так, чтобы они убывали по мере увеличения расстояния <math>\rho(x,x_i)</math>. Для этого можно ввести невозрастающую, гладкую, ограниченную функцию <math>K:[0, \infty) \rightarrow [0, \infty)</math>, называемую [[Ядра|ядром]]<sup>[на 28.01.19 не создан]</sup>, и представить <math>\omega_i</math> в следующем виде:
<math>\omega_i(x) = K\left(\frac{\rho(x,x_i)}{h} \right )</math>, где $h$ {{---}} ширина окна.
Приравняв равной нулю производную <math>\frac{\partial Q}{\partial \alpha} = 0</math>, и, выразив <math>\alpha</math>,получаем ''формулу Надарая-Ватсона''<ref>[http://www.machinelearning.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%9D%D0%B0%D0%B4%D0%B0%D1%80%D0%B0%D1%8F-%D0%92%D0%B0%D1%82%D1%81%D0%BE%D0%BD%D0%B0 Формула Надарая-Ватсона]</ref> :<math>a_h(x;X^l) = \frac{\sum_{i=1}^{l} y_i\omega_i(x)}{\sum_{i=1}^{l} \omega_i(x)} = \frac{\sum_{i=1}^{l} y_iK\left(\frac{\rho(x,x_i)}{h} \right )}{\sum_{i=1}^{l} K\left(\frac{\rho(x,x_i)}{h} \right )}</math>.
====Проблема выбросов в этой задаче====
Большие случайные ошибки в значениях <math>y_i</math> сильно искажают оценку Надарая-Ватсона.
====Идея====
Чем больше величина невязки <math>\varepsilon_i = \left | a_h\left (x_i;X^\ell\backslash\left \{x_i\right \} \right )-y_i\right |</math>, тем меньше должен быть вес i-го объекта <math>\omega_i(x)</math>.
====Эвристика====
Домножить веса <math>\omega_i(x)</math> на коэффиценты <math>\gamma_i = \widetilde{K}\left ( \varepsilon_i \right )</math>, где <math>\widetilde{K}\left ( \varepsilon \right )</math> — ещё одно ядро, вообще говоря, отличное от <math>K\left ( \rho \right )</math>.
====Псевдокод====
===Другие алгоритмы борьбы с выбросами===
В статистике методы, устойчивые к нарушениям модельных предположений о данных, называются ''робастными''. Метод локально взвешенного сглаживания относится к ''робастным'' методам, так как он устойчив к наличию небольшого количества выбросов.
* [[Дерево решений и случайный лес|Дерево принятия решения]] (англ. ''decision tree''<ref>[https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B9 Дерево принятия решения]</ref>). Это дерево, как и уже описанный алгоритм локально взвешенного сглаживания, относится к ''робастным'' методам.;
* [[Вариации регрессии|Робастная регрессия]] (англ. ''robust regression''<ref>[https://en.wikipedia.org/wiki/Robust_regression Робастная регрессия]</ref>). В отличии от регрессии, использующей, например, метод наименьших квадратов, в этом алгоритме не строится идеализированное предположение, что вектор ошибок <math>\varepsilon</math> распределен согласно нормальному закону. Однако на практике зачастую имеют место отклонения от этого предположения. Тогда можно применить метод наименьших модулей (англ. ''Least Absolute Deviation, LAD ''<ref>[https://en.wikipedia.org/wiki/Least_absolute_deviations Метод наименьших модулей]</ref>) в случае, если распределение ошибок измерений подчиняется распределению Лапласа (англ. Laplace distribution <ref>[https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%9B%D0%B0%D0%BF%D0%BB%D0%B0%D1%81%D0%B0 Распределение Лапласа]</ref>).