29
Поиск закономерностей в последовательностях (Sequence Mining) Игнатов Дмитрий Игоревич Национальный исследовательский университет Высшая школа экономики Факультет компьютерных наук Департамент анализа данных и искусственного интеллекта PM 2017 (CS @ HSE) Pattern Mining PM 2017 1 / 29

Sequence mining

Embed Size (px)

Citation preview

Поиск закономерностей в последовательностях(Sequence Mining)

Игнатов Дмитрий Игоревич♦

♦Национальный исследовательский университет Высшая школа экономикиФакультет компьютерных наук

Департамент анализа данных и искусственного интеллекта

PM 2017

(CS @ HSE) Pattern Mining PM 2017 1 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 2 / 29

Анализ темпоральных данных[J. Han & M. Kamber, Data Mining: Concepts and Techniques,2nd Edition, Chapter 8, 2006 ]

ЗадачиАнализ потоков данных (Mining Data Streams)Анализ временных рядов (Time-Series Analysis)Анализ последовательностей (Mining Sequence Data)

(CS @ HSE) Pattern Mining PM 2017 3 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 4 / 29

Поиск частых последовательностейПостановка задачи

[Agrawal and Srikant, 1995]“Given a set of sequences, where each sequence consists of a list ofevents (or elements) and each event consists of a set of items, and givena user-specified minimum support threshold of min sup, sequentialpattern mining finds all frequent subsequences, that is, thesubsequences whose occurrence frequency in the set of sequences is noless than min sup.”

(CS @ HSE) Pattern Mining PM 2017 5 / 29

Поиск частых последовательностейОсновные понятия

Множество элементов (Itemset):a и {a, b, c} для краткости a и abc

Последовательность (Sequence):s = 〈a(abc)(ac)d(cf)〉Событие (Event):s = 〈e1e2e3e4e5〉e1 = a и e2 = (abc) c точностью до интервала наступленияДлина последовательности – число вхождений всех элементов:длина s равна 9l-последовательность:s – 9-последовательность

(CS @ HSE) Pattern Mining PM 2017 6 / 29

Поиск частых последовательностейHan et al., Zaki & Meira, Aggarwal et al., и др.

s = 〈s1, . . . , sk〉 – подпоследовательность r = 〈r1, . . . , rl〉 (s v r)если k ≤ l и существуют 1 ≤ t1 < t2 < . . . < tk ≤ l, такие чтоsj = s′tj для всех 1 ≤ j ≤ k1.support(s,D) – поддержка последовательности s в D, т.е. числопоследовательностей в D, таких что s является ихподпоследовательностью.

support(s,D) = |{s′|s′ ∈ D, s v s′}|

1если элементы последовательности si – множества (sequences of itemsets), тотребуют sj ⊆ stj

(CS @ HSE) Pattern Mining PM 2017 7 / 29

Поиск частых (под)последовательностейБаза данных последовательностей

Номер последовательности Последовательность(Sequence_ID) (Sequence)

1 〈a(abc)(ac)d(cf)〉2 〈(ad)c(bc)(ae)〉3 〈(ef)(ab)(df)cb〉4 〈eg(af)cbc〉

〈af〉 является подпоследовательностью 1 и 3support(〈af〉) = 2

(CS @ HSE) Pattern Mining PM 2017 8 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 9 / 29

Алгоритмы поиска частых последовательностейGSP: [Srikant & Agrawal, 1996]

Generalized Sequential Pattern (GSP)Расширение алгоритма Apriori

(CS @ HSE) Pattern Mining PM 2017 10 / 29

Алгоритмы поиска частых последовательностейSPADE: [Zaki, 2001]

Sequential PAttern Discovery using Equivalence classesИспользует вертикальный формат данныхДействует по принципу “порождай и проверяй”

(CS @ HSE) Pattern Mining PM 2017 11 / 29

Алгоритмы поиска частых последовательностейSPADE: [Zaki, 2001]

SID Sequence1 〈a(abc)(ac)d(cf)〉2 〈(ad)c(bc)(ae)〉3 〈(ef)(ab)(df)cb〉4 〈eg(af)cbc〉

(CS @ HSE) Pattern Mining PM 2017 12 / 29

Алгоритмы поиска частых последовательностейPrefixSpan: [Jian P. & Jiawei H. et al., 2001]

Использует FP-деревья (Frequent Pattern Trees) и проекции базданных (projected dabases)Понятие суффикса и префикса последовательности

(CS @ HSE) Pattern Mining PM 2017 13 / 29

Алгоритмы поиска частых последовательностейPrefixSpan: [Jian P. & Jiawei H. et al., 2001]

(CS @ HSE) Pattern Mining PM 2017 14 / 29

Замкнутые (под)последовательностиОпределение

ОпределениеЗамкнутая подпоследовательность (сlosed subqequence) –последовательность, которая не содержит надпоследовательности стакой же поддержкой.

(CS @ HSE) Pattern Mining PM 2017 15 / 29

(Частые) замкнутые (под)последовательностиПример

Номер последовательности Последовательность(Sequence_ID) (Sequence)

1 〈a(abc)(ac)d(cf)〉2 〈(ad)c(bc)(ae)〉3 〈(ef)(ab)(df)cb〉4 〈eg(af)cbc〉

minsupp = 3

Замкнуто ли 〈a〉?Замкнуто ли 〈ab〉?Замкнуто ли 〈af〉?

(CS @ HSE) Pattern Mining PM 2017 16 / 29

Замкнутые (под)последовательностиАлгоритмы

CloSpan [X. Yan, J. Han, and R. Afshar, 2003]BIDE [J. Wang and J. Han, 2004]

(CS @ HSE) Pattern Mining PM 2017 17 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 18 / 29

Доступные реализацииSPMF

SPMF A Sequential Pattern Mining Framework>100 алгоритмов анализа данных:

I association rule miningI itemset miningI sequential pattern miningI sequential rule miningI sequence predictionI high-utility pattern miningI clustering and classification

Репозиторий М.ЗакиTraMiner – библиотека для анализа последовательностей в R:

I Extracting frequent event subsequencesI Identifying most discriminating event subsequencesI Association rules between subsequences

(CS @ HSE) Pattern Mining PM 2017 19 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 20 / 29

Демографические последовательностиДанные опроса РиДМиЖ

Источник – обследование “Родители и дети, мужчины иженщины в семье и обществе”Предобработанная выборка Github

I 2300 опрошенныхI Социально-демографические признаки: пол, возраст,

образование, место жительства (город/село) и т.п.I Демографические события: отделение от семьи, партнер,

вступление в брак, рождение ребенка, устройство на работу.

(CS @ HSE) Pattern Mining PM 2017 21 / 29

Демографические последовательностиСтатьи и слайды

H. Blockeel, J. Furnkranz, A. Prskawetz, F.C. Billari: DetectingTemporal Change in Event Sequences: An Application toDemographic Data. PKDD 2001: 29-41F. C. Billari, J. Furnkranz, A. Prskawetz. Timing, Sequencing, andQuantum of Life Course Events: A Machine Learning Approach.European Journal of Population, 2006, 22(1), pp 37–65

Научно-учебная группа “Модели и методы анализадемографических последовательностей”

D.I. Ignatov, E. Mitrofanova, A. Muratova, D. Gizdatullin: PatternMining and Machine Learning for Demographic Sequences. KESW2015: 225-239[Статья] [Слайды]Pattern-based classification of demographic sequences [Cлайды]

(CS @ HSE) Pattern Mining PM 2017 22 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 23 / 29

Домашнее заданиеДанные опроса РиДМиЖ

На основе имеющихся опросных данных (см. Github) определить:

Какое событие чаще всего является первым у каждогопоколения? (можно построить гистограмму)Какое событие чаще всего является последним у каждогопоколения? (можно построить гистограмму)Какая последовательность событий наиболее частая у каждогопоколения (длины 2, 3, 4 и 5)?Аналогичные вопросы для признака “пол” и признаков“поколение” и “пол”

(CS @ HSE) Pattern Mining PM 2017 24 / 29

Содержание

1 Анализ темпоральных данных

2 Основные определения и примеры

3 Алгоритмы поиска частых последовательностейЗамкнутые последовательности

4 Программные реализации

5 Case study: демографические последовательности

6 Домашнее задание

7 Список для чтения

(CS @ HSE) Pattern Mining PM 2017 25 / 29

Что почитать?Книги и статьи

Учебник Zaki & Meira (Глава 10)Учебник Han & Kamber, 2-е издание (слайды) (Глава 8.3), нет в3-м изданииFrequent Pattern Mining. Editors: Charu C. Aggarwal, Jiawei HanПоиск частых последовательностей (статьи – мой архив):PrefixSpan, CloSpan, GSP, SPADE, BIDE и др.Подборка Fournier-Viger’а

I Поиск частых последовательностей (в т.ч.многоуровневые/многомерные последовательности)

I Поиск правил на последовательностях (sequential rules mining)I Предсказание следующего события (sequence prediction)

(CS @ HSE) Pattern Mining PM 2017 26 / 29

Recommender Systems Challenge 2015

RecSys Challenge 2015Статьи победителейНаше решение

ЗадачаGiven a sequence of click events performed by some user during atypical session in an e-commerce website, the goal is to predict whetherthe user is going to buy something or not, and if he is buying, whatwould be the items he is going to buy. The task could therefore bedivided into two sub goals:

1 Is the user going to buy items in this session? Yes|No2 If yes, what are the items that are going to be bought?

(CS @ HSE) Pattern Mining PM 2017 27 / 29

Just for fun или шутки радиhttp://dilbert.com/strip/2014-11-06

(CS @ HSE) Pattern Mining PM 2017 28 / 29

Вопросы и контактыwww.hse.ru/staff/dima

Спасибо!

dmitrii.ignatov[at]gmail.com

(CS @ HSE) Pattern Mining PM 2017 29 / 29