SlideShare a Scribd company logo
Лекция №7

Секвенциальный анализ




                        1
План лекции
●   Недостатки ассоциативного анализа
●   Общие понятия секвенциального анализа
●   Основные правила секвенциального
    анализа
●   Алгоритм AprioriAll
●   Алгоритм GSP


    Цель лекции — овладеть основами и
    инструментами секвенциального анализа   2
Ассоциативный анализ

●   Объект анализа — множество транзакции
●   Предмет анализа — выявление частых
    наборов
●   И построение на основании этих наборов
    полезных правил




                                             3
Ограничения

●   Не рассматриваются повторяющиеся
    элементы в наборе
●   Не рассматривается время




                                       4
Секвенциальный анализ

●   Объект анализа — множество транзакции
●   Предмет анализа — выявление частых
    последовательностей
●   И построение на основании этих
    последовательностей полезных правил




                                            5
Применение

●   Интернет-магазины(с аккаунтами)
●   Системы анализа посещаемости
       –   rating.auditory.ru
●   Традиционные магазины (с картами
    покупателей)
●   И другие виды анализа
    последовательностей


                                        6
Основные понятия

●   Набор
●   Идентификатор сущности
●   Последовательность
●   Поддержка последовательности
●   Вхождение последовательности в другую




                                            7
Вхождение
                       последовательности
●   Последовательность
            1,3,4             4, 6, 7        3, 7




●   Входит в последовательность
      2,3           1,2,3,4      3,4,5,6,7     1,6,7   1,3,6,7




                                                                 8
Вхождение
                       последовательности
●   Последовательность
            1,3,4             4, 6, 7        3, 7




      2,3           1,2,3,4      3,4,5,6,7     1,6,7   1,3,6,7




                                                                 9
Вхождение
                   последовательности

3         2,3             3,6,7         3, 7      3,6,7




    2,3         1,2,3,4     3,4,5,6,7     1,6,7     1,3,6,7




                                                              10
Вхождение
                   последовательности

3         2,3             3,6,7         3       6,7




    2,3         1,2,3,4     3,4,5,6,7   1,6,7    1,3,6,7




                                                           11
Пример(веб-страницы)
Транзакция   Элементы                               По ID
1            Главная, Новость1, Новость2            {1,5,6}
2            Главная, Статьи, Статья3               {1,3,9}
3            Главная, Статьи, Статья4, Статья3      {1,3,10,9}
4            Статья4, Статья3, Новости, Новость1    {10,9,2,5}
5            Главная, Новости, Новость1             {1,2,5}
6            Главная, карта сайта, Статья3          {1,4,9}
7            Новость1, Новости, Статьи, Статья3     {5,2,3,9}
8            Статьи, Статья3, Статья4, Статьи,      {3,9,10,2}
             Новости
9            Новость1, Новости, Новость2, Статьи,   {5,2,6,3,9}
             Статья3
10           Главная, Новость1, Статьи, Статья3     {1,5,3,9}


                                                                  12
Пример(веб-страницы)
Транзакция   Сущность   Элементы                                       По ID
1            1          Главная, Новость1, Новость2                    {1,5,6}
2            2          Главная, Статьи, Статья3                       {1,3,9}
3            1          Главная, Статьи, Статья4, Статья3              {1,3,10,9}
4            3          Статья4, Статья3, Новости, Новость1            {10,9,2,5}
5            2          Главная, Новости, Новость1                     {1,2,5}
6            2          Главная, карта сайта, Статья3                  {1,4,9}
7            3          Новость1, Новости, Статьи, Статья3             {5,2,3,9}
8            3          Статьи, Статья3, Статья4, Статьи, Новости      {3,9,10,2}

9            4          Новость1, Новости, Новость2, Статьи, Статья3   {5,2,6,3,9}

10           1          Главная, Новость1, Статьи, Статья3             {1,5,3,9}


                                                                                 13
Алгоритм AprioriALL

●   Итеративный
●   Есть подготовительные фазы:
       –   Сортировки
       –   Генерация одноэлементных кандидатов
       –   Трансформации
●   Каждая итерация — фазы:
       –   Генерация последовательностей
       –   Максимизации
                                                 14
Подготовительные фазы

●   Сортировки
●   Генерация одноэлементных кандидатов
       –   Сразу проверка на поддержку
●   Трансформации
       –   Превращаем наши транзакции в
            последовательности




                                          15
Фаза трансформации

●   Записываем в строчку транзакции
    последовательно
●   Исключаем нечастые элементы
●   Заменяем элементы максимально
    возможным числом одноэлементных
    последовательностей




                                      16
Пример(веб-страницы)
Транзакция   Сущность   Элементы                                       По ID
1            1          Главная, Новость1, Новость2                    {1,5,6}
2            2          Главная, Статьи, Статья3                       {1,3,9}
3            1          Главная, Статьи, Статья4, Статья3              {1,3,10,9}
4            3          Статья4, Статья3, Новости, Новость1            {10,9,2,5}
5            2          Главная, Новости, Новость1                     {1,2,5}
6            2          Главная, карта сайта, Статья3                  {1,4,9}
7            3          Новость1, Новости, Статьи, Статья3             {5,2,3,9}
8            5          Статьи, Статья3, Статья4, Статьи, Новости      {3,9,10,2}

9            4          Новость1, Новости, Новость2, Статьи, Статья3   {5,2,6,3,9}

10           1          Главная, Новость1, Статьи, Статья3             {1,5,3,9}


                                                                                 17
Пример(веб-страницы)
Сущность          По ID
1                 ({1,5,6}, {1,3,10,9}, {1,5,3,9})
2                 ({1,3,9}, {1,2,5},{1,4,9})
3                 ({10,9,2,5},{5,2,3,9})
4                 {5,2,6,3,9}
5                 {3,9,10,2}


Сущность По ID
1          ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,9}{3,5}{5,9}{3,5,9})
2          ({3}{9}{3,9}, {2}{5}{2,5}, {9})
3          ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}
           {2,3,9}{3,5,9})
4          ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9})
5
                                                                                             18
Пример(веб-страницы)
Сущность          По ID
1                 ({1,5,6}, {1,3,10,9}, {1,5,3,9})
2                 ({1,3,9}, {1,2,5},{1,4,9})
3                 ({10,9,2,5},{5,2,3,9})
4                 {5,2,6,3,9}
5                 {3,9,10,2}


Сущность По ID
1          ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,9}{3,5}{5,9}{3,5,9})
2          ({3}{9}{3,9}, {2}{5}{2,5}, {9})
3          ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}
           {2,3,9}{3,5,9})
4          ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9})
5          ({2}{3}{9}{10}{2,3}{2,9}{3,9}{9,10}{2,3,9})
                                                                                             19
Пример(веб-страницы)
Сущность По ID
1          ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,5}{3,9}{5,9}{3,5,9})
2          ({3}{9}{3,9}, {2}{5}{2,5}, {9})
3          ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}
           {2,3,9}{3,5,9})
4          ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9})
5          ({2}{3}{9}{10}{2,3}{2,9}{3,9}{9,10}{2,3,9})


Сущность         По ID
1                ({c},{b,d,e,j,l,o},{b,c,d,i,j,k,n})
2
3
4                ({a,b,c,d,f,g,h,i,j,k,m,n})
5
                                                                                             20
Алгоритм AprioriALL -
                  недостатки
●   Учитывает последовательность, но не
    учитывает временные рамки




                                          21
Временные рамки

●   Максимальное время между
    транзакциями(max-gap)
●   Минимальное время между
    транзакциями(min-gap)
●   Временное окно, в котором две транзакции
    можно слить(window)




                                               22
Алгоритм GSP

●   Итеративный
●   Учитывает время между транзакциями
●   Смежные последовательности
●   Каждую итерацию — фазы
       –   Генерации кандидатов
              ●   Подфаза объединения
              ●   Подфаза очистки
       –   Подсчет поддержки

                                         23
Подфаза объединения

●   Объединяем последовательности в том
    случае, если удаление первого элемента из
    одной и последнего из другой дает одну и ту
    же последовательность




                                              24
Подфаза очистки

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




                                            25
Подсчет поддержки

●   Подсчет поддержки происходит для каждого
    из кандидатов путем итеративного поиска по
    выборке следующего составляющего
    кандидата с учетом min-gap, max-gap,
    window и повышении поддержки на 1 при
    нахождении




                                             26

More Related Content

More from Ivan Ignatyev

Защита доверия. Цифровые подписи
Защита доверия. Цифровые подписиЗащита доверия. Цифровые подписи
Защита доверия. Цифровые подписиIvan Ignatyev
 
Защита от отказов
Защита от отказовЗащита от отказов
Защита от отказовIvan Ignatyev
 
Идентификация, Аутентификация, Авторизация
Идентификация, Аутентификация, АвторизацияИдентификация, Аутентификация, Авторизация
Идентификация, Аутентификация, АвторизацияIvan Ignatyev
 
Криптография
КриптографияКриптография
КриптографияIvan Ignatyev
 
Стандарт "Общие Критерии": Состав и взгляд на защищаемые объект
Стандарт "Общие Критерии":  Состав и взгляд на защищаемые объектСтандарт "Общие Критерии":  Состав и взгляд на защищаемые объект
Стандарт "Общие Критерии": Состав и взгляд на защищаемые объектIvan Ignatyev
 
Стандарт "Общие Критерии" : Состав, методология, требования доверия
Стандарт "Общие Критерии" : Состав, методология, требования доверияСтандарт "Общие Критерии" : Состав, методология, требования доверия
Стандарт "Общие Критерии" : Состав, методология, требования доверияIvan Ignatyev
 
Управление безопасностью
Управление безопасностьюУправление безопасностью
Управление безопасностьюIvan Ignatyev
 
Организация защищенного доступа к данным
Организация защищенного доступа к даннымОрганизация защищенного доступа к данным
Организация защищенного доступа к даннымIvan Ignatyev
 
Факторный анализ
Факторный анализФакторный анализ
Факторный анализIvan Ignatyev
 
Алгоритмы кластеризации. ч.1
Алгоритмы кластеризации. ч.1Алгоритмы кластеризации. ч.1
Алгоритмы кластеризации. ч.1Ivan Ignatyev
 
Алгоритмы кластеризации. ч.2
Алгоритмы кластеризации. ч.2Алгоритмы кластеризации. ч.2
Алгоритмы кластеризации. ч.2Ivan Ignatyev
 
Алгоритмы кластеризации. ч.3
Алгоритмы кластеризации. ч.3Алгоритмы кластеризации. ч.3
Алгоритмы кластеризации. ч.3Ivan Ignatyev
 
Введение в анализ данных
Введение в анализ данныхВведение в анализ данных
Введение в анализ данныхIvan Ignatyev
 
Игровые методы обучения на кафедре ИКТ
Игровые методы обучения на кафедре ИКТИгровые методы обучения на кафедре ИКТ
Игровые методы обучения на кафедре ИКТ
Ivan Ignatyev
 

More from Ivan Ignatyev (14)

Защита доверия. Цифровые подписи
Защита доверия. Цифровые подписиЗащита доверия. Цифровые подписи
Защита доверия. Цифровые подписи
 
Защита от отказов
Защита от отказовЗащита от отказов
Защита от отказов
 
Идентификация, Аутентификация, Авторизация
Идентификация, Аутентификация, АвторизацияИдентификация, Аутентификация, Авторизация
Идентификация, Аутентификация, Авторизация
 
Криптография
КриптографияКриптография
Криптография
 
Стандарт "Общие Критерии": Состав и взгляд на защищаемые объект
Стандарт "Общие Критерии":  Состав и взгляд на защищаемые объектСтандарт "Общие Критерии":  Состав и взгляд на защищаемые объект
Стандарт "Общие Критерии": Состав и взгляд на защищаемые объект
 
Стандарт "Общие Критерии" : Состав, методология, требования доверия
Стандарт "Общие Критерии" : Состав, методология, требования доверияСтандарт "Общие Критерии" : Состав, методология, требования доверия
Стандарт "Общие Критерии" : Состав, методология, требования доверия
 
Управление безопасностью
Управление безопасностьюУправление безопасностью
Управление безопасностью
 
Организация защищенного доступа к данным
Организация защищенного доступа к даннымОрганизация защищенного доступа к данным
Организация защищенного доступа к данным
 
Факторный анализ
Факторный анализФакторный анализ
Факторный анализ
 
Алгоритмы кластеризации. ч.1
Алгоритмы кластеризации. ч.1Алгоритмы кластеризации. ч.1
Алгоритмы кластеризации. ч.1
 
Алгоритмы кластеризации. ч.2
Алгоритмы кластеризации. ч.2Алгоритмы кластеризации. ч.2
Алгоритмы кластеризации. ч.2
 
Алгоритмы кластеризации. ч.3
Алгоритмы кластеризации. ч.3Алгоритмы кластеризации. ч.3
Алгоритмы кластеризации. ч.3
 
Введение в анализ данных
Введение в анализ данныхВведение в анализ данных
Введение в анализ данных
 
Игровые методы обучения на кафедре ИКТ
Игровые методы обучения на кафедре ИКТИгровые методы обучения на кафедре ИКТ
Игровые методы обучения на кафедре ИКТ
 

Секвенциальный анализ

  • 2. План лекции ● Недостатки ассоциативного анализа ● Общие понятия секвенциального анализа ● Основные правила секвенциального анализа ● Алгоритм AprioriAll ● Алгоритм GSP Цель лекции — овладеть основами и инструментами секвенциального анализа 2
  • 3. Ассоциативный анализ ● Объект анализа — множество транзакции ● Предмет анализа — выявление частых наборов ● И построение на основании этих наборов полезных правил 3
  • 4. Ограничения ● Не рассматриваются повторяющиеся элементы в наборе ● Не рассматривается время 4
  • 5. Секвенциальный анализ ● Объект анализа — множество транзакции ● Предмет анализа — выявление частых последовательностей ● И построение на основании этих последовательностей полезных правил 5
  • 6. Применение ● Интернет-магазины(с аккаунтами) ● Системы анализа посещаемости – rating.auditory.ru ● Традиционные магазины (с картами покупателей) ● И другие виды анализа последовательностей 6
  • 7. Основные понятия ● Набор ● Идентификатор сущности ● Последовательность ● Поддержка последовательности ● Вхождение последовательности в другую 7
  • 8. Вхождение последовательности ● Последовательность 1,3,4 4, 6, 7 3, 7 ● Входит в последовательность 2,3 1,2,3,4 3,4,5,6,7 1,6,7 1,3,6,7 8
  • 9. Вхождение последовательности ● Последовательность 1,3,4 4, 6, 7 3, 7 2,3 1,2,3,4 3,4,5,6,7 1,6,7 1,3,6,7 9
  • 10. Вхождение последовательности 3 2,3 3,6,7 3, 7 3,6,7 2,3 1,2,3,4 3,4,5,6,7 1,6,7 1,3,6,7 10
  • 11. Вхождение последовательности 3 2,3 3,6,7 3 6,7 2,3 1,2,3,4 3,4,5,6,7 1,6,7 1,3,6,7 11
  • 12. Пример(веб-страницы) Транзакция Элементы По ID 1 Главная, Новость1, Новость2 {1,5,6} 2 Главная, Статьи, Статья3 {1,3,9} 3 Главная, Статьи, Статья4, Статья3 {1,3,10,9} 4 Статья4, Статья3, Новости, Новость1 {10,9,2,5} 5 Главная, Новости, Новость1 {1,2,5} 6 Главная, карта сайта, Статья3 {1,4,9} 7 Новость1, Новости, Статьи, Статья3 {5,2,3,9} 8 Статьи, Статья3, Статья4, Статьи, {3,9,10,2} Новости 9 Новость1, Новости, Новость2, Статьи, {5,2,6,3,9} Статья3 10 Главная, Новость1, Статьи, Статья3 {1,5,3,9} 12
  • 13. Пример(веб-страницы) Транзакция Сущность Элементы По ID 1 1 Главная, Новость1, Новость2 {1,5,6} 2 2 Главная, Статьи, Статья3 {1,3,9} 3 1 Главная, Статьи, Статья4, Статья3 {1,3,10,9} 4 3 Статья4, Статья3, Новости, Новость1 {10,9,2,5} 5 2 Главная, Новости, Новость1 {1,2,5} 6 2 Главная, карта сайта, Статья3 {1,4,9} 7 3 Новость1, Новости, Статьи, Статья3 {5,2,3,9} 8 3 Статьи, Статья3, Статья4, Статьи, Новости {3,9,10,2} 9 4 Новость1, Новости, Новость2, Статьи, Статья3 {5,2,6,3,9} 10 1 Главная, Новость1, Статьи, Статья3 {1,5,3,9} 13
  • 14. Алгоритм AprioriALL ● Итеративный ● Есть подготовительные фазы: – Сортировки – Генерация одноэлементных кандидатов – Трансформации ● Каждая итерация — фазы: – Генерация последовательностей – Максимизации 14
  • 15. Подготовительные фазы ● Сортировки ● Генерация одноэлементных кандидатов – Сразу проверка на поддержку ● Трансформации – Превращаем наши транзакции в последовательности 15
  • 16. Фаза трансформации ● Записываем в строчку транзакции последовательно ● Исключаем нечастые элементы ● Заменяем элементы максимально возможным числом одноэлементных последовательностей 16
  • 17. Пример(веб-страницы) Транзакция Сущность Элементы По ID 1 1 Главная, Новость1, Новость2 {1,5,6} 2 2 Главная, Статьи, Статья3 {1,3,9} 3 1 Главная, Статьи, Статья4, Статья3 {1,3,10,9} 4 3 Статья4, Статья3, Новости, Новость1 {10,9,2,5} 5 2 Главная, Новости, Новость1 {1,2,5} 6 2 Главная, карта сайта, Статья3 {1,4,9} 7 3 Новость1, Новости, Статьи, Статья3 {5,2,3,9} 8 5 Статьи, Статья3, Статья4, Статьи, Новости {3,9,10,2} 9 4 Новость1, Новости, Новость2, Статьи, Статья3 {5,2,6,3,9} 10 1 Главная, Новость1, Статьи, Статья3 {1,5,3,9} 17
  • 18. Пример(веб-страницы) Сущность По ID 1 ({1,5,6}, {1,3,10,9}, {1,5,3,9}) 2 ({1,3,9}, {1,2,5},{1,4,9}) 3 ({10,9,2,5},{5,2,3,9}) 4 {5,2,6,3,9} 5 {3,9,10,2} Сущность По ID 1 ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,9}{3,5}{5,9}{3,5,9}) 2 ({3}{9}{3,9}, {2}{5}{2,5}, {9}) 3 ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9} {2,3,9}{3,5,9}) 4 ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9}) 5 18
  • 19. Пример(веб-страницы) Сущность По ID 1 ({1,5,6}, {1,3,10,9}, {1,5,3,9}) 2 ({1,3,9}, {1,2,5},{1,4,9}) 3 ({10,9,2,5},{5,2,3,9}) 4 {5,2,6,3,9} 5 {3,9,10,2} Сущность По ID 1 ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,9}{3,5}{5,9}{3,5,9}) 2 ({3}{9}{3,9}, {2}{5}{2,5}, {9}) 3 ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9} {2,3,9}{3,5,9}) 4 ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9}) 5 ({2}{3}{9}{10}{2,3}{2,9}{3,9}{9,10}{2,3,9}) 19
  • 20. Пример(веб-страницы) Сущность По ID 1 ({5}, {3}{9}{10}{3,9}{9,10}{3,9,10}, {3}{5}{9}{3,5}{3,9}{5,9}{3,5,9}) 2 ({3}{9}{3,9}, {2}{5}{2,5}, {9}) 3 ({2}{5}{9}{10}{2,5}{2,9}{5,9}{9,10}, {2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9} {2,3,9}{3,5,9}) 4 ({2}{3}{5}{9}{2,3}{2,5}{2,9}{3,5}{3,9}{5,9}{2,3,9}{3,5,9}) 5 ({2}{3}{9}{10}{2,3}{2,9}{3,9}{9,10}{2,3,9}) Сущность По ID 1 ({c},{b,d,e,j,l,o},{b,c,d,i,j,k,n}) 2 3 4 ({a,b,c,d,f,g,h,i,j,k,m,n}) 5 20
  • 21. Алгоритм AprioriALL - недостатки ● Учитывает последовательность, но не учитывает временные рамки 21
  • 22. Временные рамки ● Максимальное время между транзакциями(max-gap) ● Минимальное время между транзакциями(min-gap) ● Временное окно, в котором две транзакции можно слить(window) 22
  • 23. Алгоритм GSP ● Итеративный ● Учитывает время между транзакциями ● Смежные последовательности ● Каждую итерацию — фазы – Генерации кандидатов ● Подфаза объединения ● Подфаза очистки – Подсчет поддержки 23
  • 24. Подфаза объединения ● Объединяем последовательности в том случае, если удаление первого элемента из одной и последнего из другой дает одну и ту же последовательность 24
  • 25. Подфаза очистки ● Удаляем те из объединенных последовательностей, которые содержат смежные подпоследовательности на 1 меньшего размера, не удовлетворяющие минимальному значению поддержки 25
  • 26. Подсчет поддержки ● Подсчет поддержки происходит для каждого из кандидатов путем итеративного поиска по выборке следующего составляющего кандидата с учетом min-gap, max-gap, window и повышении поддержки на 1 при нахождении 26