Статистика государственных финансов
Правила переоформления студенческих работ
Требования к оформлению студенческих работ

Способы очистки данных в Deductor

ГлавнаяИнформатикаБазы данных и экспертные системы
ДисциплинаБазы данных и экспертные системы
ВУЗМГУ

Содержание

лабораторная работа 2
Очистка данных
Цель работы: Освоение основных способов очистки данных при подготовке их к анализу, приобретение практических навыков по использованию инструментария Deductor 4 по устранению ошибок в исходных данных.
Задание: 
1)	Для исходных таблиц - справочников разработать и включить в систему сценарии определения дубликатов и противоречий.
2)	Для всех исходных наборов данных разработать и включить в систему сценарии определения пропусков в данных.
3)	Для полей - фактов наборов данных-процессов разработать и включить в систему сценарии определения и исправления аномальных значений.
4)	Создать отчеты по всем разработанным сценариям.
5)	Продемонстрировать проект преподавателю и защитить работу.
Краткая теория и методические указания
Ошибки данных
Необходимость предварительной обработки при анализе данных возникает независимо от того, какие технологии и алгоритмы используются. Более того, эта задача может представлять самостоятельную ценность в областях, не имеющих непосредственного отношения к анализу данных. При использовании же механизмов анализа, в основе которых лежат самообучающиеся алгоритмы, такие как нейронные сети, деревья решений и прочее, хорошее качество данных является ключевым требованием.
Очевидно, что исходные ('сырые') данные чаще всего нуждаются в очистке. При этом используются большой набор математических методов, таких как алгоритмы робастной фильтрации, спектрального и Вейвлет - анализа, последовательной рекуррентной фильтрации, статистического анализа.
Мы не будем рассматривать ошибки такого рода как несоответствие типов, различия в форматах ввода и кодировках, т.е. случаи, когда информация поступает из различных источников, где для обозначения одного и того же факта приняты различные соглашения. Характерный пример такой ошибки – обозначение пола человека. Где-то он обозначается как М/Ж, где-то как 1/0, где-то как True/False. С такого рода ошибками борются при помощи задания правил перекодировки и приведения типов. Такого рода проблемы, более или менее, сегодня решаются. Нас интересуют проблемы более высокого порядка, те, которые не решаются такими элементарными способами.
Рассмотрим основные виды ошибок, которые характерны для самых различных задач: 
	противоречивость информации; 
	пропуски в данных; 
	аномальные значения; 
	шум; 
	ошибки ввода данных.
Конечно, ошибки можно править и вручную, но при больших объемах данных это становится довольно проблематично. Поэтому рассмотрим варианты решения этих задач в автоматическом режиме при минимальном участии человека.
Противоречивость информации
После того, как мы определимся с тем, что считать противоречием и найдем их, есть несколько вариантов действий. 
1)	При обнаружении нескольких противоречивых записей, удалять их. Метод простой, а потому легко реализуемый. Иногда этого бывает вполне достаточно. Тут важно не переусердствовать, иначе мы можем потерять и важные данные. 
2)	Исправить противоречивые данные. Можно вычислить вероятность появления каждого из противоречивых событий и выбрать наиболее вероятный. Это самый грамотный и корректный метод работы с противоречиями.
С помощью механизма обработки Deductor в исходной выборке данных могут быть выявлены дублирующие и противоречивые записи. Настройка выявления дубликатов и противоречий заключается в выборе назначений полей исходной выборки данных.
Для настройки параметров поиска дубликатов и противоречий необходимо выполнить назначение полей исходной выборки. В левой части окна настройки представлен список всех полей исходной выборки. Если выделить поле, то для него будут отображены параметры: Имя столбца, Тип данных, Вид данных. Эти параметры определены для полей в источнике данных и здесь изменяться не могут. 
Чтобы выбрать назначение для выделенного поля, нужно открыть список «Назначение» и выбрать один из возможных вариантов: 
	Входное – поле будет содержать входные значения. 
	Выходное – поле будет содержать выходные значения. 
	Информационное – поиск дубликатов и противоречий для данного поля выполняться не будет, но само поле будет добавлено в результирующий набор без изменений.   
	Неиспользуемое – поиск дубликатов и противоречий для данного поля выполняться не будет, и поле не будет представлено в результирующем наборе.  
В результирующем наборе будут добавлены два поля логического типа «Противоречие» и «Дубликат», где для каждой записи исходных полей будет указан признак дубликата или противоречия. Так, если запись содержит противоречие, то в поле «Противоречие» для нее будет установлено значение «True» (истина), в противном случае «False» (ложь). Аналогично и для поля «Дубликат». 
Кроме того, в набор будут включены два столбца целого типа «Группа противоречий» и «Группа дубликатов», содержащие номер группы для противоречивых и дублирующихся записей соответственно. Для записей, не содержащих противоречий и дубликатов, эти два поля будут пустыми. 
Обработка выявленных дубликатов может производиться с помощью других методов, доступных в Deductor, таких как фильтрация и сортировка.
Пропуски в данных
Очень серьезная проблема. Это вообще бич для большинства хранилищ данных. Большинство методов прогнозирования исходят из предположения, что данные поступают равномерным постоянным потоком. На практике, такое встречается крайне редко. Поэтому одна из самых востребованных областей применения хранилищ данных – прогнозирование – оказывается реализованной не качественно или со значительными ограничениями. Для борьбы с этим явлением можно воспользоваться следующими методами: 
1)	Аппроксимация и экстраполяция. Т.е. если нет данных в какой-либо точке, мы берем ее окрестность и вычисляем по известным формулам значение в этой точке, добавляя соответствующую запись в хранилище. Хорошо это работает для упорядоченных данных. Например, сведения об ежедневных продажах продуктов. 
2)	Определение наиболее правдоподобного значения. Для этого берется не окрестность точки, а все данные. Этот метод применяется для неупорядоченной информации, т.е. случаем, когда мы не в состоянии определить, что же является окрестностью исследуемой точки.
Для решения этой задачи в аналитической платформе Deductor необходимо включить в сценарий обработки восстановление пропущенных данных, где, путем установки соответствующего пункта выбрать один из возможных методов: «Аппроксимация» или «Максимальное правдоподобие». Пункт «Отключить» позволяет отказаться от восстановления пропущенных данных в сценарии обработки.  Эти настройки необходимо определить для всех полей, к которым нужно применить алгоритм восстановления пропущенных данных.
Аномальные значения
Довольно часто происходят события, которые сильно выбиваются из общей картины. И лучше всего такие значения откорректировать. Это связано с тем, что средства прогнозирования ничего не знают о природе процессов. Поэтому любая аномалия будет восприниматься как совершенно нормальное значение. Из-за этого будет сильно искажаться картина будущего. Какой-то случайный провал или успех будет считаться закономерностью.
Есть метод борьбы и с этой напастью – это робастные оценки. Это методы устойчивые к сильным возмущениям. Мы оцениваем имеющиеся данные ко всему, что выходит за допустимые границы, и применяем одно из следующих действий: 
1)	значение удаляется; 
2)	значение заменяется на ближайшее граничное значение.
Чтобы добавить в сценарий обработки алгоритм редактирования аномальных данных необходимо установить флажок «Включить редактирование аномальных данных». В результате станет доступной настройка «Степень подавления», которая позволит выбрать из списка возможную степень подавления аномальных значений – малую, среднюю или большую. Эту процедуру необходимо повторить для всех полей, к которым должно быть применено редактирование аномальных данных.
Шум
Почти всегда при анализе мы сталкиваемся с шумами. Шум не несет никакой полезной информации, а лишь мешает четко разглядеть картину. Методов борьбы с этим явлением несколько: 
1)	Спектральный анализ. При помощи него мы можем отсечь высокочастотные составляющие данных. Проще говоря, это частые и незначительные колебания около основного сигнала. Причем, изменяя ширину спектра, можно выбирать какого рода шум мы хотим убрать. 
2)	Авторегрессионые методы. Этот довольно распространенный метод активно применяется при анализе временных рядов и сводится к нахождению функции, которая описывает процесс плюс шум. Собственно шум после этого можно удалить и оставить основной сигнал.
На шаге «Спектральная обработка» Мастера обработки пользователь может выбрать один из возможных методов спектральной обработки данных:
1)	Сглаживание данных – если выбран данный пункт, то становится доступной настройка «Полоса пропускания». Чем больше требуется сгладить данные, тем меньше должно быть значение полосы. Однако слишком узкая полоса может привести к потере полезной информации.  
2)	Вычитание шума – если выбран данный метод, то становится доступной настройка «Степень вычитания шума» – малая, средняя и большая. Этим методом следует пользоваться с осторожностью, т.к. реализованный здесь эвристический алгоритм гарантирует удовлетворительные результаты лишь при выполнении двух условий: уровень шума мал и шум имеет нормальное распределение.  
3)	Вейвлет преобразование – если выбран данный метод, то необходимо задать глубину разложения и порядок Вейвлета. Глубина разложения определяет «масштаб» отсеиваемых деталей: чем больше эта величина, тем более «крупные» детали в исходных данных будут отброшены. При достаточно больших значениях параметра (порядка 7-9) выполняется не только очистка данных от шума, но и их сглаживание («обрезаются» резкие выбросы). Использование слишком больших значений глубины разложения может привести к потере полезной информации из-за слишком большой степени «огрубления» данных. Порядок Вейвлета определяет гладкость восстановленного ряда данных: чем меньше значение параметра, тем ярче будут выражены «выбросы», и, наоборот, - при больших значения параметра «выбросы» будут сглажены.  
Опция «Отключить» – позволяет отключить все настройки и не использовать спектральную обработку в сценарии обработки.
Контрольные вопросы
1)	Какие ошибки данных в источниках могут быть обнаружены средствами аналитической платформы Deductor 4?
2)	Какие методы восстановления пропущенных значений реализованы в аналитической платформе Deductor 4?
3)	Для чего используется спектральная обработка данных? Для каких наборов данных она может применяться?
4)	В каких случаях целесообразно использование подавление шума? 
5)	Что представляет собой Вейвлет - преобразование? В каких целях оно может быть использовано?