Владимир Рафалович - Data mining, или Интеллектуальный анализ данных для занятых. Практический курс. Страница 2

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

Интеллектуальный анализ данных, что это

Разработка данных (Data Mining) иногда еще называемая обнаружением знаний из баз данных (KDD – knowledge discovery in databases), по сути, заключается в нахождении повторяющихся элементов (сегментов) в источнике данных. Когда данных собрано очень много, их количество позволяет обнаружить неизвестные до сих пор закономерности, которые не были заметны когда данных было мало. Огромное количество данных позволяет сделать качественный скачок и обнаружить новые закономерности. С другой стороны, что по сути означают физические законы? В результате наблюдений огромного количества повторяющихся явлений, люди были в состоянии резюмировать их в короткие по форме математические формулы, которые представляют собой информационную квинтэссенцию явлений. Поясним эту мысль. Данные в базах данных, даже в нормированных, еще не являются информацией как таковой, поскольку содержат большое количество явных и неявных повторений. Большое количество повторений, большая удаленность от чистой информации, как раз и позволяет находить в данных закономерности, то есть приводить систему данных к более близкому к информации состоянию, понижать энтропию данных, так сказать. Извлечение из совокупности данных повторяющихся закономерностей, сродни нахождению новых закономерностей (пусть и не выраженных в виде математической формулы), то есть извлечению новых знаний.

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

Эта книга отличается от большинства других по этой теме тем, что мы не углубляемся в суть математического обоснования или объяснения тех или иных моделей и алгоритмов. На эту тему написано огромное количество хороших книг. Но вот книг о практическом применения этих методов очень мало, если не сказать, что почти нет ни на русском, ни на английском языках. Для этого есть ряд объективных причин. Дело в том, что пользователи Excel редко имеют представление о том, что такое базы данных и как ими манипулировать. Специалисты работающие с SQL-сервером не нуждаются в Excel для разработки данных, поскольку в самом SQL-сервере имеются серьезные инструменты для интеллектуального анализа данных (SSAS – SQL Server Analysis Service, аналитические сервисы SQL-сервера), требующие значительных профессиональных знаний. Тема же нашей книги лежит как раз на стыке этих двух приложений. В результате, многочисленные книги об Excel, концентрируются в основном на использовании встроенных статистических функций, формулах, на вопросах о том, как создавать макросы и писать их на языке VBA и, как правило, обходят тему разработки данных стороной. Книги же по SQL-серверу вообще ориентированы обычно на специалистов и довольно глубоко входят в тему интеллектульного анализа данных в рамках самого SQL-сервера. Но при этом делается упор на построении хранилищ данных (Data Warehouse), так называемых кубов, выбора моделей и алгоритмов, на которых затем и базируется разработка данных.

Мы писали книгу для людей, которые работают с Excel, которые по природе своих занятий обрабатывают большие объемы данных и которым просто еще не пришлось обнаружить скрытые ресурсы находящиеся во взаимодействии Excel с SQL-сервером.

Введение

Обработка данных область далеко не новая, хотя наиболее интенсивно она стала развиваться в конце 20 века, когда персональный компьютер стал так же доступен как и телевизор. Статистической обработкой данных занимались люди тоже давно. Тем не менее, интеллектуальный анализ данных с помощью методов Data Mining (разработка данных) это нечто другое, чем просто статистическая обработка данных, хотя последняя лежит в ее основе. Прежде всего Разработка данных не сводится к статистической обработке данных, но содержит последнюю, скорее как внутренний инструмент. Когда у нас слишком много данных и очень много коррелирующих между собой параметров, то анализировать такие объемы вручную или традиционными методами становится проблематично. Традиционные методы не срабатывают в условиях сложных нелинейных и многочисленных комбинаций, либо требуют неадекватных затрат. Принципиальное отличие Разработки данных от статистической Обработки данных заключается в том, что первое позволят извлечь из груды данных новое знание (KDD – Knowledge Discovery from Database), новую закономерность, ранее неизвестную в принципе. Путем нахождения типичных повторений (pattern) или образцов. Разработка данных указывает на новые зависимости между входными параметрами и искомыми переменными. Довольно ярким примером подобного извлечения знаний является такой факт: обработка закупок в супермаркетах показала, что вместе с пивом люди часто покупают поленья для пикника и мясо. В результате в супермаркетах эти товары находятся в непосредственной близости, подсказывая и подталкивая покупателя на дополнительные покупки.

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

Существуют и другие многочисленные примеры практического применения результатов разработки данных. Конкурентная борьба между транснациональными американскими сетями магазинов заставляет их бороться за каждого покупателя и не давать ему переходить в другую торговую сеть. Американская торговая сеть Target, основной конкурент Walmart, понимала, что если в семье рождается ребенок, то главное затащить родителей в свой магазин и предложить им дайперсы, если не бесплатно, то по очень низкой цене. Дальше родители купят все остальное и вообще станут покупателями этой торговой сети. Но как узнать, когда в семье родится ребенок? Очевидно, что беременные женщины имеют тенденцию питаться несколько отличным образом от других. Они употребляют больше витаминов, молочных продуктов и т. д. Разработка данных и классификация покупателей методами интеллектуального анализа данных позволила определить группу беременных покупательниц. Им были разосланы приглашения посетить магазин с дисконтными купонами. Для этого использовался аналитический процесс "Detect Categories" (Определить категории). Как это делается вы узнаете из главы 4–2.

Другой яркий пример работы ассоциативного алгоритма это компания Amazon.com. Она анализирует предметы покупок, книги, в частности, которые обычно покупаются вместе, а затем подсказывает покупателю те предметы (книги), которые обычно покупаются попутно. Подобная стратегия очевидно приводит к увеличению объема продаж. Для этого используется аналитический процесс "Shopping Basket Analysis" (Анализ покупательской корзины, см. главу 4–7)

Наконец подозрительная активность с банковскими картами или слишком необычные для данного клиента покупки, нехарактерные для его привычек, позволяют банкам не пропускать транзакции, пока они не получат письменного или устного разрешения клиента. Скажем владелец карты использовал ее в течении нескольких лет для покупок питания на не более, чем 2000 рублей за раз и для эпизодической оплаты книжных покупок размером до 1000 руб. Однажды, банк получил требование на оплату счета в ресторане в размере 10.000 рублей. Банк заблокировал эту транзакцию и правильно, карта оказалось утерянной, но владелец еще не успел этого обнаружить. Для этого используется аналитический процесс "Highlight Exceptions" (Выделение исключений, см. главу 4–5)

Что нужно для работы

1. Вам необходимо разумеется иметь Excel 2007 или более позднее издание (2010 или 2013). В этой книге, однако, мы будем использовать Excel 2010 и все примеры будут иллюстрироваться из него. Excel обычно является частью Microsoft Office 2007, 2010 или 2013. Excel должен быть установлен на том компьютере, на котором вы работаете.

2. Нужно иметь стандартное или Enterprise издание SQL-сервера 2005, 2008 или более позднее. SQL-сервер не обязательно должен находиться на том компьютере на котором вы непосредственно работаете, но с ним должна быть хотя бы интернет-связь, поскольку вся обработка данных происходит именно на SQL-сервере. Кроме того, на самом SQL-сервере должна быть установлена компонента SQL Analysis Service (SSAS). Этот продукт хотя и является частью SQL-сервера, не устанавливается по умолчанию и должен быть установлен дополнительно. Это именно тот сервис SQL-сервера, где находятся все алгоритмы и где будет происходить расчет моделей и обработка данных.