Анализ данных и прогнозирование. Поиск ассоциаций

Печать (Ctrl+P)

Общая информация о механизме Анализа данных и прогнозирования
Общего объекта конфигурации АнализДанных можно посмотреть здесь

 Анализ = Новый АнализДанных; 

В механизме анализа данных и прогнозирования реализовано несколько типов анализа данных:

В данной статье рассмотрим пример типа анализа
поиск ассоциаций .

Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");

Данный тип анализа осуществляет поиск часто встречаемых вместе комбинаций объектов или значений характеристик. С его помощью можно определять группы одновременно закупаемых товаров, выявлять наиболее привлекательные источники информации (в процессе «оптимизации» затрат на них) и т. п.

Схематично процесс проведения анализа Поиск ассоциаций можно представить следующим образом:

Схема выполнения анализа «Поиск ассоциаций»

Для проведения данного типа анализа будем использовать следующий фрагмент кода:

&НаКлиенте
Процедура ПоискАссоциаций(Команда)
    Результат = АнализПоискАссоциаций();
КонецПроцедуры
&НаСервереБезКонтекста
Функция АнализПоискАссоциаций()
    Анализ = Новый АнализДанных;
    Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");
    Запрос = Новый Запрос;
    Запрос.Текст = "
        |ВЫБРАТЬ
        |Продажи.Регистратор,
        |Продажи.Номенклатура
        |ИЗ
        |РегистрНакопления.Продажи КАК Продажи";
    Анализ.ИсточникДанных = Запрос.Выполнить();
    // Строка приводится в качестве примера,
    // такое значение типа колонки по умолчанию.
    Анализ.НастройкаКолонок.Номенклатура.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;
    // Строка приводится в качестве примера,
    // такое значение типа отсечения по умолчанию.
    Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Избыточные;
    РезультатАнализа = Анализ.Выполнить();
    Построитель = Новый ПостроительОтчетаАнализаДанных();
    Построитель.Макет = Неопределено;
    Построитель.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");
    ТабДок = Новый ТабличныйДокумент;
    Построитель.Вывести(РезультатАнализа, ТабДок);
    Возврат ТабДок;
КонецФункции

В качестве источника данных в этом фрагменте используется результат запроса . Далее используется тип колонки Элемент

Анализ.НастройкаКолонок.Номенклатура.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;

С точки зрения данного типа анализа колонки источника можно разделить на следующие:

  • НеИспользуемая ‑ игнорируются анализом;
  • Объект ‑ данные из этой колонки используются как объекты (или события) проводимого анализа. Исходя из значения данной колонки, значения другой колонки (Элемент) относятся к одной ассоциируемой группе;
  • Элемент ‑ данные из этой колонки используются для получения устойчивых групп значений, построения ассоциативных правил.

Далее в качестве значения параметра
ТипОтсеченияПравил  используется значение Избыточные ‑ отсекать избыточные правила :

Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Избыточные;

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

  • МинимальныйПроцентСлучаев ‑ определяется минимальный процент случаев, в которых должна встречаться комбинация элементов. Группы, у которых данное значение меньше указанного, не попадают в результат анализа;
  • МинимальнаяДостоверность ‑ показывает минимальное значение процента случаев, когда правило соблюдается;
  • МинимальнаяЗначимость ‑ группы, у которых данное значение меньше указанного, не попадают в результат анализа;
  • ТипОтсеченияПравил ‑ один из вариантов системного перечисления ТипОтсеченияПравилАссоциации:
  • Избыточные ‑ отсекать избыточные правила,
  • Покрытые ‑ отсекать правила, покрытые другими правилами.

Результат анализа будет выглядеть следующим образом:


Результат анализа «Поиск ассоциаций»

В выборе используются данные из одиннадцати документов (ссылка содержится в поле Регистратор), количество различных номенклатурных позиций равно двенадцати (Количество объектов)

Найдена следующая группа товаров:

Найденная группа товаров

Вся группа встречается в документе только в двух случаях из одиннадцати (это и показано в колонках Количество случаев и Процент случаев).

Получены следующие ассоциативные правила:

Ассоциативные правила

Разберем второе из них. В двух случаях из одиннадцати в документе вместе с позицией Стол кухонный раскладной встречалась позиция Табурет прямоугольный. Исходя из этого, был рассчитан процент случаев: (2 / 11 * 100 = 18,18 %).

Достоверность была рассчитана следующим образом: обе номенклатурные позиции закупались в двух случаях, товарная позиция Стол кухонный раскладной встречалась в покупках 3 раза. Исходя из этого, достоверность равна: 2 / 3 * 100 = 66,67 %.

Значимость определяется как отношение достоверности правила к проценту нахождения Табурет прямоугольный в закупаемых товарах. Эта позиция встречается в двух документах из одиннадцати (18,18 %). Значимость равна: 66,67 % / 18,18 % = 3,67.

Типы отсечения правил

Рассмотрим такой важный параметр данного типа анализа, как ТипОтсеченияПравил. Возможные значения отсечения содержатся в системном перечислении ТипОтсеченияПравилАссоциации, их состав:

  1. Покрытые,
  2. Избыточные.

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

Любое правило состоит из предпосылки и следствия. Например:

  • Предпосылка: Если купили Товар № 1.
  • Следствие: То купят Товар № 2.

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

1. Отсечение покрытых правил

Рассмотрим вариант отсечения Покрытые.

Правило может быть покрыто как по предпосылке, так и по следствию. Например:

  • Правило № 1: Если купили товар № 1 и № 3, То купят товар № 2.
  • Правило № 2: Если купили товар № 1, То купят товар № 2.

В этом случае правило № 1 будет считаться покрытым, т. к. предпосылка первого правила получается «избыточной» по отношению к предпосылке второго правила.

Пример покрытия по следствию:

  • Правило № 1: Если купили товар № 1, То купят товар № 2, № 3.
  • Правило № 2: Если купили товар № 1, То купят товар № 3.

Правило № 2 будет покрыто по следствию, так как следствие правила № 1 более полное.

2. Отсечение избыточных правил

Покрытие не учитывает вероятностных характеристик правил, они учитываются в случае, если используется вариант отсечения Избыточные.

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

  • Правило № 1: Если купили товар № 1 и № 3, То купят товар № 2 с достоверностью 75 %.
  • Правило № 2 Если купили товар № 1, То купят товар № 2 с достоверностью 75 %.

Правило № 1 избыточно по отношению к правилу № 2 (оно содержит дополнительное условие, не вносящее «возмущения» в вероятностные характеристики правила).

Правило № 1 будет считаться избыточным по следствию, если количество случаев данного правила равно количеству случаев покрывающего правила.

  • Правило № 1: Если купили товар № 1, То купят товар № 2, № 3 в трех случаях.
  • Правило № 2: Если купили товар № 1, То купят товар № 3 в трех случаях.

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

Previous Article
Next Article

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.