Data Mining

       

Описание аналитических алгоритмов


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

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

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

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

Интерпретация результатов.

На рис. 26.6 представлены алгоритмы, используемые в программе, сгруппированные по назначению.


Рис. 26.6.  Алгоритмы, используемые в Deductor

Группа 1. Очистка данных

Редактирование аномалий

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

Заполнение пропусков

В программе предусмотрено два способа заполнения пропущенных данных.

  • Аппроксимация - пропущенные данные восстанавливаются методом аппроксимации.
  • Максимальное правдоподобие - алгоритм подставляет наиболее вероятные значения вместо пропущенных данных.

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

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

Сглаживание

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

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

Второй способ сглаживания - это вейвлет-преобразование. Если выбран данный метод, то необходимо задать глубину разложения и порядок вейвлета. "Масштаб" отсеиваемых деталей зависит от глубины разложения: чем больше эта величина, тем более "крупные" детали в исходных данных будут отброшены. При достаточно больших значениях параметра (порядка 7-9) выполняется не только очистка данных от шума, но и их сглаживание ("обрезаются" резкие выбросы). Использование слишком больших значений глубины разложения может привести к потере полезной информации из-за слишком высокой степени "огрубления" данных. Порядок вейвлета определяет гладкость восстановленного ряда данных: чем меньше значение параметра, тем ярче будут выражены "выбросы", и наоборот - при больших значения параметра "выбросы" будут сглажены.

Очистка от шумов

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

  1. дисперсия шума значительно меньше энергии полезного сигнала;
  2. шум имеет нормальное распределение.

Обнаружение дубликатов и противоречий

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

Группа 2. Трансформация данных

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

Квантование значений

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

Квантование может быть осуществлено интервальным или квантильным методом.

Интервальное квантование подразумевает разбиение диапазона значений на указанное количество значений равной длины. Например, если значения в поле попадают в диапазон от 0 до 10, то при интервальном квантовании на 10 интервалов мы получим отрезки от 0 до 1, от 1 до 2 и т.д. При этом 0 будет относиться к первому интервалу, 1 - ко второму, а 9 и 10 - к десятому.

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

Табличная замена значений

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

"Скользящее окно"

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

Преобразование даты

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

Группировка

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

Разгруппировка

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

Комплексная предобработка

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

Понижение размерности пространства факторов

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

Требуется указать порог значимости, задающий дисперсию результата. Значение порога значимости может изменяться от 0 до 1.

Устранение незначащих факторов

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

Группа 3. Data Mining

Алгоритмы Data Mining в пакете Deductor представлены таким набором:

  • нейронные сети;
  • линейная регрессия;
  • прогнозирование;
  • автокорреляция;
  • деревья решений;
  • самоорганизующиеся карты;
  • ассоциативные правила.

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



Содержание раздела