1
Лабораторная работа №1.
Обработка данных основными алгоритмами очистки и трансформации данных инструментария Deductor.
Введение.
Deductor является аналитической платформой, предназначенной для создания законченных прикладных решений в области анализа данных. Реализованные в Deductor технологии позволяют на базе единой архитектуры пройти все этапы построения аналитической системы от консолидации данных до автоматического подбора моделей и визуализации полученных результатов.
Версия Deductor Academic предназначена для образовательных целей, имеет ограниченные возможности интеграции и автоматической обработки данных. Использование в коммерческих целях запрещено.
Вся работа по анализу данных в DeductorStudio сводится всего к 4 операциям:
-импорт данных;
-обработка данных;
-визуализация;
-экспорт данных.
Перечисленные выше действия реализуются с помощью четырех мастеров.
По умолчанию панель управления представлена одной вкладкой – «Сценарии». Кроме того, доступны еще две вкладки: «Отчеты» и «Подключения». Сделать их видимыми можно следующими способами:
-главное меню → Вид → Отчеты и Вид → Подключения.
-кнопки «Отчеты» и «Подключения» на панели инструментов.
Импорт данных.
Отправной точкой для анализа всегда является процедура импорта
данных. В дальнейшем с ними можно производить любые доступные операции, работа со всякой импортированной таблицей происходит одинаково. Deductor не имеет собственных средств для ввода данных, поэтому сценарий всегда начинается с узла импорта из какого-либо источника. Импорт в Deductor Academic может осуществляться только из текстовых файлов и хранилища данных. Любой вновь создаваемый узел импорта будет находиться на верхнем уровне (подчиненным главному узлу– «Сценарии»).
Для автоматизации получения данных из любого источника, предусмотренного в системе, предназначен Мастер импорта. Вызвать мастер можно следующими способами:
-кнопка
на панели инструментов закладки «Сценарии»;
-клавиша F6;
-контекстное меню «Мастер импорта».
2
Сценарий можно автоматически выполнять на любых данных. Для построения сценария можно использовать только мастера и ничего более.
Импорт из текстовых файлов с разделителями.
Структурированный текстовый файл с разделителями – один из самых распространенных форматов хранения данных. Такой файл представляет собой обычный текстовый файл, столбцы данных в котором разделены однотипными символами-разделителями, например символами табуляции, пробела, точки с запятой и т.д.
Процесс импорта данных из текстового с разделителями файла в Мастере импорта (категория Текстовой файл (Direct)) содержит следующие шаги:
-указание имени файла;
-настройка параметров импорта;
-настройка импортируемых полей;
-запуск процесса импорта;
-выбор способа визуализации;
-задание сведений об узле.
На шаге «Указание имени файла», нажав кнопку
, необходимо выбрать имя текстового файла (расширения *.txt , *.csv), из которого следует выполнить импорт данных. После этого в поле «Имя файла» окна Мастера импорта появится имя выбранного файла и путь. Допускается вручную ввести путь к файлу.
На шаге «Настройка параметров импорта» нужно настроить параметры импорта данных из текстового файла, так как существует несколько форматов структурированных текстовых файлов. Доступные опции:
-переключатель Формат исходных данных, который определяет символ-разделитель в файле (например, символ табуляции, пробел, запятая). Разделитель чаще всего присутствует. Если же нет, то нужно выбрать переключатель Фиксированной ширины (поля имеют заданную ширину), а позже установить ширину каждого поля;
-Ограничитель строк – при задании данного параметра необходимо
указать, какой именно ограничитель строкового значения нужно использовать при импорте данных из текстового файла. Обычно таким ограничителем является символ двойной кавычки ";
-Разделитель дробной и целой части числа – при задании данного параметра необходимо указать символ, разделяющий дробную и целую части
вчисловых значениях, содержащихся в файле;
-Представление значений – опция для полей логического типа, которое
может принимать одно из трех значений – истина (true), ложь (false) и пустое значение (null). Определяет регламент записи в эти значения. Так, при настройках по умолчанию для любого логического поля значение «Да» будет восприниматься как истина, «Нет» – как ложь:
- Форматы Даты/Времени – указываются форматы даты/времени, используемые в импортируемом файле.
3
В качестве разделителей, представлений значений и форматов по умолчанию всегда предлагаются системные настройки операционной системы.
Следующее окно Мастера зависит от установленного переключателя во флажке «Формат исходных данных». Если был выбран формат с разделителями, то появится вкладка, на которой нужно явно указать символразделитель (по умолчанию – табуляция). Здесь же находится флаг «Считать последовательные разделители одним» – в случае последовательно идущих символов-разделителей они будут восприниматься за один. Такое бывает, например, когда символом-разделителем выступают несколько пробелов.
Предпросмотр текстового файла в виде таблицы внизу (загружаются только первые 10 строк) позволяет убедиться в корректности выбора настроек импорта, даже не запуская его.
Если был выбран флаг формат Фиксированной ширины, то появится вкладка, на которой нужно задать границы каждого поля. Создание, как и удаление маркера, границы производится одним щелчком мыши. Двигая маркеры границ столбцов, можно изменять их, если они расставлены неправильно. Данные, распределенные по столбцам, показываются в области предварительного просмотра.
На шаге «Настройка параметров столбцов» нужно настроить следующие параметры столбцов импортируемых данных, указав соответствующие значения в полях.
«Имя столбца» – указывается имя, которое будет служить идентификатором столбца в последующих узлах. По умолчанию предлагается заголовок столбца из текстового файла, если на предыдущем шаге был установлен флажок Первая строка является заголовком. Иначе будут предложены имена типа COL1, COL2 и т. д. Можно ввести любые имена, которые семантически отражают содержимое столбца, однако допускаются только латинские символы, и имя столбца должно быть уникальным в пределах всех столбцов импортируемого файла.
«Метка столбца» – название, под которым данный столбец будет виден в визуализаторах. Допускаются любые символы, уникальность имен не обязательна.
«Тип данных» – указывается тип данных, содержащихся в столбце. Тип выбирается из списка, открываемого щелчком по кнопке в правой части поля.
«Вид данных» – характер данных, содержащихся в столбце. Непрерывными могут быть только числовые данные. Дискретный
характер носят, как правило, строковые данные.
В случае если процесс импорта данных был успешно завершен, то активизируется кнопка «Далее», которая позволит перейти на следующий шаг Мастера импорта к окну «Определение способов отображения». Будет предложено выбрать визуализатор набора данных (по умолчанию предлагается Таблица).
Визуализатор Таблица. Стандартное табличное представление с возможностью фильтрации данных, сортировки и быстрого расчета
4
статистики. В таблице каждое поле набора данных размещается в отдельном столбце. Столбцы озаглавлены метками полей, а если метка не была задана, то именами полей. Ширину и порядок столбцов можно менять при помощи мыши. Последовательное нажатие правой кнопкой мыши по таблице активирует панель инструментов, кнопки которой открывают доступ к следующим функциям
Визуализатор Статистика служит для отображения основных статистических характеристик набора данных конкретного узла.
Визуализатор Диаграмма показывает график изменения любого показателя. Имеется возможность выбора различных вариантов диаграмм: столбчатые, линейные, круговые и прочее.
Визуализатор Многомерная диаграмма отображает данные в многомерном виде – поверхность или топографическим способом.
Визуализатор Диаграмма размещения – показывает объекты, размещенные в пространстве.
Визуализатор Гистограмма показывает график разброса показателей. Гистограмма предназначена для визуальной оценки распределения данных. Распределение данных оказывает значительное влияние на процесс построения модели. Кроме того, по гистограмме можно судить о величине отклонений различной степени (гистограмма распределения ошибок).
Визуализатор Куб. Многомерное представление данных. Любые данные, используемые в программе, можно посмотреть в виде кросс-таблицы и кросс-диаграммы.
Визуализатор Сведения. Текстовое описание параметров импорта/обработки/экспорта в дереве сценариев обработки.
На последнем шаге необходимо присвоить имя и метку новому узлу. После завершения процедуры импорта этот узел появится в дереве сценариев.
Создание проекта.
В Deductor Studio ключевым понятием является проект. Это файл с расширением*.ded, по структуре соответствующий стандарт xml-файлу. Он хранит в себе:
-последовательности обработки данных (сценарии);
-настроенные визуализаторы;
-переменные проекта и служебную информацию. Создать новый проект можно следующими способами:
-главное меню: Файл→Создать;
-кнопка
на панели инструментов;
-клавиша Ctrl+N.
Каждый проект имеет авторские сведения: Название, Версия, Автор, Компания, Описание. Они заполняются в диалоговом окне «Свойства проекта» (меню Файл→Свойства проекта…).
Сохранение проекта: Созданный сценарий и дерево отчетов можно сохранить в файле проекта. Для этого необходимо выбрать пункт главного меню:
5
Файл→ Создать, Файл → Сохранить как…). Откроется диалоговое окно сохранения файла. В нем нужно выбрать путь, куда будет сохранен файл проекта, и указать имя файла.
Порядок выполнения работы.
1.Установите Deductor5.3Setup0.88Academic.exe.
2.Загрузите приложение DeductorStudioAcademic.
3.Создайте новый проект и сохраните его под собственным именем.
4.Заполните свойства проекта.
5.Просмотрите файл проекта через любой текстовый редактор.
6.Осуществите трансформацию данных.
6.1. Разбиение даты.
Разбиение даты служит для анализа всевозможных временных интервалов на основе имеющейся информации о дате и времени. Суть разбиения заключается в том, что на основе столбца с информацией о дате формируется другой столбец, в котором указывается, к какому заданному интервалу времени принадлежит строка данных. Тип интервала задается аналитиком, исходя из того, что он хочет получить: данные за год, квартал, месяц, неделю, день или сразу по всем интервалам.
Исходные данные. Пусть нам необходимо получить данные по суммам взятых кредитов по неделям (в файле Credit.txt содержится информация за первые две недели 2013 года).
Обработка данных. Для этого в Мастере обработки «Дата и Время» на втором шаге выберем поле «Дата кредитования» используемым, в появившейся после этого таблице настроек выберем назначение «Используемое» в столбце «Строка» напротив строки «Год + Неделя».
Больше никакие настройки не понадобятся, поэтому перейдем далее к выбору типа визуализации. Выберем в качестве визуализатора «Куб».
В Мастере настройки полей куба выберем в качестве измерения появившийся после обработки столбец «Дата кредитования_(Год + Неделя)» и столбец «Цель кредитования», а в качестве факта – «Сумма кредита». Остальные поля сделаем неиспользуемыми.
На следующем шаге перенесем одно измерение из области «доступных» в область «Измерения в строках», а другое – в область «Измерения в столбцах».
На кросс-диаграмме имеем суммы взятых кредитов по неделям (за первые две недели года) в разрезе целей кредитования.
6.2. Квантование.
Квантование предназначено для преобразования непрерывных данных в дискретные. Преобразование может проходить как по интервалам (данные разбиваются на заданное количество интервалов одинаковой длины), так и по квантилям (данные разбиваются на интервалы разной длины так, чтобы в каждом интервале находилось одинаковое количество записей). В качестве значений результирующего набора данных могут выступать номер интервала, нижняя или верхняя граница интервала, середина интервала либо метка интервала (значения определяемые аналитиком).
6
Для этого в Deductor Studio применяется инструмент квантования (или дискретизации).
Исходные данные. Воспользуемся данными, полученными при разбиении даты файла Credit.txt.
Обработка данных. Для обработки данных воспользуемся Мастером квантования. В нем выберем назначение поля «Возраст» используемым, укажем способ разбиения «По интервалам», зададим количество интервалов равное 5, в качестве значения выберем «Метка интервала».
На следующем шаге Мастера определим сами метки соответственно возраста кредиторов: «до 30 лет», «от 30 до 40 лет» и т.д.
После обработки выберем в качестве способа отображения «Куб». В Мастере укажем «Сумма кредита» в качестве факта, «Возраст» и поле «Дата кредитования (Год +Неделя)» в качестве измерения, остальные поля укажем неиспользуемыми.
Далее перенесем «Возраст» из доступных измерений в «Измерения в строках», a «Дата кредитования (Год + Неделя)» в «Измерения в столбцах».
На кросс-диаграмме будет видна информация о том, какие суммы кредитов берут кредиторы определенных возрастных групп по неделям.
6.3. Настройка набора данных.
Пусть необходимо изменить метку поля «Дата кредитования (Год + Неделя)» на более информативную – «Год и неделя кредитования». Пусть необходимо использовать поле «Срок кредита» как дискретное.
Обработка данных. В Мастере настройки (Настройка набора данных) выделим столбец «Дата кредитования (Год + Неделя)» и укажем ему новую метку. Подобные действия по изменению произведем и с полем «Срок кредита». После настройки полей получаем отчет, представленный в виде кросс-таблицы.
6.4. Фильтрация данных.
Фильтрация необходима для разбиения данных на какие-либо группы (например, товарные) для последующей обработки или анализа данных уже отдельно по каждой группе. Фильтрация позволяет из исходного набора данных получить новую таблицу для анализа. В Deductor Studio механизм построения условий фильтрации прост для понимания. В окне Мастера можно задать несколько элементарных условий фильтрации (<ПОЛЕ> <ОТНОШЕНИЕ> <ЗНАЧЕНИЕ>), последовательно связанных логическими операциями (И, ИЛИ).
Рассмотрим ситуацию, когда необходимо оценить кредитоспособность потенциального заемщика. Предполагается, что заемщики, берущие суммы разного диапазона, ведут себя по-разному, следовательно, модели прогноза должны быть свои для каждой группы, т. е. для дальнейшего построения моделей оценки кредитоспособности различных категорий заемщиков необходимо использовать фильтрацию.
Исходные данные. В качестве исходных данных воспользуемся данными файла Credit.txt.
7
Обработка данных. Определим для примера группу заемщиков, взявших кредит менее 10000 руб. Для этого, находясь на узле импорта данных, из текстового файла запустим Мастер обработки. В нем в качестве метода обработки выберем фильтрацию. На втором шаге Мастера задаем условия фильтрации (при необходимости их можно добавлять или удалять соответствующими кнопками на форме). Поскольку необходимо отфильтровать данные только по заемщикам, взявшим кредит менее 10000, то в графе «Имя поля» выбираем поле «Сумма кредита», в графе «Условие» - знак меньше, а в графе «Значение» пишем «10000».
Больше никаких условий не требуется, поэтому переходим на следующий шаг Мастера и запускаем процесс фильтрации. После выполнения обработки можно манипулировать уже только с данными по заемщикам выбранного кредитного диапазона.
В правильности выполненной операции можно легко убедиться, выбрав в качестве визуализации данных статистику и просмотрев значения минимального и максимального значения поля «Сумма кредита».
6.5. Замена значений.
Данный обработчик предназначен для замены значений по таблице подстановок, которая содержит пары, состоящие из исходного и измененного значения.
Исходные данные. Воспользуемся заменой значений, используя данные по кредитованию (файл Credit.txt). Пусть необходимо представить отчет о суммах кредитов на различные цели по мужчинам и женщинам. Для повышения информативности заменим значения столбца «Пол». Например, «муж» – «мужчины», «жен» – «женщины».
Обработка данных. В Мастере замены следует выделить столбец «Пол» и нажать на кнопку «Добавить список». В поя вившемся списке необходимо пометить галочками оба значения и нажать на «ОК». Выбранные значения добавятся в таблицу подстановок. Далее следует указать, на что заменять исходные значения. В соответствии с задачей напишем напротив «муж» – «Мужчины», напротив «жен» – «Женщины». Затем перейдем на следующий шаг Мастера и выберем в качестве варианта визуализации «Куб». Укажем в качестве измерений поля «Пол» и « Цель кредитования», а в качестве факта «Сумма кредита». Остальные поля отметим как «неиспользуемый».
После замены значений получим отчет, представленный в виде кросстаблицы.
6.6. Группировка данных.
Сложно делать выводы на основе необработанной первичной информации. Для принятия решения очень часто нужна сводная информация. Совокупные данные намного более информативны тем более, если их можно получить в различных разрезах. В Deductor Studio предусмотрен инструмент, реализующий сбор сводной информации – «Группировка». Группировка позволяет объединять записи по полям-измерениям и агрегировать данные в полях-фактах для дальнейшего анализа.
8
Исходные данные. В качестве исходных данных возьмем статистику по банкам России за определенный период. Она находится в файле Banks.txt. Перед ним стоит задача выявления ряда городов, в которых прибыль банков самая большая, для использования этих данных в дальнейшем. Для этого необходимо обратить внимание на следующие поля таблицы из файла: «Банк», «Филиалы», «Город», «Прибыль», т. е. информация о названии банка, городе, в котором он находится (филиалы банка могут находиться в разных городах, следовательно, по одному и тому же банку может быть несколько записей с данными по разным городам), и прибыль банка. Ясно, что для решения поставленной задачи первым делом необходимо найти суммарную прибыль всех банков в каждом городе. Для этого и используется группировка.
Находясь в узле импорта, запустим Мастер обработки. Выберем в качестве метода обработки «Группировка». На втором шаге Мастера установим назначение поля «Город» как измерение, а назначение поля «Прибыль» как факт. В качестве функции агрегации у поля «Прибыль» следует указать «Сумма».
После обработки получим суммарные данные по прибыли всех банков по каждому городу. Их можно просмотреть, используя таблицу.
6.7. Преобразование данных к скользящему окну.
Когда требуется прогнозировать временной ряд, тем более, если налицо его периодичность (сезонность), то лучшего результата можно добиться, учитывая значения факторов не только в данный момент времени, но и, например, за аналогичный период прошлого года. Такую возможность можно получить после трансформации данных к скользящему окну. То есть, например, при сезонности продаж с периодом 12 месяцев, для прогнозирования количества продаж на месяц вперед можно в качестве входного фактора указать не только значение количества продаж за предыдущий месяц, но и за 12 месяцев назад.
Обработка создает новые столбцы путем сдвига данных исходного столбца вниз и вверх (глубина погружения и горизонт прогноза).
В качестве исходных данных возьмем данные о месячном количестве проданного товара за несколько лет. Необходимо, основываясь на этих данных, сказать, какое количество товара будет продано через неделю и через две.
Исходные данные. Данные по продажам находятся в файле Trade.txt. Выполним импорт данных из файла, не забыв указать в Мастере, чтобы в качестве разделителя дробной и целой части была точка, а не запятая.
Обработка данных. Выполним удаление аномалий и сглаживание. Результат полученных данных можно посмотреть в виде таблицы. Как видно, теперь в качестве входных факторов можно использовать «Количество – 12», «Количество – 11» - данные по количеству 12 и 11 месяцев назад (относительно прогнозируемого месяца) и остальные необходимые факторы.
Вкачестве результата прогноза будет указан столбец «Количество».
6.8.Слияние.
9
Обработчик «Слияние» предназначен для объединения двух наборов данных по нескольким одинаковым полям.
Воспользуемся механизмом слияния, используя данные по продажам и остаткам (файлы TradeSales.txt и TradeRest.txt соответственно). Добавим к данным по продажам данные по остаткам. Для этого сначала импортируем данные из файла TradeRes.txt, содержащего данные по остаткам. В сценарии появится новый узел с данными об остатках товара. Далее импортируем данные по истории продаж из файла TradeSales.txt. К сведениям по продажам добавим информацию об остатках. Для этого запустим Мастер обработки и выберем обработчик «Слияние».
В Мастере слияния сначала следует выбрать узел связи, с которым необходимо соединить данные. В данном случае это узел «Остатки товара». Также нужно указать тип слияния. Далее укажем необходимые взаимосвязи между столбцами двух узлов сценария. После указания параметров полей надлежит перейти на следующий шаг Мастера и запустить процесс слияния.
Полученные результаты будут представлены в виде диаграммы.
Лабораторная работа завершается оформлением отчета, который должен содержать следующее:
1.Название работы.
2.Постановку задачи.
3.Данные в виде твердой копии подготовленного текстового файла.
4.Распечатку табличного и графического материала, сохраненного в файл, при работе в аналитической платформе.
5.Комментарии о ходе выполнения работы.
6.Выводы по работе в аналитической платформе Deductor.
