О М Верес, В Л Мельник, Л Б Чирун - Застосування ms sql server 2005 для побудови інтелектуальної складової інформаційної системи - страница 1

Страницы:
1  2 

УДК 004.652:004.82

О.М. Верес, В.Л. Мельник, Л.Б. Чирун

Національний університет "Львівська політехніка", кафедра інформаційних систем та мереж

застосування ms sql server 2005 для побудови інтелектуальної складової інформаційної системи

© Верес О.М., Мельник В.Л., Чирун Л.Б., 2008

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

In the given article main principles of intellectual data analysis using Data Mining methods (Decision Trees) are discussed.

Постановка проблеми у загальному вигляді

Системи баз даних досягли великого успіху протягом останніх двох десятиліть. За останні роки реляційні бази даних накопичили величезні обсяги даних у різних галузях людської діяльності. Аналізувати ці дані "вручну" стало надзвичайно важко. З кожним днем все більше даних збираються та накопичуються в базах даних. Пошук корисної інформації став центром уваги багатьох підприємств [1-4]. Все більшу увагу привертає до себе Data Mining як ключовий компонент аналізу інформації. Моделі аналізу призначені для відповіді на складні запитання, які ви можете задавати постійно, при цьому відсутня необхідність побудови складних застосувань для знаходження прихованих залежностей.

Знаходження прихованих закономірностей в даних, взаємозв'язків між різними змінними в базах даних, моделювання і вивчення складних систем на основі історії їх поведінки - ось предмет і завдання Data Mining. Результати Data Mining — емпіричні моделі, класифікаційні правила, виділені кластери і т.д. — можна потім інкорпорувати в існуючі системи підтримки прийняття рішень та використовувати для прогнозу майбутніх ситуацій.

Data Mining - це процес виявлення в "сирих" даних раніше не відомих нетривіальних, практично корисних і доступних для інтерпретації знань, необхідних для прийняття рішень у різних сферах людської діяльності [2, 5, 6]. Data Mining є одним з кроків видобування знань з баз даних.

Алгоритми, які використовуються в Data Mining, вимагають великої кількості обчислень. Раніше це було стримуючим чинником широкого практичного застосування Data Mining, проте сьогоднішнє зростання продуктивності сучасних процесорів зняло гостроту цієї проблеми. Тепер за прийнятний час можна провести якісний аналіз сотень тисяч та мільйонів записів.

Ця технологія застосовується у всіх ділових секціях, зокрема банківській справі, телекомунікаціях, промисловості, маркетингу та електронній комерції.

Завдання, що вирішуються методами Data Mining:

• Класифікація - це встановлення приналежності об'єктів (спостережень, подій) до одного із заздалегідь відомих класів.

• Регресія (зокрема, завдання прогнозування) - це встановлення залежності від вхідних змінних безперервних вихідних.

• Кластеризація - це групування об'єктів (спостережень, подій) на основі даних (властивостей), що описують суть цих об'єктів. Об'єкти усередині кластера повинні бути "схожими" один на одного та відрізнятися від об'єктів, що увійшли до інших кластерів. Чим більше схожі об'єкти усередині кластера і чим більше відмінностей між кластерами, тим точніша кластеризація.

• Асоціація - це виявлення закономірностей між зв'язаними подіями. Прикладом такої закономірності є правило, яке вказує, що з події X випливає подія Y. Такі правила називаються асоціативними. Вперше це завдання було запропоноване для знаходження типових шаблонівпокупок, що здійснюються в супермаркетах, тому іноді її ще називають аналізом ринкової корзини (market basket analysis).

Послідовні шаблони - це встановлення закономірностей між зв'язаними в часі подіями, тобто виявлення залежності, що якщо відбудеться подія X, то через заданий час відбудеться подія Y.

Аналіз відхилень - це виявлення найнехарактерніших шаблонів.

Аналіз останніх досліджень і публікацій

Ситуація нагадує ринок СУБД четверть століття тому до офіційного прийняття реляційної парадигми та SQL [8-12]. Свої дослідження в цьому напрямку проводили і проводять такі гіганти ринку баз даних, як Microsoft, Oracle та IBM. Вони розробили і стандартизували свої засоби для аналізу даних. Сьогодні існує два галузевих стандарти - PMML (Predictive Model Markup Language) і CRISP-DM.

Стандарт PMML, визначений Data Mining Group (dmg.org): SAS, SPSS, IBM, Microsoft, Oracle, тощо і є XML-форматом зберігання моделі для найпоширеніших алгоритмів. PMML не є програмним інтерфейсом для Data Mining, а фокусується на описі змісту моделі: словник даних, схема отримання, трансформація полів, статистика тощо.

Стандарт CRISP-DM є результатом зусиль SPSS (тоді ISL), NCR і Daimler Chrysler, фактично, -це методологія. Він описує життєвий цикл проекту Data Mining (послідовність фаз, складові задач, вхід і вихід кожної), не вдаючись до конкретних методик видобування.

Найпоширеніші стандарти «великої трійки» виробників СУБД, а саме: Microsoft, Oracle, IBM, що є закономірним, якщо враховувати обсяги даних, інсталяції і суттєві інвестиції в Data Mining. «Стандарти» кожного відрізняються один від одного, хоча переважно обслуговують одні й ті самі потреби. ISO SQL/Multimedia (SQL MM) - потокові багатофрагментні розширення SQL на область повнотексту, геопростору, мультимедіа тощо. Секція з Data Mining введена в цей стандарт на вимогу IBM, концепція і синтаксис дуже близькі до DMX. Java Data Mining API (JSR-73) - Java-пакет, що дозволяє Java-застосуванням взаємодіяти з Data Mining-засобом. Стандарт підтримувався і лобіювався Oracle, програмна модель дуже нагадує C# і AMO. Стандарти OLE DB for Data Mining та XML/A розробляються та впроваджуються Microsoft за підтримки Hyperion, SAS, Angoss, KXEN, Megaputer.

Термін Data Mining останнім часом зустрічається часто. Це пов'язано насамперед із посиленим інтересом до цієї теми з боку підприємств малого та середнього бізнесу, а не тільки вузького кола фахівців, як це було кілька років тому.

Не вирішені раніше частини загальної проблеми. Проте в реаліях російського та українського ринку підприємство часто не має можливості придбати окреме застосування цього типу. По-перше, ціни на такі застосування «кусаються» - вони можуть доходити до декількох тисяч доларів залежно від класу застосування та його функціональних можливостей. По-друге, потрібно також витратити засоби на навчання персоналу для роботи з новим інструментом. Все це у поєднанні з природною недовірою до нових розробок відлякує потенційних клієнтів таких систем.

Зрозуміло, багато хто вважав би за краще використовувати одне застосування, яке містило б всі функції, пов'язані із зберіганням, обробкою і видобуванням даних. Таким універсальним засобом є добре знайомий більшості підприємств пакет Microsoft SQL Server.

Побудова інтелектуальної системи дає можливість виключення суб'єктивного підходу до визначення якісного складу науково-педагогічного персоналу кафедр, постійного доступу керівництва навчального закладу до інформації за кадровим складом, проведення інтелектуального аналізу кадрового складу довільної складності.

Цілі (завдання) статті

Основним завданням статті є визначення множини типів джерел даних та алгоритмів інтелектуального аналізу даних для побудови інтелектуальної складової підсистеми формування та аналізу кадрового забезпечення інформаційної системи кафедри. Метою роботи є дослідження методів та засобів побудови моделі видобування даних в SQL Server.

Основний матеріал дослідження

Ми живемо в століття загальної інформатизації. Важко переоцінити значення даних, які ми безперервно збираємо в процесі нашої діяльності, в управлінні бізнесом або виробництвом, в банківській справі, в розв' язанні наукових, інженерних і медичних завдань. Могутні комп'ютернісистеми, в яких зберігаються величезні бази даних, а також їхні керівники стали невід'ємним атрибутом життєдіяльності як великих корпорацій, так і невеликих компаній. Проте наявність даних ще не є достатньою для покращання показників роботи. Потрібно вміти трансформувати «сирі» дані в корисну для прийняття важливих бізнес-рішень інформацію. У цьому і полягає основне призначення технологій Data Mining [2, 7-9].

Microsoft SQL Server (інструментарій Analysis Services, який входить до його складу) отримав власні засоби видобування даних тільки в 2000 році, у межах корпорації Microsoft стратегії BIA, що реалізовується (Business Internet Analysis - аналітика електронної комерції) [14-16]. Мета стратегії -надання компаніям, що займаються електронною комерцією, можливості збирання й аналізу даних про поведінку клієнтів інтерактивних магазинів.

Зрозуміло, що така вузька спеціалізація обмежує функціональність та області застосування засобів SQL Server як засобів видобування даних.

У Microsoft SQL Server 2005 Data Mining як технологія бізнес-аналізу даних отримала подальший розвиток. Вона дає змогу будувати складне аналітичне рішення у вигляді моделі.

Завдання, яке було поставлене при розробленні моделей аналізу - це створити застосування, яке:

• легке у використанні;

• забезпечує повний набір функціональних можливостей;

• легко вбудовується в застосування;

• щільно інтегрується в SQL Server BI технологію;

• розширює ринок продажів для цих застосувань.

Модель - це основа видобування даних в SQL Server. По суті, модель є сукупністю метаданих, що відображають деякі правила і закономірності у початкових даних. При цьому структура моделі визначає набір ключових атрибутів аналізу, тоді як її зміст несе безпосередньо статистичну інформацію - тут простежується схожість з ідеологією звичайних таблиць. Проте варто мати на увазі, що на основі одного і того самого набору початкових даних можна побудувати декілька різних моделей. У цьому сенсі побудова правильної моделі гарантує нам отримання саме тих «прихованих» залежностей, які ми прагнемо виявити. За те, як виконуватиметься аналіз даних, відповідає алгоритм аналізу.

Всі утиліти аналізу даних, включаючи Microsoft SQL Server 2005 Analysis Services, викорис­товують безліч алгоритмів. Використання готових алгоритмів спрощує роботу із створення застосуван­ня, хоча за допомогою аналітичного сервера і мов програмування можна створити і свої власні моделі.

Процес побудови моделі реалізований в Analysis Services у вигляді майстра, що дає змогу крок за кроком задавати параметри моделі і виконувати її обробку, що, на думку розробників, спрощує проведення аналізу.

Перший крок у побудові моделі - вибір джерела даних для аналізу. Підтримуються два типи джерел даних: багатовимірні, що використовуються у межах технології OLAP, і звичайні -реляційні. Наявність першого варіанта дає набагато більшу свободу вибору для аналізу, адже далеко не кожне підприємство має власне багатовимірне сховище даних.

На відміну від традиційних реляційних СУБД, концепція OLAP не так широко відома, хоча загадковий термін «куби OLAP» чули, напевно, майже всі.

OLAP — це не окремо взятий програмний продукт, не мова програмування і навіть не конкретна технологія. Якщо намагатися охопити OLAP у всіх його проявах, то це сукупність концепцій, принципів та вимог, на яких ґрунтуються програмні продукти, що полегшують аналітикам доступ до даних.

Аналітики — це особливі споживачі корпоративної інформації. Завдання аналітика — знаходити закономірності у великих масивах даних. Аналітикові потрібно багато даних, які є вибірковими та мають характер «набір атрибутів — число». Останнє означає, що аналітик працює з таблицями.

Концепція OLAP з'явилась саме для вирішення подібних проблем. Куби OLAP є, по суті, мета-звітами. Розрізаючи мета-звіти (тобто куби) за вимірюваннями, аналітик отримує «звичайні» двомірні звіти - такі, які його цікавлять (це не обов'язково звіти у звичайному розумінні цього терміна - йдеться про структури даних з такими самими функціями). Переваги кубів очевидні -дані необхідно отримати з реляційної СУБД тільки один раз, при побудові куба. Оскількианалітики, як правило, працюють з інформацією, яка не змінюється «на льоту», сформований куб є актуальним протягом достатньо тривалого часу. Завдяки цьому не тільки виключаються перебої в роботі сервера реляційної СУБД (немає запитів з тисячами і мільйонами рядків відповідей), але й різко підвищується швидкість доступу до даних для самого аналітика. Крім того, як вже наголошувалося, продуктивність підвищується і внаслідок підрахунку проміжних сум ієрархій та інших агрегованих значень у момент побудови куба.

Робота з OLAP-системами може основуватися на двох описаних нижче схемах.

Для «легких» застосувань підійдуть OLAP-засоби, вбудовані в настільні застосування. Такі засоби, як правило, мають безліч обмежень: на кількість вимірювань, на допустимі ієрархії тощо. До подібних засобів, наприклад, належить модуль Pivot Table, що дає змогу працювати з кубами в Microsoft Excel. Pivot Table входить в Microsoft Office і донедавна був єдиним OLAP-продуктом в його складі. У цьому випадку дані видобуваються модулем-клієнтом безпосередньо з реляційної СУБД.

У «важких» випадках застосовують двоступеневу схему «клієнт-сервер». Сервер забезпечує безпосередньо видобування інформації з СУБД і решту всіх дій, необхідних для створення кубів. Спеціалізоване застосування «клієнт» призначене для зручного (а головне — ефективного) перегляду кубів і виявлення тих самих аналітичних закономірностей, з яких ми починали. Серед продуктів Microsoft серверна частина представлена Microsoft Analysis Services, які входять в MS SQL Server.

Основними складовими елементами OLAP є:

• розмірності;

• куби;

• аналітичні моделі.

Всі ці та інші компоненти пов'язуються один з одним за допомогою засобів розроблення.

Кінцевою метою використання OLAP є аналіз даних і подання результатів цього аналізу у вигляді, зручному для сприйняття й ухвалення рішень. Основна ідея OLAP полягає в побудові багатовимірних кубів, доступних для запитів користувача. Проте початкові дані для побудови OLAP-кубів зазвичай зберігаються в реляційних базах даних. Нерідко це спеціалізовані реляційні бази даних, так звані сховища даних (Data Warehouse). На відміну від так званих оперативних баз даних, з якими працюють застосування, що модифікують дані, сховища даних призначені винятково для обробки й аналізу інформації, тому проектуються вони так, щоб час виконання запитів до них був мінімальним. Зазвичай дані копіюються в сховищі з оперативних баз відповідно до певного розкладу.

Типова структура сховища даних істотно відрізняється від структури звичайної реляційної СУБД. Як правило, ця структура денормалізована (це дає змогу підвищити швидкість виконання запитів), тому може допускати надмірність даних.

Основними складовими структури сховищ даних є таблиця фактів (fact table) і таблиці вимірювань (dimension tables).

Після вибору джерела можна безпосередньо формувати структуру моделі. Для цього потрібно визначити таблицю (або вимірювання у разі багатовимірного джерела), що містить аналізовані дані, а також вибрати одне з полів таблиці (або показник багатовимірного куба), яке знаходитиметься у фокусі дослідження.

Вибір початкових даних і предмета аналізу - процес творчий, тому, якщо не вдалося отримати необхідні оцінки відразу, необхідно спробувати змінити структуру моделі, ввівши в неї додаткові атрибути. Можливо, це дасть змогу оцінити ситуацію з іншого погляду.

Наступний важливий крок - вибір алгоритму аналізу даних. Як вже зазначалось вище, Analysis Services підтримує декілька алгоритмів [7, 9, 16].

Оскільки галузі застосування і результати роботи кожного з них можуть сильно відрізнятися, є сенс зупинитися докладніше на цьому кроці.

Алгоритм Microsoft Decision Trees ґрунтується на відомому методі побудови дерев рішень. У його межах значення кожного з досліджуваних атрибутів класифікується на основі значень решти атрибутів з використанням правил вигляду «якщо — то». Результат роботи такого алгоритму — деревоподібна структура, кожен вузол якої є якимось питанням. Щоб вирішити, до якого класу віднести деякий об'єкт або ситуацію, потрібно відповісти на питання, що стоять у вузлах цього дерева, починаючи з його кореня.

Алгоритм Microsoft Decision Trees будує модель, створюючи різні зрізи даних, які називають також вузлами дерева. Він додаватиме вузли кожного разу, коли вхідний стовпець (input column), тобто стовпець, який аналізують, буде значною мірою пов'язаний із стовпцем, що передбачається (predicatable column). Спосіб поділу залежить від статистики та структури даних.

Алгоритм Microsoft Clustering. Цей алгоритм використовує інший, не менш відомий метод пошуку логічних закономірностей — метод «найближчого сусіда». У процесі роботи алгоритму початкові дані об'єднуються в групи (кластери) на основі аналогічних або схожих значень атрибутів. Отримані набори даних аналізуються, що дає змогу виявити приховані закономірності або побудувати ймовірнісний прогноз. За цим алгоритмом проводять глибший аналіз даних, ніж за деревом рішень, але і він має свої обмеження. Його переважно застосовують для наборів даних зі схожими атрибутами, значення яких належать певному інтервалу.

Цей алгоритм має принципову відмінність від Microsoft Decision Tree, яка полягає в тому, що для нього не потрібне значення, що передбачається (predicate column). Алгоритм виконує тренування моделі винятково на основі реляційних залежностей між даними, об'єднуючи їх у кластери однотипних значень. Його дію можна спрощено представити як виконання відносно множини даних реляційного оператора GROUP BY.

Алгоритм працює шляхом виявлення взаємозв'язків у даних і створення серії кластерів, що групуються по атрибутах цих взаємозв' язків. Після визначення першої групи кластерів він намагається виконати інші групування, проводячи послідовні ітерації за всіма групами, відшукуючи сукупність атрибутів, що дають кращий результат.

Microsoft Clustering пропонує два методи групування даних усередині кластера:

Expectation Maximization (EM) - пошук максимального математичного очікування;

K-Means - використання відстані між атрибутами і кластеризація за відстанню. Для використання алгоритму необхідно задати ключовий стовпець і вхідні стовпці. Алгоритм Association Rules. Алгоритм шукає у даних закономірності вигляду А і В та породжує

Страницы:
1  2 


Похожие статьи

О М Верес, В Л Мельник, Л Б Чирун - Застосування ms sql server 2005 для побудови інтелектуальної складової інформаційної системи

О М Верес, В Л Мельник, Л Б Чирун - Копцептуальна модель бази даних кадрового запезпечення кафедр університету