Научная статья на тему 'Проблема обнаружения аномалий в наборах временных рядов'

Проблема обнаружения аномалий в наборах временных рядов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
688
678
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проблема обнаружения аномалий в наборах временных рядов»

L4, L5, L6, L7, Ls, L9}, i=[1; N], где N - количество актуальных угроз; Lj - флаг для обозначения j-го уровня воздействия нарушителей, для которого актуальна У, угроза, j=[1; 9]; L9 - уровень закладных устройств; L8 - уровень системы защиты информации; L7 - уровень технических каналов; L6 - прикладной уровень эталонной модели TCP/IP; L5 - транспортный уровень эталонной модели TCP/IP; L4 - сетевой уровень эталонной модели TCP/IP; L3 - канальный уровень эталонной модели TCP/IP; L2 - физический уровень эталонной модели TCP/IP; Li - уровень вредоносного воздействия.

Методика определения категории нарушителя в общем случае сводится к следующему алгоритму.

1. Выбирается признак классификации из множества L=(Lb L2, L3, L4, L5, L6, L7, L8, L9).

2. По значению выбранного j-го признака множество угроз У, разбивается на подмножества Уу.

3. Формируется вектор l существования актуальных угроз j-му уровню воздействия нарушителя по следующему правилу: j-й элемент вектора l равен единице, если |Уу|>0, и нулю в ином случае.

4. С помощью вектора l определяется максимальная категория нарушителя в соответствии с таблицей, начиная с нарушителя первой категории (Hi).

Соотношение категорий нарушителя и уровней их воздействия

Категория У ровень

Li L2 L3 L4 L5 L6 L7 L8 L9

Н1 1 1 0 0 0 0 0 0 0

Н 1 1 0 0 1 1 0 0 0

Н3 1 1 0 1 1 1 0 0 0

Н4 1 1 1 1 1 1 0 0 0

Н 1 1 1 1 1 1 1 1 0

Н6 1 1 1 1 1 1 1 0 1

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

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

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

Литература

Kurose J.F., Ross K.W. Computer Networking: A Top-Down Approach, NY. Addison-Wesley, 2010.

УДК 621.398-506

ПРОБЛЕМА ОБНАРУЖЕНИЯ АНОМАЛИЙ В НАБОРАХ ВРЕМЕННЫХ РЯДОВ

С.Г. Антипов; М.В. Фомина, к.т.н.

(Национальный исследовательский университет МЭИ, г. Москва, antisergey@gmail.com, m_fomina2000@mail.ru)

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

Ключевые слова: временной ряд, аномалия, поиск исключений.

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

В общем случае временной ряд TS (Time Series) - это упорядоченная последовательность значений TS=<tsi, ts2, ..., tsn>, описывающая про-

текание какого-либо длительного процесса. Значениями tsi могут быть показания датчиков, цены на какой-либо продукт, курс валюты и т.п. На рисунке 1 приведен пример временного ряда, где /-я точка на графике соответствует значению tsi, полученному в момент времени / (время t полагается дискретным).

'Су1_0Лх1

О 5 10 15 20 25 30 55 40

Рис. 1. Пример временного ряда

В данной работе решается задача определения аномалий в наборах временных рядов. Проблема определения, или обнаружения, аномалий [1] была поставлена как задача поиска в наборах данных образцов, не удовлетворяющих предполагаемому типовому поведению. Возможность найти аномалии в некотором наборе данных важна при анализе работы сложных технических систем (например, телеметрии спутников), анализе сетевого трафика, в медицине (анализ снимков МРТ), в банковском деле (анализ транзакций, производимых с помощью кредитных карт) и в других предметных областях.

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

Требуется на основании имеющихся данных построить модель, которая является обобщенным описанием нормальных процессов и позволяет различать нормальные и аномальные процессы.

Обнаружение аномалий в наборах временных рядов

Пусть имеется набор объектов, где каждый объект есть временной ряд: TSGOOD=<TSgood-i, TSgood2, ..., TSgoodm> - обучающая выборка. Каждый из временных рядов в обучающей выборке является примером нормального протекания некоторого процесса. На основании анализа временных рядов из TSGOOD необходимо построить модель, позволяющую относить временные ряды из экзаменационной выборки TSTEST=<TStestь TStest2, ..., TStestml> к нормальным рядам или аномалиям на основании некоторого критерия.

Рассмотрим данную задачу на простом примере. Пусть обучающая выборка TSGOOD (рис. 2) и экзаменационная выборка TSTEST состоят из трех временных рядов (рис. 3).

Из приведенной выше постановки задачи видно, что временные ряды 1 и 3 из экзаменационного множества (рис. 3) значительно отличаются (в данном случае по форме) от временных рядов из обучающего множества и, следовательно, будут являться аномалиями для данного обучающего множества. При этом можно предположить, что механизм, или закон, по которому были получены временные ряды 1 и 3 экзаменационной выборки, отличается от механизма, с помощью которого были получены временные ряды из обучающего множества. Напротив, временной ряд 2 из экзаменационного множества (рис. 3) не будет являться аномалией, так как по форме очень похож на вре-

менные ряды из обучающего множества.

В работе рассматривается задача поиска аномалий для случая, когда обучающее множество состоит из примеров единственного класса - положительных. Задача усложняется тем, что набор исходных данных ограничен и не содержит примеров аномальных процессов; также не задан критерий, по которому можно было бы различать нормальные и аномальные временные ряды. В связи с этим трудно точно оценить качество работы алгоритма (процент правильно определенных аномалий, количество ложных срабатываний и пропущенных аномалий). Более того, многие алгоритмы, хорошо показавшие себя на одних наборах данных, совершенно не подходят для других предметных областей. Также может отличаться и критерий, на основании которого определяется нормальность рядов, - в приведенном примере таким критерием была форма ряда (временной ряд вида «П» считался нормальным, отличные от него по форме считались аномалиями).

О способах представления временных рядов

Для создания алгоритмов обобщения информации, представленной временными рядами, требуется, безусловно, разработка методов предварительного преобразования самих рядов. Временные ряды, представляющие данные из разных областей в различных единицах измерения, следует привести к некоторым типовым, удобным для дальнейшего анализа формам. Для работы с временными рядами предлагается использовать два способа их представления - нормализованное и символьное. Нормализацией назовем приведение временного ряда к такому виду, при котором среднее для него отклонение было бы равно нулю, а среднеквадратичное - единице. Настоящее преобразование является необходимым процессом при предварительной обработке данных [2]. Пример нормализованного ряда приведен в таблице 1.

Символьное представление для временного ряда может быть получено из нормализованного с помощью алгоритма Symbolic Aggregate approXimation [2]. Для выполнения такого преобразования вводится алфавит А - конечный набор символов: А={аь а2, ..., а^}.

При создании данного алгоритма сделано допущение о том, что желательно иметь равные вероятности появления символов алфавита A [2]. С этой целью для нормализованного временного ряда ищется упорядоченное множество таких точек B=ßo, ßi, ß2, ..., ßaI -i, ßAI (ßo=-», ßw=+®), которые делили бы область под графиком стандартной нормальной (гауссовой) кривой N(0, 1) на одинаковые площади, равные 1/|A|. Символьное представление для временного ряда TS получается далее по следующему правилу: если очередной эле-

мент tsi меньше р0, то он отображается в первый символ алфавита А, если элемент tsi больше в а | , то он отображается в последний символ алфавита А. Если же элемент ts попадает в интервал (Рк, Рм), то есть то он отображается в символ

алфавита, соответствующий данному интервалу.

Пример символьного представления (рассматривался алфавит А из 20 символов, А={А, В, С, ..., Т}) для временного ряда приведен в таблице 1.

Таблица 1

Способы представления временных рядов

Время, t Абсолютное значение Нормализованное представление Символьное представление

1 512 -1,04152 C

2 1448 0,747873 P

3 88 -1,85209 A

4 1448 0,747873 P

5 1448 0,747873 P

6 1448 0,747873 P

7 1448 0,747873 P

8 1448 0,747873 P

9 1448 0,747873 P

10 1448 0,747873 P

11 1448 0,747873 P

12 1448 0,747873 P

13 1448 0,747873 P

14 1448 0,747873 P

15 88 -1,85209 A

16 1024 -0,0627051 J

17 512 -1,04152 C

18 512 -1,04152 C

19 512 -1,04152 C

20 512 -1,04152 C

Алгоритм обнаружения аномалий в наборах временных рядов

Как было отмечено выше, критерий, позволяющий выявлять аномалии среди нормальных рядов, от задачи к задаче может меняться. Одним из наиболее универсальных способов обнаружения аномалий при наличии в обучающем множестве примеров единственного класса является использование нейронной сети [1]. Однако сам по себе процесс построения и обучения нейронной сети весьма трудоемок, особенно в условиях ограниченности имеющихся для анализа данных. Поэтому была поставлена задача создать такой алгоритм, который можно было бы использовать для поиска аномалий в наборах временных рядов даже при минимальном наборе данных для обучения. Алгоритм при этом должен быть достаточно простым в применении, но способным эффективно определять аномалии в предъявленных временных рядах.

В данной работе предлагается алгоритм TS-ЛСЕЕР, который является модификацией алгоритма, основанного на точном описании исключе-

ния [3] для определения аномалий в наборах временных рядов. Исходная постановка задачи [3] следующая: для заданного множества объектов I необходимо получить множество-исключение Ix. Для этого на множестве I вводятся:

- функция неподобия (dissimilarity) D: P(I)^ ^Ro+, P(I) - множество всех подмножеств для I;

- функция мощности (cardinality) C: P(I)^ ^R0+ такая, что для любых Ii, I2 - подмножеств I выполняется Ii CI2^C(Ii)<C(I2);

- фактор сглаживания (smoothing factor): SF(Ij)=C(I-Ij)*(D(I)-D(Ij)), который вычисляется для каждого IfzI .

Тогда Ix<^I является множеством-исключением для I относительно D и C, если его фактор сглаживания SF(Ix) максимален [3].

Данный метод, на основе которого разработан алгоритм TS-ADEEP, был адаптирован для задачи поиска аномалий в наборах временных рядов. В качестве множества I рассматриваются множества I=TSGOOD UTSTestj для каждого TSTesjcTSTest. Функция неподобия для временных рядов будет задана следующим образом: D( 1 j) = ^ | a - |2 ,

aelj

7 ^ A где ij = £ —.

AElj I 1 j I

Сначала вычисляется Ij - среднее для векторов из Ij. Функция неподобия вычисляется как сумма квадратов расстояний между средним и векторами из Ij.

Функция мощности задается формулой

C (I -1,) =—.

Формула для вычисления фактора сглаживания имеет прежний вид: SF(Ij)= C(I-Ij)*(D(I)-D(Ij)).

Если множество-исключение Ix, построенное для I=TSGOODUTSTestj, содержит TSTestj, то TSTestj является аномалией для TSGOOD.

Приведем псевдокод алгоритма.

Алгоритм TS-ADEEP (TSGOOD: обучающее множество, TSTest: экзаменационное множество)

Результат: TSAnom - набор временных рядов-аномалий

начало

TSAnom=0 Для j от 1 до |TSTest| нц

выбрать TSTestjCTSTest I=TSGOODU TSTesj Найти множество-исключение Ix в I Если, TSTestjEIx, то TSAnom= =TSAnomU TSTestj

кц

вывести TSAnom

конец

Помимо этого, предлагается следующая модификация для алгоритма поиска исключений: найдя множество-исключение Ix, можно продолжить по-

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

О временных рядах, используемых для моделирования процесса обнаружения аномалий

Моделирование процесса обнаружения аномалий было проведено как на искусственных, так и на реальных данных. В качестве искусственных данных взяты классические описания временных рядов, используемые в научной литературе: cylinder-bell-funnel и control chart. В качестве реальных - трафик (использовались данные, собранные с помощью специальных систем анализа трафика при передаче файлов по различным протоколам). Дадим их краткое описание.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Сylinder-bell-funnel [4] содержит три различных класса - цилиндр, колокол, воронка.

Сontrol chart [5] включает шесть различных классов, описывающих тренды, которые могут присутствовать в процессах: цикличность, уменьшение значения, резкое падение, увеличение значения, постоянная величина, резкое возрастание.

Трафик - данные, полученные на основе анализа трафика при передаче файлов по протоколу ftp в различных условиях (в том числе при одновременной передаче нескольких файлов по нескольким протоколам). В качестве тестовых данных, помимо прочих, использовались специальным образом сгенерированные временные ряды, имитирующие передачу данных.

Результаты моделирования процесса обнаружения аномалий во временных рядах

Чтобы определить, насколько хорошо предложенный алгоритм справляется с обнаружением аномалий в наборах временных рядов, было проведено его программное моделирование. Рассмотрим процесс моделирования на примере набора данных cylinder-bell-funnel. Сначала в качестве обучающего множества TSGOOD генерируется набор временных рядов, принадлежащих первому из классов, цилиндр. В качестве экзаменационного множества TSTEST генерируются временные ряды, принадлежащие всем трем классам, - цилиндр, колокол, воронка. Временной ряд TStestj является нормальным, если он принадлежит классу цилиндр, и аномалией, если принадлежит классу колокол или воронка. Соответственно, алгоритм корректно находит аномалии, если он относит временные ряды класса колокол и воронка из

Таблица 2

Точность определения аномалий

Класс рядов в обучающем множестве Представление временного ряда Число символов в алфавите Количество правильно определенных временных рядов, (%)

для набора данных cylinder-bell-funnel

cyl Числовое - 230/300, (76,7)

cyl Символьное 20 201/300, (67)

cyl Символьное 35 210/300, (70)

cyl Символьное 50 223/300, (74,3)

bel Числовое - 227/300, (75,7)

bel Символьное 20 242/300, (80,7)

bel Символьное 35 240/300, (80)

bel Символьное 50 240/300, (80)

fun Числовое - 210/300, (70)

fun Символьное 20 213/300, (71)

fun Символьное 35 211/300, (70,3)

fun Символьное 50 210/300, (70)

для набора данных control chart

cyclic Числовое - 547/600, (91,2)

cyclic Символьное 20 552/600, (92)

cyclic Символьное 35 551/600, (91,8)

cyclic Символьное 50 549/600, (91,5)

dec Числовое - 560/600, (93,3)

dec Символьное 20 586/600, (97,7)

dec Символьное 35 582/600, (97)

dec Символьное 50 587/600, (97,8)

downw Числовое - 510/600, (85)

downw Символьное 20 522/600, (87)

downw Символьное 35 511/600, (85,2)

downw Символьное 50 510/600, (85)

inc Числовое - 511/600, (85,2)

inc Символьное 20 579/600, (96,5)

inc Символьное 35 572/600, (95,3)

inc Символьное 50 572/600, (95,3)

norm Числовое - 510/600, (85)

norm Символьное 20 510/600, (85)

norm Символьное 35 510/600, (85)

norm Символьное 50 510/600, (85)

upw Числовое - 512/600, (85,3)

upw Символьное 20 451/600, (75,2)

upw Символьное 35 442/600, (73,7)

upw Символьное 50 506/600, (84,3)

для набора данных «трафик»

traffic Числовое - 47/48, (97,92)

traffic Символьное 20 46/48, (95,8)

traffic Символьное 35 46/48, (95,8)

traffic Символьное 50 46/48, (95,8)

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

Данные, приведенные в таблице 2, дают возможность оценить результаты распознавания аномалий.

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

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

Литература

1. Chandola V., Banerjee A. and Kumar V. Anomaly Detection A Survey, ACM Computing Surveys. Vol. 41(3). Article 15, July 2009, pp. 1-72.

2. Lin J., Keogh E., Lonardi S., Chiu B. A Symbolic Representation of Time Series, with Implications for Streaming Algorithms // In Proceedings of the 8th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery, 2003, pp. 2-11.

3. Arning A., Agrawal R., Raghavan P. A Linear Method for Deviation Detection in Large Databases // In Proceedings of KDD'1996, pp. 164-169.

4. Saito Naoki. Local feature extraction and its application using a library of bases. PhD thesis, Yale University, December 1994.

5. Pham D.T., Chan A.B. Control Chart Pattern Recognition using a New Type of Self Organizing Neural Network // Proc. Instn, Mech, Engrs. Vol. 212. No 1. 1998, pp. 115-127.

УДК 004.415.2

МОДЕЛЬ РАСЧЕТА ЕМКОСТИ АВТОМАТИЧЕСКОГО СКЛАДА ПРОДУКЦИИ

А.С. Русяев (Оренбургский государственный университет, nermal@mail.ru); Т.О. Русяева (Оренбургский государственный аграрный университет, tovol@rambler.ru)

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

i Надоели баннеры? Вы всегда можете отключить рекламу.