О компании |  ПартнерыЦены |  Семинары  | Библиотека  | Контакты
BIGroup Labs

 Поиск по сайту
 
  Главная страница |Решения |Технологии |Услуги |Продукция |Клиенты
  Главная страница   >      Технологии   >      DataMining   >    Data Mining-подготовка исходных данных

Knowledge Discovery in Databases
Data Mining
Data Mining-подготовка исходных данных
Ассоциативные правила
Деревья решений
Распознавание образов
Нечеткая Логика
Генетические Алгоритмы
Нейронные Сети

Data Mining -- подготовка исходных данных

Методика анализа с использованием механизмов Data Mining-абазируется на различных алгоритмах извлечения закономерностей из исходныхданных, результатом работы которых являются модели. Таких алгоритмовдовольно много, но, несмотря на их обилие, использование машинногообучения и т.п., они не способны гарантировать качественное решение.Никакой самый изощренный метод сам по себе не даст хороший результат, т.к.критически важным становится вопрос качества исходных данных. Чаще всегоименно качество данных является причиной неудачи.

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

Общая схема использования методов Data Mining состоит из следующихшагов.

Data Mining - последовательность шагов

Эта последовательность действий не зависит от предметной области,поэтому ее можно использовать для любой сферы деятельности.

Выдвижение гипотез

Гипотезой в данном случае будем считать предположение о влиянииопределенных факторов на исследуемую нами задачу. Форма этой зависимости вданном случае значения не имеет. Т.е. мы может сказать, что на продаживлияет отклонение нашей цены на товар от среднерыночной, но при этом неуказывать, как, собственно, этот фактор влияет на продажи. Для решенияэтой задачи и используется Data Mining. Автоматизировать процессвыдвижения гипотез не представляется возможным, по крайней мере, насегодняшнем уровне развития технологий. Эту задачу должны решатьэксперты - специалисты в предметной области. Полагаться можно и нужнона их опыт и здравый смысл. Нужно постараться максимально использовать ихзнание о предмете и собрать как можно больше гипотез/предположений. Обычнодля этих целей хорошо работает тактика мозгового штурма. На первом шагенужно собрать и систематизировать все идеи, их оценку будем производитьпозже. Результатом данного шага должен быть список с описанием всехфакторов.

Например, для задачи прогнозирования спроса это может быть списокследующего вида: сезон, день недели, объемы продаж за предыдущие недели,объем продаж за аналогичный период прошлого года, рекламная компания,маркетинговые мероприятия, качество продукции, бренд, отклонение цены отсреднерыночной, наличие данного товара у конкурентов…

В процессе подбора влияющих факторов необходимо максимальноабстрагироваться от информационных систем и имеющихся в наличии данных.Очень часто встречается ситуация, когда пользователи говорят : 'Вот естьтакие данные, что можно на них получить?'. Это порочная практика - мыдолжны решать задачу и подбирать данные для ее решения, а не братьимеющуюся информацию и придумывать что из них можно 'выжать'. Цельюявляется решение актуальной задачи, а не оправдание затрат на сборбольшого объема данных.

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

Результатом этого шага может быть таблица следующего вида:

ПоказательЭкспертная оценка
значимости(1-100)
Сезон100
День недели80
Объем продаж за предыдущие недели100
Объем продаж за аналогичный период прошлого года95
Рекламная компания60
Маркетинговые мероприятия40
Качество продукции50
Бренд25
Отклонение цены от среднерыночной60
Наличие данного товара у конкурентов15

Формализация и сбор данных

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

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

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

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

Есть несколько методов сбора, необходимых для анализа данных:

  1. Получение из учетных систем. Обычно, в учетных системах естьразличные механизмы построения отчетов и экспорта данных, поэтомуизвлечение нужной информации их них, чаще всего, относительно несложнаяоперация.
  2. Получение сведений из косвенных данных. О многих показателях можносудить по косвенным признакам и этим нужно воспользоваться. Например,можно оценить реальное финансовое положение жителей определенногорегиона следующим образом. В большинстве случаев имеется несколькотоваров, предназначенных для выполнения одной и той же функции, ноотличающихся по цене: товары для бедных, средних и богатых. Еслиполучить отчет о продажах товара в интересующий регион ипроанализировать пропорции, в которых продаются товары для бедных,средних и богатых, то можно предположить, что чем больше доля дорогихизделий из одной товарной группы, тем более состоятельны в среднемжители данного региона.
  3. Использование открытых источников. Большое количество данныхприсутствует в открытых источниках, таких как статистические сборники,отчеты корпораций, опубликованные результаты маркетинговых исследованийи прочее.
  4. Проведение собственных маркетинговых исследований и аналогичныхмероприятий по сбору данных. Это может быть достаточно дорогостоящиммероприятием, но, в любом случае, такой вариант сбора данных возможен.
  5. Ввод данных 'вручную', когда данные вводится по различного родаэкспертным оценкам сотрудниками организации. Этот метод наиболеетрудоемкий.

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

    Собранные данные нужно преобразовать к единому формату, например,Excel, текстовой файл в разделителями, либо любая СУБД. Данные обязательнодолжны быть унифицированы, т.е. одна и та же информация везде должнаописываться одинаково. Обычно проблемы с унификацией возникают при сбореинформации из разнородных источников. В этом случае унификация являетсясерьезной задачей, но ее обсуждение выходит за рамки данной статьи.

    Представление и минимальные объемы необходимых данных

    Для анализируемых процессов различной природы данные должны бытьподготовлены специальным образом.

    Упорядоченные данные

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

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

    NNДатаЧастота закупокОбъем продаж(руб.)
    101.05.2004256459874.00
    202.05.2004278515687.00

    Если для процесса характерна сезонность/цикличность, необходимо иметьданные хотя бы за один полный сезон/цикл с возможность варьированияинтервалов (понедельное, помесячное…). Т.к. цикличность может бытьсложной, например, внутри годового цикла квартальные, а внутри кварталовнедельные, то необходимо иметь полные данные как минимум за один самыйдлительный цикл.

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

    • Данные на 1,5 года - прогноз максимум на 1 месяц;
    • Данные за 2-3 года - прогноз максимум на 2 месяца;

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

      Неупорядоченные данные

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

      Для неупорядоченных данных каждому столбцу соответствует фактор, а вкаждую строку заносится пример (ситуация, прецедент). Упорядоченностьстрок не требуется. Не допускается наличие группировок, итогов ипрочее - нужна обычная таблица.

      Номер прецедентаСтаж работыНаличие автомобиляОбъем кредита(руб.)
      1больше 5 летДа150000.00
      2меньше 5 летНет125000.00

      Количество примеров (прецедентов) должно быть значительно большеколичества факторов. В противном случае высока вероятность, что случайныйфактор окажет серьезное влияние на результат. Если нет возможностиувеличить количество данных, то придется уменьшить количествоанализируемых факторов, оставив наиболее значимые.

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

      Транзакционные данные

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

      Транзакционные данные для анализа необходимо подготовить в следующемвиде:

      Код транзакцииТовар
      10200Йогурт 'Чудо' 0.4
      10200Батон 'Рязанский'
      10201Вода 'Боржоми' 0,5
      10201Сахарный песок, пачка 1 кг.
      10201Хлеб 'Бородинский'

      Код транзакциисооветствует коду чека, счета, накладной. Товары с одинаковым кодом входятв разовую покупку.

      Описанного представления данных достаточно для работы обычныхассоциативных правил, где находятся связи между каждым объектом вотдельности. Пример, 'Если купили 'Йогурт Чудо 0,4', то приобретут и'Батон Рязанский''.

      Существует еще алгоритм поиска обобщенных ассоциативных правил, когдаимеется возможность найти связи не только между объектами, но и группамиобъектов. Например, при наличии информации о товарных группах, к которымотносятся объекты, можно находить зависимости типа 'Если купили БатонРязанский, то купят и что-нибудь из йогуртов'. Для поиска обобщенныхассоциативных правил необходимо подготовить дополнительную информацию сдеревом отношений между объектами - иерархией групп в следующемвиде:

      IDID предкаОбъект
      1Хлебобулочные изделия
      21Хлеб
      31Булки
      42Батон 'Рязанский'
      52Хлеб 'Бородинский'
      6Молочные продукты
      76Молоко
      86Йогурты
      98Йогурт Чудо 0,4
      108'Растишка персиковый 0,25'

      ID - уникальный номер объекта. ID предка - номерродительского объекта. Если объект корневой, то это поле должно бытьпустым. В поле 'Объекты' находятся как группы, так и товар.

      Таблица с иерархией объектов соответствует следующей диаграмме.

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

      Примерное соотношение между количеством объектов и объемом данных:

      • 300-500 объектов - более 10 тыс. транзакций;
      • 500-1000 объектов - более 300 тысяч транзакций;

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

        Построение моделей - анализ

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

        В целом, можно дать следующие рекомендации, не зависящие от конкретногоалгоритма обработки:

        • Уделить большое внимание очистке данных. Собрав данные в нужномобъеме, нельзя быть уверенным, что они будут хорошего качества. Чащевсего, качество данных оставляет желать лучшего, поэтому необходимо ихпредобработать. Для этого есть множество методов: удаление шумов,сглаживание, редактирование аномалий и прочее.
        • Комбинировать методики анализа. Это позволяет шире смотреть напроблему. Более того, использование различных методов для решения однойи той же задачи может навести на ценные идеи;
        • Не гнаться за абсолютной точность и начать использование приполучении первых приемлемых результатов. Все равно идеальный результатполучить невозможно. Если мы получили результат, пусть не идеальный, нолучше, чем был ранее, то есть резон начать его использование. Во-первых,это позволяет быстрее получить практическую отдачу. Во-вторых, только напрактике можно действительно оценить полученный результат. В-третьих,можно и нужно параллельно работать над совершенствованием модели сучетом полученных на практике результатов;
        • При невозможности получения приемлемых результатов - вернутьсяна предыдущие шаги схемы. К сожалению, ошибки могут быть допущены налюбом шаге: может быть некорректно сформулирована первоначальнаягипотеза, могут возникнуть проблемы со сбором необходимых данных ипрочее. К этому нужно быть готовым. При возникновении такого родапроблем возвращаться на предыдущие пункты и рассмотреть альтернативныеварианты решения;

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

          Заключение

          При получении приемлемых результатов нужно начать использованиеполученных моделей. Начало применения не является завершением Data Miningпроекта. Работать над совершенствованием моделей нужно всегда, т.к. попрошествии времени обязательно наступит момент, когда опять придетсяпроходить описанный цикл. К тому же, после получения первыхудовлетворительных результатов, обычно встает вопрос о повышенииточности.

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

          Описанную методику можно просмотреть в виде презентации - www.basegroup.ru/download/datamining_dataprepare.exe

          Алексей Арустамов
          BaseGroup Labs


          Библиотека | Партнеры | Семинары | Контакты | Карта сайта
          © 2012, BIGroup Labs.    Лаборатория Интеллектуального Бизнеса - 2004г.