Анализ данных и прогнозирование. Поиск ассоциаций
Общая информация о механизме Анализа данных и прогнозирования
Общего объекта конфигурации АнализДанных можно посмотреть здесь
Анализ = Новый АнализДанных;
В механизме анализа данных и прогнозирования реализовано несколько типов анализа данных:
- общая статистика,
- поиск ассоциаций,
- поиск последовательностей,
- кластерный анализ,
- дерево решений.
В данной статье рассмотрим пример типа анализа
поиск ассоциаций .
Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");
Данный тип анализа осуществляет поиск часто встречаемых вместе комбинаций объектов или значений характеристик. С его помощью можно определять группы одновременно закупаемых товаров, выявлять наиболее привлекательные источники информации (в процессе «оптимизации» затрат на них) и т. п.
Схематично процесс проведения анализа Поиск ассоциаций можно представить следующим образом:
Для проведения данного типа анализа будем использовать следующий фрагмент кода:
&НаКлиенте
Процедура ПоискАссоциаций(Команда)
Результат = АнализПоискАссоциаций();
КонецПроцедуры
&НаСервереБезКонтекста
Функция АнализПоискАссоциаций()
Анализ = Новый АнализДанных;
Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|Продажи.Регистратор,
|Продажи.Номенклатура
|ИЗ
|РегистрНакопления.Продажи КАК Продажи";
Анализ.ИсточникДанных = Запрос.Выполнить();
// Строка приводится в качестве примера,
// такое значение типа колонки по умолчанию.
Анализ.НастройкаКолонок.Номенклатура.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;
// Строка приводится в качестве примера,
// такое значение типа отсечения по умолчанию.
Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Избыточные;
РезультатАнализа = Анализ.Выполнить();
Построитель = Новый ПостроительОтчетаАнализаДанных();
Построитель.Макет = Неопределено;
Построитель.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");
ТабДок = Новый ТабличныйДокумент;
Построитель.Вывести(РезультатАнализа, ТабДок);
Возврат ТабДок;
КонецФункции
В качестве источника данных в этом фрагменте используется результат запроса . Далее используется тип колонки Элемент
Анализ.НастройкаКолонок.Номенклатура.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;
С точки зрения данного типа анализа колонки источника можно разделить на следующие:
- НеИспользуемая ‑ игнорируются анализом;
- Объект ‑ данные из этой колонки используются как объекты (или события) проводимого анализа. Исходя из значения данной колонки, значения другой колонки (Элемент) относятся к одной ассоциируемой группе;
- Элемент ‑ данные из этой колонки используются для получения устойчивых групп значений, построения ассоциативных правил.
Далее в качестве значения параметра
ТипОтсеченияПравил используется значение Избыточные ‑ отсекать избыточные правила :
Анализ.Параметры.ТипОтсеченияПравил.Значение = ТипОтсеченияПравилАссоциации.Избыточные;
Отметим, что кроме настройки типов колонок, на результат проводимого анализа влияют следующие параметры анализа:
- МинимальныйПроцентСлучаев ‑ определяется минимальный процент случаев, в которых должна встречаться комбинация элементов. Группы, у которых данное значение меньше указанного, не попадают в результат анализа;
- МинимальнаяДостоверность ‑ показывает минимальное значение процента случаев, когда правило соблюдается;
- МинимальнаяЗначимость ‑ группы, у которых данное значение меньше указанного, не попадают в результат анализа;
- ТипОтсеченияПравил ‑ один из вариантов системного перечисления ТипОтсеченияПравилАссоциации:
- Избыточные ‑ отсекать избыточные правила,
- Покрытые ‑ отсекать правила, покрытые другими правилами.
Результат анализа будет выглядеть следующим образом:
В выборе используются данные из одиннадцати документов (ссылка содержится в поле Регистратор), количество различных номенклатурных позиций равно двенадцати (Количество объектов)
Найдена следующая группа товаров:
Вся группа встречается в документе только в двух случаях из одиннадцати (это и показано в колонках Количество случаев и Процент случаев).
Получены следующие ассоциативные правила:
Разберем второе из них. В двух случаях из одиннадцати в документе вместе с позицией Стол кухонный раскладной встречалась позиция Табурет прямоугольный. Исходя из этого, был рассчитан процент случаев: (2 / 11 * 100 = 18,18 %).
Достоверность была рассчитана следующим образом: обе номенклатурные позиции закупались в двух случаях, товарная позиция Стол кухонный раскладной встречалась в покупках 3 раза. Исходя из этого, достоверность равна: 2 / 3 * 100 = 66,67 %.
Значимость определяется как отношение достоверности правила к проценту нахождения Табурет прямоугольный в закупаемых товарах. Эта позиция встречается в двух документах из одиннадцати (18,18 %). Значимость равна: 66,67 % / 18,18 % = 3,67.
Типы отсечения правил
Рассмотрим такой важный параметр данного типа анализа, как ТипОтсеченияПравил. Возможные значения отсечения содержатся в системном перечислении ТипОтсеченияПравилАссоциации, их состав:
- Покрытые,
- Избыточные.
Перед тем как перейти к рассмотрению особенностей вариантов отсечения, рассмотрим несколько общих моментов, применимых к правилам ассоциации.
Любое правило состоит из предпосылки и следствия. Например:
- Предпосылка: Если купили Товар № 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, так как оно содержит более простое следствие с теми же вероятностными характеристиками.