Алгоритм HUE-Span

сбор данных

Спереди написано: Объект сравнения этого алгоритма — UP-Span, На самом деле я хочу знать, кто лучше алгоритма UMEpi. Поскольку стратегии и оптимизация определений, принятые обеими сторонами, очень похожи, разница заключается в структуре хранения. Лично я считаю этот алгоритм относительно важным, и ключевая информация будет выделена.

Fast High Utility Episode Mining

Образец

A complex event sequence

a complex event sequence

External utility

external utility

определение

Прежде всего, нам нужно уточнить, что такое «событие»? В Episode Mining событие может относиться к записи о предмете покупки или может быть предупреждением о риске.Событие здесь используется в широком смысле, и важно быть ясным. Конечно, каждое появление события будет иметь соответствующий момент времени, и каждое событие (набор) во временном ряду находится вупорядоченное состояние, измерение времени является необходимым условием майнинга эпизодов, которое можно рассматривать как2D система координатобсудить в.

  • Сложная последовательность событий (сложная последовательность событий) дополнительно расширяется на основе простой последовательности событий (простая последовательность событий, в каждый момент времени происходит только одно событие, и событие находится в упорядоченном состоянии), а также имеется несколько событий в каждый момент времени. каждый момент времени События происходят в одно и то же время (набор событий), определяемый какCES=<(tSEt1,t1),,(tSEtn,tn)>CES = \big<(tSE_{\rm t_1}, t_1), \ldots, (tSE_{\rm t_{\rm n}}, t_{\rm n})\big>tSEtktSE_{\rm t_{\rm k}}Это относится к набору событий в каждый момент времени, а длина набора равна00 \sim \infty, первый в примере тоже можно увидеть

  • Эпизод есть эпизодне пустойИ есть упорядоченные подпоследовательности с несколькими событиями, происходящими одновременно, выраженными в виде<SE1,,SEk>\big<SE_1, \ldots, SE_{\rm k}\big>, из-за разных способов объединения событий представление каждого сюжета также немного отличается.Если два события происходят одновременно, то мы используем<(AB)>\big<(AB)\big>означает, что если два события происходят одно за другим, то мы используем<(A),(B)>\big<(A), (B)\big>указать, обратить внимание на различие

  • Период появления (вхождения) произвольный сюжетα\alphaОдин или несколько периодов времени, соответствующих каждому событию (промежуток времени, когда происходит каждое событие)[ts,te][t_{\rm s}, t_{\rm e}]называется возникновением события. Чтобы было ясно, первая серия событийSE1SE_1должно произойти в момент времениtst_{\rm s}, последний набор событийSEkSE_{\rm k}должно произойти в определенный момент времениtet_{\rm e}(Это период времени, когда происходит сюжет, используйтеoccSet(α)occSet(\alpha)Выражать)

  • Минимальный период времени возникновения (минимальное появление) Когда период времени, в котором происходит сюжет, является наименьшим, мы специально указываем период времени для последующих расчетов. пример сюжета<(B),(C)>\big<(B), (C)\big>Период времени[t2,t3],[t3,t4],[t2,t4][t_2, t_3], [t_3, t_4], [t_2, t_4](Обратите внимание, что события B и C следуют друг за другом), а минимальный промежуток времени равен 1, поэтомуmoSet(<(B),(C)>)={[t2,t3],[t3,t4]}moSet(\big<(B), (C)\big>) = \lbrace [t_2, t_3], [t_3, t_4] \rbrace

  • Максимальная продолжительность времени (maximum time duration) Эта переменная является верхним пределом, устанавливаемым пользователем, потому что по мере дальнейшего роста временного промежутка не только будет увеличиваться рабочая нагрузка, но и связь между событиями будет становиться все более и более тесной. Чем слабее, тем Минимальный период времени возникновения эпизода удовлетворяет требованию максимального временного интервала.tets+1maxDurt_{\rm e} - t_{\rm s} + 1 \le maxDur

  • Полезность события согласуется с методом расчета HUIM, то есть внутренняя полезность (количество, количество) умножается на внешнюю полезность (прибыль, прибыль) Используемые формулы расчета (шаг за шагом) следующие:

    • Значение полезности для одного события в один момент времени:u(e,ti)=p(e)×q(e,ti)u(e, t_{\rm i}) = p(e) \times q(e, t_{\rm i})
    • Значение полезности для набора одновременных событий в один момент времени:u(SEk,ti)=j=1lu(ej,ti)u(SE_{\rm k}, t_{\rm i}) = \sum_{\rm j=1}^{\rm l}u(e_{\rm j}, t_{\rm i}),УведомлениеSEk={e1,,el}SE_{\rm k} = \lbrace e_1, \ldots, e_{\rm l} \rbrace
    • Значения полезности для одного эпизода за минимальный период времени возникновения:u(α,[ts,te])=i=1ku(SEi,tn)u(\alpha, [t_{\rm s}, t_{\rm e}]) = \sum_{\rm i = 1}^{\rm k}u(SE_{\rm i}, t_{\rm n})tstntet_{\rm s} \le t_{\rm n} \le t_{\rm e}, обратите внимание, что каждое событие должно однозначно соответствовать своему моменту времени, а значение полезности события, не относящегося к соответствующему моменту времени, записывается как 0.
    • Значение полезности отдельного эпизода во всей сложной последовательности событий:u(α)=moеmoSet(α)u(α,mo)u(\alpha) = \sum_{mo \in moSet(\alpha)}u(\alpha, mo)

    В качестве примера возьмем последнюю формулу расчета полезности, пустьα=<(B),(C)>\alpha = \big< (B), (C) \big>, то есть

    u(α)=u(<(B),(C)>,[t2,t3])+u(<(B),(C)>,[t3,t4])=[u((B),t2)+u((C),t3)]+[u((B),t3)+u((C),t4)]=[(1×2)+(3×1)]+[(1×3)+(3×1)]=11u(\alpha) = u(\big< (B), (C) \big>, [t_2, t_3]) + u(\big< (B), (C) \big>, [t_3, t_4]) \\ = [u((B), t_2) + u((C), t_3)] + [u((B), t_3) + u((C), t_4)] \\ = [(1 \times 2) + (3 \times 1)] + [(1 \times 3) + (3 \times 1)] = 11

    Уведомление[t2,t4]moSet(α)[t_2, t_4] \not\subseteq moSet(\alpha)и событие(B)(B)и(C)(C)Между ними существует последовательная связь, а не одновременно

  • эпизод высокой полезности, когдаu(α)minUtilu(\alpha) \ge minUtilвремя, сюжетα\alphaЭто участок с высокой полезностью (для краткости «HUE»), который мы ищем, и процесс добычи HUE называется добычей участков с высокой полезностью (HUEM).

    В документе указывается, что, поскольку сюжет может иметь несколько воплощений в этой сложной последовательности событий (из-за временного промежутка вы можете обратиться к<(A),(B),(A)>\big<(A), (B), (A)\big>), поэтому предыдущий расчет HUEM учитывает только значение полезности первого встречающегося эпизода, но реальность такова, что одно и то же событие в разные моменты времени может иметь разную внутреннюю полезность. Результатом этого является один и тот же график, а величина полезности, созданная в разные периоды времени, не одинакова.

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

  • Переопределен эпизод высокой полезности с учетом двух пороговых значений ограничений.minUtilminUtilиmaxDurmaxDur,когдаmoеmoSet(α)mo \in moSet(\alpha),momaxDurmo \subseteq maxDur,u(α)minUtilu(\alpha) \ge minUtilкогда мы рассматриваем сюжетα\alphaоттенок

    • Исправьте значение полезности одного эпизода за минимальный период времени возникновения:

      u(α,[ts,te])=u(SE1,ts)+i=2k1max{u(SEi,tg(i)xxе[1,j]}+u(SEk,te)u(\alpha, [t_{\rm s}, t_{\rm e}]) = u(SE_1, t_{\rm s}) + \sum_{\rm i=2}^{\rm k-1}max\lbrace u(SE_{\rm i}, t_{\rm g(i)x} \mid x \in [1, j]\rbrace + u(SE_{\rm k}, t_{\rm e})

      Все содержание расчета можно разделить на три части: начало, сочетание максимального значения полезности в середине и конец. такой же какα=<(A),(B),(A)>\alpha = \big<(A), (B), (A)\big>Например,

      u(α,[t1,t4])=u((A),t1)+max{u((B),t2),u((B),t3)}+u((A),t4)=2+max(2,3)+4=9u(\alpha, [t_1, t_4]) = u((A), t_1) + max\lbrace u((B), t_2), u((B), t_3)\rbrace + u((A), t_4) \\ = 2 + max(2, 3) + 4 = 9
    • Расчеты по другим формулам остаются без изменений.

  • Параллельная конкатенация (одновременная конкатенация) В этом режиме конкатенации размах событий графика после конкатенации не увеличивается,simulsimul-concat(α,β)=<SE1,,SExSE1',,SEy'>concat(\alpha, \beta) = \big<SE_1, \ldots, SE_{\rm x} \cup SE_1^\prime, \ldots, SE_{\rm y}^\prime\big>

  • Последовательная конкатенация В этом режиме конкатенации диапазон событий графика после конкатенации увеличивается,serialserial-concat(α,β)=<SE1,,SEx,SE1',,SEy'>concat(\alpha, \beta) = \big<SE_1, \ldots, SE_{\rm x}, SE_1^\prime, \ldots, SE_{\rm y}^\prime\big>

  • взвешенное по эпизодам использование иTWU,SWUТочно так же в качестве предварительного условия проверки со свойством закрытия загрузки все обсуждаемые здесь сценарии должны иметьtets+1maxDurt_{\rm e} - t_{\rm s} + 1 \le maxDur, для каждого одновременного событияSEiSE_{\rm i}имеют соответствующие моменты времениtg(i)t_{\rm g(i)}(Ps. По крайней мере, один момент времени), используемые формулы расчета (шаг за шагом) следующие:

    • EWU для одного эпизода в течение минимального периода времени возникновения:

      EWU(α,[ts,te])=i=1k1u(SEi,tg(i)+j=tets+maxDur1u(tSEj,j))EWU(\alpha, [t_{\rm s}, t_{\rm e}]) = \sum_{\rm i=1}^{\rm k-1}u(SE_{\rm i}, t_{\rm g(i)} + \sum_{\rm j=t_{\rm e}}^{t_{\rm s}+maxDur-1}u(tSE_{\rm j}, j))

      в,tSEjtSE_{\rm j}те, кто не принадлежитα\alpha, но вα\alphaНабор событий в соответствующем промежутке времени (вы можете обратиться к следующим примерам для понимания)

    • ЕСВ для одного эпизода в течение минимального периода времени возникновения: сру, реусходство,rSEterSE_{\rm t_{\rm e}}значит вtet_{\rm e}разделить наα\alphaОставшийся набор событий состоит из всех других событий, кроме внутреннего события, формула расчета выглядит следующим образом.

      ERU(α,[ts,te])=i=1ku(SEi,tg(i))+u(rSEte,te)+j=te+1ts+maxDur1u(tSEj,j)u(rSEte,te)=xеtSEtexSEku(x,te)ERU(\alpha, [t_{\rm s}, t_{\rm e}]) = \sum_{\rm i=1}^{\rm k}u(SE_{\rm i}, t_{\rm g(i)}) + u(rSE_{\rm t_{\rm e}}, t_{\rm e}) + \sum_{\rm j=t_{\rm e}+1}^{t_{\rm s}+maxDur-1}u(tSE_{\rm j}, j) \\ u(rSE_{\rm t_{\rm e}}, t_{\rm e}) = \sum_{x \in tSE_{t_{\rm e}} \land x \succ SE_{\rm k}}u(x, t_{\rm e})
    • ЕСВ для одного эпизода в сложной последовательности событий:ERU(α)=moеmoSet(α)ERU(α,mo)ERU(\alpha) = \sum_{mo \in moSet(\alpha)}ERU(\alpha, mo)

    Аналогично возьмем последний для расчета в качестве примера, пустьmaxDur=3maxDur = 3,α=<(A),(D)>\alpha = \big<(A), (D)\big>, то есть

    ERU(α)={[u((A),t1)+u((D,t2))]+u((B),t2)+u((BC),t3)}+{u((A),t4)+u((D),t5)}={[2+2]+0+6}+{4+2}=16ERU(\alpha) = \lbrace[u((A), t_1) + u((D, t_2))] + u((B), t_2) + u((BC), t_3)\rbrace \\ + \lbrace u((A), t_4) + u((D), t_5)\rbrace \\ = \lbrace [2+2]+0+6 \rbrace + \lbrace 4+2 \rbrace \\ = 16
  • Антимонотонность ЕСВ для сюжета, подлежащего продлениюα\alphaи сюжетβ\beta,имеютγ=simult\gamma = simult-concat(α,β)concat(\alpha, \beta)илиγ=serial\gamma = serial-concat(α,β)concat(\alpha, \beta), с правиламиu(γ)ERU(γ)ERU(α)EWU(α)u(\gamma) \le ERU(\gamma) \le ERU(\alpha) \le EWU(\alpha)Константа установлена, и правило можно вывести, сравнив их расчетные формулы

  • (использование окна действия эпизода) Это относительно новое вычисление, потому чтоEWU,ERUEWU, ERUЕго нельзя напрямую применить к сложным последовательностям событий, поэтому этот объем вычислений используется для фильтрации набора кандидатов.

    moеmoSet(α),  mo[teimaxDur+1,tsi+maxDur1]AWU(α)=i=1kj=teimaxDur+1tsi+maxDur1tSEj\forall mo \in moSet(\alpha), \; mo \subseteq [t_{\rm ei}-maxDur+1, t_{\rm si}+maxDur-1] \\ AWU(\alpha) = \sum_{\rm i=1}^{\rm k}\sum_{j=t_{\rm ei}-maxDur+1}^{t_{\rm si}+maxDur-1}tSE_{\rm j}

    Например, пустьα=(A)\alpha = (A),придетсяAWU(<(A)>)=[0+0+2+4+6]+[4+6+7+2+0]=31AWU(\big<(A)\big>) = [0+0+2+4+6]+[4+6+7+2+0]=31,

    какα=(AC)\alpha = (AC),придетсяAWU(<(AC)>)=[4+6+7+2+0]=19AWU(\big<(AC)\big>) = [4+6+7+2+0]=19(Обратите вниманиеACACпредставляет собой совокупность одновременных событий, а неA,CA, Cпоследовательность)

Стратегия

Обрезка на основе AWU

использоватьAWUAWUопределение, чтобы заменить оригиналEWUEWUПолучите набор событий высокой полезности длины один. так какEWUEWUне очень компактное значение верхней границы, плюс проблема ошибки вычисления (см. определение вredefined high utility episode), вызовет проблемы с точностью

EEUCS structure and EEUCP strategy

Как показано на рисунке ниже: структура EEUCS и стратегия EEUCP используются для сокращенияEWUEWUиERUERUсумма расчета

EEUCS and EEUCP

алгоритм

HUE-Span algorithm

HUE-Span algorithm

MiningSimultHUE algorithm

MiningSimultHUE algorithm

MiningSerialHUE algorithm

MiningSerialHUE algorithm

Суммировать

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