Ассоциативные правила позволяют находить закономерности между связанными событиями. Примером такого правила служит утверждение, что покупатель, приобретающий «Хлеб», приобретет и «Молоко». Впервые эта задача была предложена для поиска ассоциативных правил для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины (market basket analysis ).

Пусть имеется база данных, состоящая из покупательских транзакций. Каждая транзакция – это набор товаров, купленных покупателем за один визит. Такую транзакцию еще называют рыночной корзиной. Целью анализа является установление следующих зависимостей: если в транзакции встретился некоторый набор элементов X , то на основании этого можно сделать вывод о том, что другой набор элементов Y также должен появиться в этой транзакции. Установление таких зависимостей дает нам возможность находить очень простые и интуитивно понятные правила.

Ассоциативное правило состоит из двух наборов предметов, называемых условие (англ: antecedent ) и следствие (англ: consequent ), записываемых в виде X Y , что читается «из X следует Y ». Таким образом, ассоциативное правило формулируется в виде «Если условие, то следствие».

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

Ассоциативные правила описывают связь между наборами предметов, соответствующим условию и следствию. Эта связь характеризуется двумя показателями – поддержкой (s) и достоверностью (с ).

Правило «Из Х следует Y » имеет поддержку s , если s % транзакций из всего набора содержат наборы элементов Х и Y .

Достоверность правила показывает, какова вероятность того, что из X

следует Y . Правило «Из X следует Y » справедливо с достоверностью с ,


если c % транзакций из всего множества, содержащих набор элементов X ,

Покажем на конкретном примере: пусть 75 % транзакций, содержащих хлеб, также содержат молоко, а 3 % от общего числа всех транзакций содержат оба товара. 75 % – это достоверность правила, а 3 % это поддержка.

Лифт (L) – это отношение частоты появления условия в транзакциях, которые также содержат и следствие, к частоте появления следствия в целом. Значения лифта большие, чем единица, показывают, что условие более часто появляется в транзакциях, содержащих и следствие, чем в остальных. Можно сказать, что лифт является обобщенной мерой связи двух предметных наборов: при значениях лифта >1 связь положительная, при 1 она отсутствует, а при значениях <1 – отрицательная.


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

Такие меры, как лифт и левередж могут использоваться для последующего ограничения набора рассматриваемых ассоциаций путем установки порога значимости, ниже которого ассоциации отбрасываются.

Алгоритмы поиска ассоциативных правил предназначены для нахождения всех правил вида «Из X следует Y », причем поддержка и достоверность этих правил должны находиться в рамках некоторых, наперед заданных, границ, называемых соответственно минимальной и максимальной поддержкой и минимальной и максимальной достоверностью .

Границы значений параметров поддержки и достоверности выбираются таким образом, чтобы ограничить количество найденных правил. Если поддержка имеет большое значение, то алгоритмы будут находить правила, хорошо известные аналитикам или настолько очевидные, что нет никакого смысла проводить такой анализ. С другой стороны, низкое значение поддержки ведет к генерации огромного количества правил, что, конечно, требует существенных вычислительных ресурсов. Тем не менее, большинство интересных правил находится именно при низком значении порога поддержки, хотя слишком низкое значение поддержки ведет к генерации статистически необоснованных правил. Таким образом, необходимо найти компромисс, обеспечивающий, во-первых, интересность

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

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

Поэтому на практике при поиске ассоциативных правил используют различные приемы, которые позволяют уменьшить пространство поиска до размеров, обеспечивающих приемлемые затраты машинного времени. Сейчас одним из наиболее распространенных является алгоритм a priori , основанный на понятии популярного набора (часто встречающийся предметный набор). Этот термин обозначает предметный набор, частота появления которого в общей совокупности транзакций превышает некоторый заранее заданный уровень.

Таким образом, алгоритм a priori включает два этапа:

– поиск популярных наборов;

– формулировка ассоциативных правил, удовлетворяющих заданным ограничениям по уровням поддержки и достоверности.

В Deductor Studio для решения задач ассоциации используется обработчик Ассоциативные правила . В нем реализован алгоритм a priori . Обработчик требует на входе два поля: идентификатор транзакции и элемент транзакции.

алгоритм Apriori сканирует базу данных определенное количество раз. Разновидности алгоритма Apriori, являющиеся его оптимизацией, предложены для сокращения количества сканирований базы данных , количества наборов-кандидатов или того и другого . Были предложены следующие разновидности алгоритма Apriori: AprioriTID и AprioriHybrid.

AprioriTid

Интересная особенность этого алгоритма - то, что база данных D не используется для подсчета поддержки кандидатов набора товаров после первого прохода.

С этой целью используется кодирование кандидатов, выполненное на предыдущих проходах. В последующих проходах размер закодированных наборов может быть намного меньше, чем база данных, и таким образом экономятся значительные ресурсы.

AprioriHybrid

Анализ времени работы алгоритмов Apriori и AprioriTid показывает, что в более ранних проходах Apriori добивается большего успеха, чем AprioriTid; однако AprioriTid работает лучше Apriori в более поздних проходах. Кроме того, они используют одну и ту же процедуру формирования наборов-кандидатов. Основанный на этом наблюдении, алгоритм AprioriHybrid предложен, чтобы объединить лучшие свойства алгоритмов Apriori и AprioriTid. AprioriHybrid использует алгоритм Apriori в начальных проходах и переходит к алгоритму AprioriTid, когда ожидается, что закодированный набор первоначального множества в конце прохода будет соответствовать возможностям памяти. Однако, переключение от Apriori до AprioriTid требует вовлечения дополнительных ресурсов.

Некоторыми авторами были предложены другие алгоритмы поиска ассоциативных правил , целью которых также было усовершенствование алгоритма Apriori. Кратко изложим суть нескольких, для более подробной информации можно рекомендовать .

Один из них - алгоритм DHP , также называемый алгоритмом хеширования (J. Park , M. Chen and P. Yu, 1995 год). В основе его работы - вероятностный подсчет наборов-кандидатов, осуществляемый для сокращения числа подсчитываемых кандидатов на каждом этапе выполнения алгоритма Apriori . Сокращение обеспечивается за счет того, что каждый из k-элементных наборов-кандидатов помимо шага сокращения проходит шаг хеширования. В алгоритме на k-1 этапе во время выбора кандидата создается так называемая хеш-таблица. Каждая запись хеш-таблицы является счетчиком всех поддержек k-элементных наборов, которые соответствуют этой записи в хеш-таблице. Алгоритм использует эту информацию на этапе k для сокращения множества k-элементных наборов-кандидатов. После сокращения подмножества, как это происходит в Apriori, алгоритм может удалить набор-кандидат, если его значение в хеш-таблице меньше порогового значения, установленного для обеспечения.

К другим усовершенствованным алгоритмам относятся: PARTITION, DIC , алгоритм "выборочного анализа".

PARTITION алгоритм (A. Savasere, E. Omiecinski and S. Navathe, 1995 год). Этот алгоритм разбиения (разделения) заключается в сканировании транзакционной базы данных путем разделения ее на непересекающиеся разделы, каждый из которых может уместиться в оперативной памяти . На первом шаге в каждом из разделов при помощи алгоритма Apriori определяются "локальные" часто встречающиеся наборы данных. На втором подсчитывается поддержка каждого такого набора относительно всей базы данных. Таким образом, на втором этапе определяется множество всех потенциально встречающихся наборов данных.

Алгоритм DIC , Dynamic Itemset Counting (S. Brin R. Motwani, J. Ullman and S. Tsur, 1997 год). Алгоритм разбивает базу данных на несколько блоков, каждый из которых отмечается так называемыми "начальными точками" ( start point ), и затем циклически сканирует базу данных .

Современные базы данных имеют очень большие размеры, достигающие гига- и терабайтов, и тенденцию к дальнейшему увеличению. И поэтому, для нахождения ассоциативных правил требуются эффективные масштабируемые алгоритмы, позволяющие решить задачу за приемлемое время. Одним из таких алгоритмов является алгоритм Apriori.

Для того, чтобы было возможно применить алгоритм, необходимо провести предобработку данных: во-первых, привести все данные к бинарному виду; во-вторых, изменить структуру данных. Обычный вид базы данных транзакций изображён в таблице 2.2:

Таблица 2.2 - Пример базы даннях транзакций:

Нормализованный вид изображён в таблице 2.3.

Таблица 2.3 - База данных после нормализации:

Количество столбцов в таблице равно количеству элементов, присутствующих в множестве транзакций D. Каждая запись соответствует транзакции, где в соответствующем столбце стоит 1, если элемент присутствует в транзакции, и 0 в противном случае. Заметим, что исходный вид таблицы может быть отличным от приведенного в таблице 2.3. Главное, чтобы данные были преобразованы к нормализованному виду, иначе алгоритм не применим. Кроме того, все элементы должны быть упорядочены в алфавитном порядке (если это числа, они должны быть упорядочены в числовом порядке).

Алгоритм Apriori работает в два этапа: на первом шаге необходимо найти часто встречающиеся наборы элементов, а затем, на втором, извлечь из них правила. Количество элементов в наборе будем называть размером набора, а набор, состоящий из k элементов, - k-элементным набором.

На первом шаге алгоритма подсчитываются 1-элементные часто встречающиеся наборы. Для этого необходимо пройтись по всему набору данных и подсчитать для них поддержку, т.е. сколько раз встречается в базе. Следующие шаги будут состоять из двух частей: генерации потенциально часто встречающихся наборов элементов (их называют кандидатами) и подсчета поддержки для кандидатов.

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

Опишем функцию генерации кандидатов. На это раз нет никакой необходимости вновь обращаться к базе данных. Для того, чтобы получить k-элементные наборы, воспользуемся (k-1)-элементными наборами, которые были определены на предыдущем шаге и являются часто встречающимися.

Исходный набор хранится в упорядоченном виде. Генерация кандидатов также будет состоять из двух шагов:

Объединение. Каждый кандидат C k будет формироваться путем расширения часто встречающегося набора размера (k-1) добавлением элемента из другого (k-1)-элементного набора. Приведем алгоритм этой функции Apriorigen в виде небольшого SQL-подобного запроса:


Удаление избыточных правил. На основании свойства антимонотонности, следует удалить все наборы c C k если хотя бы одно из его (k-1) подмножеств не является часто встречающимся.

После генерации кандидатов следующей задачей является подсчет поддержки для каждого кандидата. Очевидно, что количество кандидатов может быть очень большим и нужен эффективный способ подсчета. Самый тривиальный способ - сравнить каждую транзакцию с каждым кандидатом. Но это далеко не лучшее решение. Гораздо быстрее и эффективнее использовать подход, основанный на хранении кандидатов в хэш-дереве. Внутренние узлы дерева содержат хэш-таблицы с указателями на потомков, а листья - на кандидатов. Это дерево нам пригодится для быстрого подсчета поддержки для кандидатов.

Хэш-дерево строится каждый раз, когда формируются кандидаты. Первоначально дерево состоит только из корня, который является листом, и не содержит никаких кандидатов-наборов. Каждый раз, когда формируется новый кандидат, он заносится в корень дерева и так до тех пор, пока количество кандидатов в корне-листе не превысит некоего порога. Как только количество кандидатов становится больше порога, корень преобразуется в хэш-таблицу, становится внутренним узлом, и для него создаются потомки-листья. И все примеры распределяются по узлам-потомкам согласно хэш-значениям элементов, входящих в набор, и т.д. Каждый новый кандидат хэшируется на внутренних узлах, пока он не достигнет первого узла-листа, где он и будет храниться, пока количество наборов опять же не превысит порога.

Хэш-дерево с кандидатами-наборами построено, теперь, используя хэш-дерево, легко подсчитать поддержку для каждого кандидата. Для этого нужно "пропустить" каждую транзакцию через дерево и увеличить счетчики для тех кандидатов, чьи элементы также содержатся и в транзакции, т.е:

На корневом уровне хэш-функция применяется к каждому элементу из транзакции. Далее, на втором уровне, хэш-функция применяется ко вторым элементам. На k-уровне хэшируется k-элемент. И так до тех пор, пока не достигнем листа. Если кандидат, хранящийся в листе, является подмножеством рассматриваемой транзакции, тогда увеличиваем счетчик поддержки этого кандидата на единицу.

После того, как каждая транзакция из исходного набора данных "пропущена" через дерево, можно проверить удовлетворяют ли значения поддержки кандидатов минимальному порогу. Кандидаты, для которых это условие выполняется, переносятся в разряд часто встречающихся. Кроме того, следует запомнить и поддержку набора, она нам пригодится при извлечении правил. Эти же действия применяются для нахождения элементных наборов и т.д. После того как найдены все часто встречающиеся наборы элементов, можно приступить непосредственно к генерации правил. Извлечение правил - менее трудоемкая задача. Во-первых, для подсчета достоверности правила достаточно знать поддержку самого набора и множества, лежащего в условии правила. Тогда легко можно подсчитать достоверность. Это избавляет от нежелательного просмотра базы транзакций, который потребовался в том случае, если бы это поддержка была неизвестна.

Чтобы извлечь правило из часто встречающегося набора F, следует найти все его непустые подмножества. И для каждого подмножества s можно сформулировать правило:

В том случае, если достоверность правила:

conf * (s (F - s)) = supp(F) / supp(s)

Не меньше порога minconf.

Заметим, что числитель остается постоянным. Тогда достоверность имеет минимальное значение, если знаменатель имеет максимальное значение, а это происходит в том случае, когда в условии правила имеется набор, состоящий из одного элемента.

Все супермножества данного множества имеют меньшую или равную поддержку и, соответственно, большее значение достоверности. Это свойство может быть использовано при извлечении правил.

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

Для того, чтобы извлечь все правила используется рекурсивная процедура.

Важное замечание: любое правило, составленное из часто встречающегося набора, должно содержать все элементы набора.

and Swami) был разработан сотрудниками исследовательского центра IBM Almaden в 1993 году. С этой работы начался интерес к ассоциативным правилам ; на середину 90-х годов прошлого века пришелся пик исследовательских работ в этой области, и с тех пор каждый год появляется несколько новых алгоритмов.

В алгоритме AIS кандидаты множества наборов генерируются и подсчитываются "на лету", во время сканирования базы данных .

Алгоритм SETM . Создание этого алгоритма было мотивировано желанием использовать язык SQL для вычисления часто встречающихся наборов товаров. Как и алгоритм AIS , SETM также формирует кандидатов "на лету", основываясь на преобразованиях базы данных . Чтобы использовать стандартную операцию объединения языка SQL для формирования кандидата, SETM отделяет формирование кандидата от их подсчета.

Неудобство алгоритмов AIS и SETM - излишнее генерирование и подсчет слишком многих кандидатов, которые в результате не оказываются часто встречающимися. Для улучшения их работы был предложен алгоритм Apriori .

Работа данного алгоритма состоит из нескольких этапов, каждый из этапов состоит из следующих шагов:

  • формирование кандидатов;
  • подсчет кандидатов.

Формирование кандидатов (candidate generation ) - этап, на котором алгоритм , сканируя базу данных, создает множество i-элементных кандидатов (i - номер этапа). На этом этапе поддержка кандидатов не рассчитывается.

Подсчет кандидатов (candidate counting) - этап, на котором вычисляется поддержка каждого i-элементного кандидата. Здесь же осуществляется отсечение кандидатов, поддержка которых меньше минимума, установленного пользователем (min_sup). Оставшиеся i-элементные наборы называем часто встречающимися.

Рассмотрим работу алгоритма Apriori на примере базы данных D. Иллюстрация работы алгоритма приведена на рис. 15.1 . Минимальный уровень поддержки равен 3.


Рис. 15.1.

На первом этапе происходит формирование одноэлементных кандидатов. Далее алгоритм подсчитывает поддержку одноэлементных наборов. Наборы с уровнем поддержки меньше установленного, то есть 3, отсекаются. В нашем примере это наборы e и f, которые имеют поддержку , равную 1. Оставшиеся наборы товаров считаются часто встречающимися одноэлементными наборами товаров: это наборы a, b, c, d.

Далее происходит формирование двухэлементных кандидатов, подсчет их поддержки и отсечение наборов с уровнем поддержки , меньшим 3. Оставшиеся двухэлементные наборы товаров, считающиеся часто встречающимися двухэлементными наборами ab, ac, bd, принимают участие в дальнейшей работе алгоритма.

Если смотреть на работу алгоритма прямолинейно, на последнем этапе алгоритм формирует трехэлементные наборы товаров: abc, abd, bcd , acd , подсчитывает их поддержку и отсекает наборы с уровнем поддержки , меньшим 3. Набор товаров abc может быть назван часто встречающимся.

Однако алгоритм Apriori уменьшает количество кандидатов, отсекая - априори - тех, которые заведомо не могут стать часто встречающимися, на основе информации об отсеченных кандидатах на предыдущих этапах работы алгоритма.

РАЗРАБОТКА ПРОГРАММНОЙ СИСТЕМЫ ПОИСКА АССОЦИАТИВНЫХ ПРАВИЛ НА ОСНОВЕ АЛГОРИТМА APRIORI

Сизых Анна Фаритовна 1 , Баженов Руслан Иванович 2
1 Приамурский государственный университет имени Шолом-Алейхема, студент
2 Приамурский государственный университет имени Шолом-Алейхема, кандидат педагогических наук, доцент, заведующий кафедрой информатики и вычислительной техники


Аннотация
В статье представлена разработка программной системы, реализующей поиск ассоциативных правил. Показан алгоритм apriori и его реализация в среде Delphi. В ходе исследования использовались реальные данные о продажах. Разработанная программа может использована для преподавания в курсах «Интеллектуальные информационные системы», «Интеллектуальные анализ данных».

DEVELOPMENT OF A SOFTWARE SYSTEM SEARCH ASSOCIATION RULES BASED ON APRIORI ALGORITHM

Sizykh Anna Faritovna 1 , Bazhenov Ruslan Ivanovich 2
1 Sholom-Aleichem Priamursky State University, student
2 Sholom-Aleichem Priamursky State University, candidate of pedagogical sciences, associate professor, Head of the Department of Computer Science


Abstract
The article presents the development of a software system that implements the search for Association rules. Shows the apriori algorithm and its implementation in theDelphienvironment. The study used real sales data. The developed program can be used for teaching courses in «Intelligent information systems», «Data mining».

Библиографическая ссылка на статью:
Сизых А.Ф., Баженов Р.И. Разработка программной системы поиска ассоциативных правил на основе алгоритма apriori // Современные научные исследования и инновации. 2014. № 10. Ч. 1 [Электронный ресурс]..03.2019).

Интеллектуальный анализ данных (data mining) является одним из приоритетных направлений современных исследований. Огромное количество информации в современных учетных информационных системах требует осмысления и извлечения из них знаний, позволяющих разработать рекомендации для улучшения бизнеса. Методом решения описываемой проблемы может служить поиск ассоциативных правил, результаты которого используются для оптимального планирования закупок, расходов на рекламу и др.

Проблемами поиска ассоциативных правил занимались различные ученые. А.Шахиди рассмотрел общие вопросы поиска ассоциативных правил . М.Г.Асеев, В.А. Дюк показали проблемы поиска if-then правил в данных. Систему нахождения бизнес-правил типа “if-then” в задачах транспортной логистики разработали И.А.Минаков, С.И.Вольман . А.П.Корнилков, Т.В.Хабибулина показали реализацию поиска ассоциативных правил средствами языка программирования php . Интерактивный анализ ассоциативных правил в базах данных изучался A.В.Бондаренко, А.С.Гудковым . Е.В.Галкина исследовала ассоциативные правила в бизнес-анализе и контроле . М.В.Терешонок применил поиск ассоциативных правил для анализа загрузки сетей сотовой связи . Методику поиска ассоциативных правил при обработке данных в распределенных информационных системах показала Т.Ю.Горохова . А.Ю.Краковецкий применял метод поиска ассоциативных правил на основе сильных наборов данных и fp-дерева . А.Н.Шабельников, В.А.Шабельников исследовали поиск аномалий в технических базах данных временных рядов . В.М.Гриняк и др. описали информационную технологию планирования сезонных продаж . Р.И.Баженов, В.А.Векслер разработали конфигурацию для системы 1С: Предприятие по интеллектуальному анализу с поддержкой поиска ассоциативных правил . Зарубежные ученые описывали применения метода в различных областях .

Для реализации поиска ассоциативных правил был выбран достаточно простой алгоритм Apriori . Опишем его.

Имеется база данных, которая состоит из покупательских транзакций. Каждая транзакция является набором товаров, приобретаемым покупателем за один раз.

Пусть I = {i 1 , i 2 , i 3 , …i n } – множество (набор) товаров или элементов. Пусть D – множество транзакций, где каждая транзакция T представляет собой набор элементов из I, T I. Каждая транзакция является бинарным вектором, где t[k]=1, если i k элемент присутствует в транзакции, иначе t[k]=0. Транзакция T содержит X, некоторый набор элементов из I, если X T. Будем называть ассоциативным правилом импликацию X Y, где X I, Y I и X Y = . Правило X Y имеет поддержку s (support), если s% транзакций из D, содержат X Y, supp(X Y) = supp (X Y). Достоверность правила показывает какова вероятность того, что из X следует Y. Правило X Y справедливо с достоверностью (confidence) c, если c% транзакций из D, содержащих X, также содержат Y, conf(X Y) = supp(X Y)/supp(X) .

Была разработана программа, реализующая алгоритм Apriori на Delphi. Покажем основную процедуру.

function TForm1.gen(cand: TList) : TList;
var
i, j, k: Integer;
set_len: Integer; { Длина общей части наборов при объединении}
tSet, tSet1, tSet_new: PProdSet;
new_cand: TList;
equal: Boolean;
begin
{ Новый список наборов}
new_cand:= TList.Create;
if cand = nil then
begin
{ Одноэлементные наборы}
for i:= 0 to tovars.Count – 1 do
begin
{ Новый кандидат}
New(tSet);
SetLength(tSet^.Items, 1);
tSet^.Items := i;
tSet^.podder:= 0;
new_cand.Add(tSet);
end;
end
else
begin
{ Много элементные наборы}
{ Если в списке больше одного набора}
if cand.Count > 1 then
begin
for i:= 0 to cand.count – 1 do
begin
{ Первый набор для объединения}
tSet:= cand.Items[i];
{ Длина общей части}
set_len:= High(tSet^.items);
for j:= i + 1 to cand.count – 1 do
begin
{ Второй набор для объединения}
tSet1:= cand.Items[j];
if set_len equal:= true
else
begin
{ Сравниваем общие части наборов}
equal:= true;
for k:= 0 to set_len - 1 do
if tSet^.Items[k] tSet1^.Items[k] then
equal:= false;
end;
if equal then
begin
{ Новый набор}
New(tSet_new);
tSet_New^.podder:= 0;
{ Длина нового набора}
SetLength(tSet_new^.Items, set_len + 2);
{ Копируем первый набор}
for k:= 0 to High(tSet^.items) do
begin
tSet_new^.Items[k] := tSet^.items[k];
end;
{ Добавляем остаток второго набора}
tSet_new^.Items := tSet1^.items;
{ Добавляем новый набор в список кандидатов}
new_cand.Add(tSet_new);
end;
end;
end;
end;

Данные предоставлены компанией, находящейся в г.Биробиджан. Они были выгружены из системы 1С:Предприятие 8, и представляют собой отчет по продажам за I квартал 2014 года. Данные были обработаны и представлены в формате.csv (рис. 1).

Рисунок 1 – Входные данные для анализа

Основное окно программы показано на рис.2.


Рисунок 2 – Окно программы с загруженными данными

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


Рисунок 3 – Окно для выбора показателей

После проведения анализа, полученные правила выводятся в специальную область (рис. 4).

Рисунок 4 – Окно программы после обработки данных


Рисунок 5 – Текстовый файл с результатами

Полученные в результате исследования ассоциативные правила были переданы руководству компании для принятия решений.

Таким образом, была разработана простая программа по поиску ассоциативных правил. Полученные в ходе исследования материалы можно использовать на практике для анализа выгруженных данных из 1С:Предприятие и для проведения соответствующей лабораторной работы в курсах «Интеллектуальные информационные системы», «Интеллектуальный анализ данных».


Библиографический список

  1. Шахиди А. Введение в анализ ассоциативных правил. URL: http://www.basegroup.ru/library/analysis/association_rules/intro/ (дата обращения 29.09.2014)
  2. Асеев М.Г., Дюк В.А. Поиск if-then правил в данных: проблемы и перспективы // Труды СПИИРАН. 2005. Т. 2. № 2. С. 76-85.
  3. Минаков И.А., Вольман С.И. Система нахождения бизнес-правил типа “if-then” в задачах транспортной логистики // Информационные технологии. 2007. № 12. С. 35-42
  4. Корнилков А.П., Хабибулина Т.В. О реализации поиска ассоциативных правил средствами языка программирования php // Современная техника и технологии. 2014. № 5 (33). С. 13.
  5. Бондаренко A.В., Гудков А.С. Интерактивный анализ ассоциативных правил в базах данных // Вестник компьютерных и информационных технологий. 2006. № 10. С. 42-45.
  6. Галкина Е.В. Ассоциативные правила в бизнес-анализе и контроле // Российское предпринимательство. 2013. № 9 (231). С. 111-117.
  7. Терешонок М.В. Поиск ассоциативных правил при анализе загрузки сетей сотовой связи // Электросвязь. 2008. № 6. С. 32-33.
  8. Горохова Т.Ю. Методика поиска ассоциативных правил при обработке данных в распределенных информационных системах // В мире научных открытий. 2010. № 4-11. С. 107-109.
  9. Краковецкий А.Ю. Метод поиска ассоциативных правил на основе сильных наборов данных и fp-дерева // Научные труды Винницкого национального технического университета. 2008. № 1. С. 2.
  10. Шабельников А.Н., Шабельников В.А. Поиск аномалий в технических базах данных временных рядов // Известия Южного федерального университета. Технические науки. 2008. Т. 81. № 4. С. 167-173.
  11. Гриняк В.М., Когай Е.И., Семенов С.М. Информационная технология планирования сезонных продаж // Территория новых возможностей. Вестник Владивостокского государственного университета экономики и сервиса. 2010. № 2. С. 191-198
  12. Баженов Р. И. Интеллектуальные информационные технологии. Биробиджан: ПГУ им. Шолом-Алейхема, 2011. 176 с.
  13. Векслер В.А., Баженов Р.И. Определение взаимосвязи номенклатурных позиций средствами 1С:Предприятие 8.3 // Современные научные исследования и инновации. 2014. № 7 (39). С. 45-49.
  14. Баженов Р.И., Векслер В.А. Анализ потребительских корзин в 1С:Предприятие на примере ABC-анализа // Информатизация и связь. 2013. № 5. С. 117-123.
  15. Баженов Р.И., Векслер В.А. Реализация XYZ-анализа в программном коде внутреннего языка программирования 1С:Предприятие 8.3 // Информатизация и связь. 2014. № 1. С. 37-42.
  16. Баженов Р.И., Векслер В.А., Гринкруг Л.С. RFM-анализ клиентской базы в прикладном решении 1С:Предприятие 8.3 // Информатизация и связь. 2014. № 2. С. 51-54.
  17. Xiao F., Fan C. Data mining in building automation system for improving building operational performance // Energy and Buildings. 2014. №75. С. 109-118.
  18. Guo Z., Chi D., Wu J., Zhang W. A new wind speed forecasting strategy based on the chaotic time series modelling technique and the Apriori algorithm // Energy Conversion and Management. 2014. №84. С.140-151.
Количество просмотров публикации: Please wait