Upload
olga-maksimenkova
View
111
Download
0
Embed Size (px)
Citation preview
Очистка данных на практике: мифы и легенды Excel и R
(Хакатон «Культура в современном медиапространстве»)
Максименкова Ольга Вениаминовна, старший преподаватель департамента программной инженерии факультета компьютерных наук НИУ ВШЭ
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 1
Где лежат картинки?
• Презентация доступна на SlideShare (http://www.slideshare.net/OlgaMaksimenkova)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 2
Культурные люди используют данные культурно
(придумано сегодня утром, мной)
Информация
• Информация [information] –• Первичное, не определяемое конструктивно понятие
• Сведения (сообщения, данные) независимо от формы их представления (Федеральный закон от 27.07.2006 N 149-ФЗ (ред. От 19.12.2016) «Об информации, информационных технологиях и о защите информации»)
• это не материя и не энергия (Норберт Винер)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 3
Данные
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 4
• Данные [data] –• любая информация, представленная в форме, пригодной для хранения,
передачи и обработки компьютерами
• Представление информации в формализованном виде, пригодном для передачи, интерпретации или обработки (ГОСТ Р ИСО/МЭК 12119–2000, статья А.3.1)
• Информационные процессы, использующие данные, называются обработкой данных [data processing] и изучаются информатикой.
Обработка данных
• Области обработки данных• Ввод/вывод – извлечение информации из внешней среды и её
формализация в виде данных или сохранение данных во внешней среде• Преобразование форматов – изменение способа представления данных• Телекоммуникации – передача данных между компонентами
распределённых информационных систем• Хранение – обеспечение долговременной доступности, целостности и
защищенности данных• Поиск данных – выполнение поисковых запросов к массивам данных• Переработка – существенное преобразование содержания и/или формы
данных, выполняемое на основе анализа и/или синтеза
• Подходы к обработке данных• числовые (параметры простых математических моделей)• текстовые (цепочки символов некоторого алфавита)• структурные (графы, описывающие структуру систем)• мультимедийные (аудиовизуальные и др.)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 5
Что такое очистка данных?
• Очистка данных – это процесс повышения качества данных, направленный
1. на выявление неточностей, неполноты или неадекватности в данных
2. устранение обнаруженных проблем и пропусков
• Подпроцессы очистки данных (Maletic & Marcus 2000, Chapman 2005):• Определение типов ошибок
• Поиск и установление объектов, содержащих ошибки
• Устранение ошибок
• [Модификация процедур получения данных для предотвращения ошибок в будущем]
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 6
Откуда берутся ошибки в данных?
• Разнородные формы измерений, опросов и исследований
• Старые данные с «богатой» историей
• Ошибки в результате устранения ошибок
• Ошибки именований и неверное использование таксономий
• Объединение баз и хранилищ данных
• …
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 7
Поставка открытых данных
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 8
открытость
данные
знания
и т.д.
поставщикпоставщик
поставщик
потребитель
потребитель
потребитель
Место очистки данных
Поставка данных
Предобработка данных
Обработка данных
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 9
Очистка данных
Так ли это?
Принципы очистки данных
• Очистка данных должна быть интегрирована в процессы работы с данными на этапе планирования
• Продуманная организация данных• Механизмы предотвращения ошибок• Ответственность за ошибки распределена между всеми участниками
процесса работы с данными• Взаимодействие между участниками процессов работы с данными• Установка приоритетов позволяет избежать повторяемости• Целеполагание и метрики• Минимизация дублирования данных• Обратная связь [feedback]• Повышение квалификации участников сбора данных• Обеспечение прозрачности процессов очистки данных• Документирование
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 10
Выведено из принципов обеспечения качества данных
Место очистки данных
Поставка данных
Предобработка данных
Обработка данных
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 11
Очистка данных
Что такое чистые данные?
1. Каждая переменная представлена столбцом
2. Каждое наблюдение составляет строку
3. Каждая наблюдаемая единица (объект) образует таблицу
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 12
Результат очистки данных – технически корректные данные:• Каждое значение принадлежит известной переменной• Каждое значение представлено корректным типом данных
Примеры: неинформативные названия переменных
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 13
Фрагмент результатов интернет-опроса посетителей пермского театра оперы и балета. Данные использованы в исследовании Paradox of conservatives: innovativeness and attendance of unconventional opera and ballet , проводимым Папушиной Ю.О.
Примеры: дублирующиеся данные
© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 14
Примеры: пропущенные значения
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 15
Работа с пропущенными значениями
• Работа с пропущенными значениями зависит от инструмента, целей исследования, объёма данных, …
• Систематизаций понятий, связанных с пропущенными значениями. Handling Missing Values in Data Mining(https://goo.gl/RfIuFp)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 16
Примеры: форматирование значений
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 17
Примеры: форматирование значений
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 18
Этапы очистки данных
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 19
Data Set
1. Убрать из имён переменных значения2. Разделить переменные, смешанные в одну3. Преобразовать данные так, чтобы
переменные встречались только по столбцам4. Разделить наблюдения/измерения по
разным таблицам5. Объединить данные по одному
наблюдению/измерению в одну таблицу6. Упорядочить данные7. Обработать значения переменных, имеющих
нарушения формата8. ….
Инструменты очистки данных
Максименкова О.В., ДПИ, ФКН, НИУ ВШЭ, 4 февраля 2017 20
• R (tidyr, dplyr)
• Excel (Query Editor)
• Python
• SPSS
• …
Очистка данныхR для эстетов
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 21
Инструменты
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 22
R Tools for Visual Studio (https://www.visualstudio.com/vs/rtvs/)
R: загрузка файлов с данными
• Read.csv(), Read.csv2(),….
• Reading and writing files (http://www.homogenisation.org/admin/docs/RWfiles.pdf)
• R Data Import/Export (https://cran.r-project.org/doc/manuals/R-data.pdf)
• Шпаргалка по импорту данных в R (http://www.r-tutor.com/r-introduction/data-frame/data-import)
• Package ‘jsonlite’ (https://cran.r-project.org/web/packages/jsonlite/jsonlite.pdf)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 23
R: Очистка данных
• Data tidying: Подготовка наборов данных для анализа на конкретных примерах (https://habrahabr.ru/post/248741/)
• Rstudio blog. Introducing tidyr(https://blog.rstudio.org/2014/07/22/introducing-tidyr/)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 24
Очистка данныхMicrosoft Excel 2016
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 25
Основы работы с Excel
• Office 2016 Quick Starts (https://support.office.com/en-us/article/Office-2016-Quick-Starts-25f909da-3e76-443d-94f4-6cdf7dedc51e)
© Максименкова О.В.,ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 26
Excel.Data Tools: Удаление дублирующихся строк
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 27
Выделяем диапазон ->Data ->
Remove Duplicates
Загрузка CSV-файлов в Excel (1)
• Data -> Get External Data -> From Text
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 28
Загрузка CSV-файлов в Excel (2)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 29
Загрузка CSV-файлов в Excel (3)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 30
Загрузка CSV-файлов в Excel (4)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 31
Excel.Query Editor: Загрузка данных из таблицы
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 32
Excel.Query Editor: Назначение типов переменным
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 33
Excel.Query Editor: Назначение типов переменным
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 34
Excel.Query Editor: Работа со значениями Error
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 35
Excel.Query Editor: Выгрузка в таблицу
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 36
Использована литература
• Power Query: стероиды для MS Excel (https://habrahabr.ru/post/271019/)
• Edwin de Jonge, Mark van der Loo An introduction to data cleaning with R(2013)
• Wickham H. Tidy Data. JSS, 59 (10), 2014 (http://www.jstatsoft.org/v59/i10/paper)
• http://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html• Dplyr (http://cran.r-project.org/web/packages/dplyr/dplyr.pdf)• Jason Brownlee Data Cleaning: Turn Messy Data into Tidy Data
(http://machinelearningmastery.com/data-cleaning-turn-messy-data-into-tidy-data/)
• Forum: Principles of Tidy Data (Hadley Wickham) and the VCF format (https://www.biostars.org/p/123018/)
• Tidy data in Python (http://www.jeannicholashould.com/tidy-data-in-python.html)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 37
Спасибо за внимание
Контакты:• Ольга Максименкова
• Департамент программной инженерии, Факультет компьютерных наук, НИУ ВШЭ, Москва, РФ
• E-mail: [email protected]
• Web-site: http://hse.ru/staff/maksimenkova
• Blog: http://stoptoscale.blogspot.ru (RU)
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ, 4 февраля 2017 38