Изучение того, как распределения Гаусса и их свойства могут помочь нам в обнаружении аномалий в отслеживаемых данных.

В первой статье этой серии мы обсудили свойства функции Гаусса и то, как их можно использовать для обнаружения аномалий в отслеживаемых данных. В этой части мы будем применять эти знания на практике и создадим нашу собственную программу обнаружения аномалий.

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

Единственная проблема в этом утверждении заключается в том, что вероятность получения любого единственного значения точно равна нулю. Это почему? Оказывается, функция Гаусса является членом группы функций, называемых «Функции плотности вероятности» или сокращенно PDF. Не погружаясь слишком глубоко в математику PDF-файлов, достаточно понять, что они дают нам вероятность того, что «непрерывная случайная величина» даст значение в заданном «диапазоне». .

Теперь давайте объясним, что: диапазон — это просто длина между двумя числами, которая выражается их вычитанием. Общепринятое обозначение диапазона между двумя точками a и b — (a, b). Число x считается «внутри» диапазона, если

Случайная величина — это формальный термин для наших выходных данных. Хотя мы рассматриваем каждое значение как отдельную точку данных, когда мы смотрим на все значения, которые наш вывод принял с течением времени, мы можем рассматривать наш вывод как единое целое, как случайную переменную. Мы собираемся сделать небольшое сокращение — мы собираемся предположить, что для заданного диапазона значений, которые может принимать наш вывод, нет значения, которое не могло бы произойти. Это свойство способности принимать любое возможное значение и есть то, что мы называем «непрерывным». Поэтому случайная величина, обладающая этим свойством, называется непрерывной случайной величиной. Стандартное обозначение — заглавная буква X.

Возвращаясь к PDF и функции Гаусса, способ, которым они выражают вероятности, заключается в вычислении площади под кривой в заданном диапазоне. Расчет таких площадей производится с помощью интегралов. Если у вас есть опыт в области исчисления, то вы знаете связь между интегралами и площадями. Для тех из вас, кто не знаком с исчислением, достаточно рассматривать их как инструменты, которые позволяют нам вычислять области, ограниченные функциями в заданном диапазоне.

Вы все еще можете получить представление об областях под кривыми, исследуя постоянную прямолинейную функцию, такую ​​как f (x) = 1 (на графике красным цветом выше). Мы можем вычислить площадь под функцией двумя разными способами: используя интеграл и используя формулу площади прямоугольника. Сначала вычисляем высоту и ширину прямоугольника: мы видим, что нижний край — это диапазон (2, 3), а его длину мы получаем, вычитая правую точку за левую. Это дает нам 3–2 = 1, что делает ширину прямоугольника ровно 1.

Далее вычислим длину левого края прямоугольника. Если вы не знаете, как это сделать, загляните на эту страницу Википедии об измерении расстояний. Поскольку я надеюсь, что вы знаете, как это сделать, если вы читали меня до этого момента, вы можете легко убедиться, что длина левого ребра (представляющего высоту) также равна 1.

Используя формулу площади прямоугольника, мы можем вычислить площадь его поверхности:

Это дает нам геометрическое представление об измерении областей, ограниченных функциями. А именно, что существует связь между диапазоном, соответствующим ширине прямоугольника, и площадью его поверхности. Оказывается, это соотношение верно для каждой функции, что приводит нас к следующему вопросу: если мы расширим определение диапазона до одной точки x, мы можем сказать, что любая точка является диапазоном формы (x, x) . Длина этого диапазона получается таким же образом — вычитанием правой точки из левой. Это делает длину x - x = 0.

Но поскольку ширина прямоугольника равна длине этого диапазона, мы получим, что W = 0. Подставив новое значение обратно в формулу площади, мы теперь получим:

Именно поэтому p(x) для любого заданного значения равно нулю. Если это так, то как мы можем обнаружить аномалии, используя свойства случайной величины X? Это оказывается проще, чем кажется, и мы снова воспользуемся нашей геометрической интуицией.

Для любого заданного значения x мы вычисляем длину диапазона (μ, x) и помечаем эту длину константой t. Затем мы выбираем два значения T1 и T2, используя приведенные ниже уравнения:

Где g обозначает функцию Гаусса. И оказывается, что у гауссианы есть интересное свойство — она является симметричной функцией относительно своего среднего значения. То есть для каждого значения x g(µ - x) = g(µ + x). Поскольку у каждых двух точек есть только одна линия, которая пересекает их обе, тот факт, что g(x) симметричен, означает, что линия, проходящая через T1 и T2, перпендикулярна оси x.

Еще одно свойство функции Гаусса заключается в том, что площадь под кривой, не ограниченная осью x, равна 1. Это можно выразить с помощью интегралов как:

Это означает, что если мы вычислим площадь, ограниченную диапазоном (T1, T2), мы можем получить оставшуюся площадь под кривой, вычитая ее из 1:

Что эти результаты означают геометрически? Помните, что ключевым параметром здесь является длина, которую мы обозначили как t: чем дальше x от среднего значения, тем длиннее становится диапазон t. Для каждого увеличения размера t происходит соответствующее увеличение площади A между T1 и T2. Увеличение до А, естественно, означает уменьшение значения 1-А, которое видно как синие «хвосты» под краями кривой нормального распределения.

Теперь, когда у нас есть результаты, все, что нам нужно решить, это то, насколько ненормальным должно быть данное значение x, чтобы мы могли классифицировать его как аномалию. Это значение полностью зависит от вас и домена устройств, которые вы пытаетесь отслеживать. Обычными значениями могут быть 0,1%, 1%, 5%, но, конечно, вы можете выбрать значение, которое подходит вам лучше всего.

Подводя итог, мы узнали следующее:

· Случайные переменные — это способ статистического представления наших выходных данных.

·Функции плотности вероятности, такие как функция Гаусса, дают нам вероятность того, что наша случайная величина даст значения в определенном диапазоне.

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

Третья часть цикла уже готова:

https://medium.com/@yonatanalon/anomaly-detection-in-monitored-systems-part-3-52c172cfa589

Пример кода на Python (версия 3.8.3):