PolyAnalyst

Компанія «Мегап'ютер» виробляє і пропонує на ринку сімейство продуктів для дейтамайнінгу — PolyAnalyst. Система PolyAnalyst призначена для автоматичного і напівавтоматичного аналізу числових баз даних і витягання з сирих даних практично корисних знань. PolyAnalyst знаходить багатофакторні залежності між змінними в базі даних, автоматично будує і тестує багатовимірні нелінійні моделі, що виражають знайдені залежності, виводить класифікаційні правила по повчальних прикладах, знаходить в даних багатовимірні кластери, будує алгоритми рішень.PolyAnalyst використовується в більш ніж 20 країнах світу для вирішення завдань з різних областей людської діяльності: бізнесу, фінансів, науки, медицини. В даний час - це одна з наймогутніших і в той же час доступних в ціновому відношенні комерційних систем для Data mining в світі. Основу PolyAnalyst складають так звані Exploration engines або Машини досліджень - математичні модулі, засновані на різних DM алгоритмах, і призначені для автоматичного аналізу даних. Компанія Megaputer Intelligence веде інтенсивні дослідження, направлені на розширення аналітичних функцій системи PolyAnalyst, розробку нових DM алгоритмів і нових математичних модулів системи.

В даний час PolyAnalyst є однією з наймогутніших систем Data Mining в світі, реалізованих для Intel платформ і операційних систем Microsoft Windows. Аналогічні системи Data Mining таких провідних виробників, як IBM (Intelligent Miner, Data Miner), Silicon Graphics (SGI Miner), Integral Solutions (Clementine), SAS Institute (SAS) працюють на середніх і великих машинах і коштують десятки і навіть сотні тисяч доларів. Завдяки унікальній технології "Еволюційного програмування", і іншим інноваційним математичним алгоритмам, PolyAnalyst поєднує в собі високу продуктивність "великих систем" з низькою вартістю, властивою програмам для Windows. PolyAnalyst - один з небагатьох комерційних продуктів, в якому реалізовані не тільки методи аналізу числових даних, але і алгоритми Text Mining, - аналізу текстової інформації. Протягом своєї більш, ніж 10-річній історії, пакет безперервно розвивається, компанія-виробник додає нову функціональність, нові математичні модулі, планується портация системи на Unix платформи. PolyAnalyst набув широкого поширення в світі. Більше 500 інсталяцій в 20 країнах світу, серед користувачів системи значний список складають найбільші світові корпорації: Boeing, 3M, Chase Manhattan Bank, Dupont, Siemens та інші. PolyAnalyst - універсальна система Data Mining, вона з успіхом застосовується в різних областях: у рішенні бізнес-задач (direct marketing, cross-selling, customer retention), в соціологічних дослідженнях, в прикладних наукових і інженерних завданнях, в банківській справі, в страхуванні і медицині.

Архітектура системи

За своєю природою, PolyAnalyst є клієнт/серверним додатком. Користувач працює з клієнтською програмою PolyAnalyst Workplace. Математичні модулі виділені в серверну частину - PolyAnalyst Knowledge Server. Така архітектура надає природну можливість для масштабування системи: від однокористувацького варіанту до корпоративного рішення з декількома серверами. PolyAnalyst написаний на мові С++ з використанням специфікації Microsoft's COM (ACTIVEX). Ця специфікація встановлює стандарт комунікації між програмними компонентами. Математичні модулі (Exploration Engines) і багато інших компонентів PolyAnalyst виділені в окремі динамічні бібліотеки і доступні з інших додатків. Це дає можливість інтегрувати математику PolyAnalyst в ті, що існують ІС, наприклад, в CRM або ERP системи.

PolyAnalyst Workplace - лабораторія аналітика

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

Одиницею Data Mining дослідження в PolyAnalyst є "проект". Проект об'єднує в собі всі об'єкти дослідження, дерево проекту, графіки, правила, звіти і тд. Проект зберігається у файлі внутрішнього формату системи. Звіти досліджень представляються у форматі HTML і доступні через інтернет.

Аналітичний інструментарій PolyAnalyst

Версія PolyAnalyst 4.6 включає 18 математичних модулів, заснованих на різних алгоритмах Data і Text Mining. Більшість з цих алгоритмів є Know-How компанії Мегапьютер і не мають аналогів в інших системах. Алгоритми аналізу даних можна об'єднати в групи по їх функціональному призначенню: моделювання, прогнозування, кластеризація, класифікація, текстовий аналіз. Нижче наводиться коротка характеристика математичних алгоритмів PolyAnalyst.

Модулі для побудови числових моделей і прогнозу числових змінних

Модуль Find Laws (FL) - будівник моделей

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

PolyNet Predictor (PN) - поліноміальна нейронна мережа

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

Stepwise Linear Regression (LR) - покрокова багатопараметрична лінійна регресія

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

Memory based reasoning (MR) - метод "найближчих сусідів"

У системі PolyAnalyst використовується модифікація відомого алгоритму "метод найближчих сусідів". Ідея методу дуже проста - для прогнозу значення цільової змінної для даного запису, в повчальній таблиці з історичними даними, знаходяться "схожі" записи, для яких відомі значення цільової змінної, і обчислюється середнє з цих значень, яке і вважається прогнозом. На практиці реалізація цієї ідеї зустрічається з трьома основними труднощами: 1. що вважати мірою близькості записів?, 2. скільки записів брати для усереднювання?, 3. який метод усереднювання використовувати ( звичайне або зважене усереднювання?). У системі PolyAnalyst оптимізація цих параметрів проводиться на основі генетичних алгоритмів. У цьому і полягає відмінність даної реалізації алгоритму "найближчих сусідів" від відомих аналогів. Алгоритм MR використовується для прогнозу значень числових змінних і категоріальних змінних, включаючи текстові (string data type), а також для класифікації на два або декілька класів.

Алгоритми кластеризації

Find Dependecies (FD) - N-мірний аналіз розподілів

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

Алгоритм працює дуже швидко і здатний обробляти великі об'єми даних. Його можна використовувати як препроцесор для алгоритмів FL, PN, LR, оскільки він зменшує простір пошуку, а також як фільтр крапок, що відскочили, або в зворотній постановці, як детектор виключень. FD створює правило табличного вигляду, проте як і всі правила PolyAnalyst воно може бути обчислене для будь-якого запису таблиці.

Find Clusters (FC) - N-мірний кластерізатор

Цей метод застосовується тоді, коли треба виділити в деякій безлічі даних компактні типові підгрупи (кластери), що складаються з близьких по своїх характеристиках записів. Причому наперед може бути невідомо які змінні потрібно використовувати для такого розбиття. Алгоритм FC сам визначає набір змінних, для яких розбиття найбільш значуще. Результатом роботи алгоритму є опис областей (діапазонів значень змінних), що характеризують кожен виявлений кластер і розбиття досліджуваної таблиці на підмножини, відповідні кластерам. Якщо дані є достатньо однорідними по всіх своїх змінних і не містять "згущувань" крапок в якихось областях, цей метод не дасть результатів. Треба відзначити, що мінімальне число кластерів, що виявляються, рівне двом - згущування крапок тільки в одному місці в даному алгоритмі не розглядається як кластер. Крім того, цей метод більшою мірою, чим інші пред'являє вимоги до наявності достатньої кількості записів в досліджуваній таблиці, а саме, мінімальна кількість записів в таблиці, в якій може бути виявлено N кластерів, рівне (2N-1) 4.

Алгоритми класифікації

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

Classify (CL) - класифікатор на основі нечіткої логіки

Алгоритм CL призначений для класифікації записів на два класи. У основі його роботи лежить побудова так званої функції належності і знаходження порогу розділення на класи. Функція належності приймає значення від 0 до 1. Якщо повернене значення функції для даного запису більше порогу, то цей запис належить до класу "1", якщо менше, то класу "0" відповідно. Цільова змінна для цього модуля повинна бути логічного типу.

Discriminate (DS) - Дискрімінація

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

Decision Tree (DT) - дерево рішень

Алгоритми "дерева рішень" широко поширені і реалізовані в багато Data Mining пакетах. Ці алгоритми використовуються в завданнях класифікації на два і більша кількість класів. Результатом їх роботи є ієрархічна деревоподібна структура, що складається з гілок, вузлів і листя. Для кожного вузла обчислюється критерій розщеплювання. Якщо дерево не дуже „розлоге”, то таке уявлення є достатньо наочним. У системі PolyAnalyst, реалізований алгоритм, заснований на критерії максимізації взаємної інформації (information gain). Тобто для розщеплювання вибирається незалежна змінна, що несе максимальну (у сенсі Шеннона) інформацію про залежну змінну. Цей критерій на відміну від багатьох критеріїв, вживаних в інших системах Data Mining, має ясну інтерпретацію і дає розумні результати при найрізноманітніших статистичних параметрах даних, що вивчаються. Алгоритм DT є одним з найшвидших в PolyAnalyst.

Decision Forest (DF) - ліси рішень

У разі, коли залежна змінна може приймати велику кількість різних значень, застосування методу дерев рішень стає неефективним. У такій ситуації в системі PolyAnalyst застосовується метод, названий лісом рішень (decision forest). При цьому будується сукупність дерев рішень - поодинці для кожного різного значення залежної змінної. Результатом прогнозу, заснованому на лісі рішень, є те значення залежної змінної, для якої відповідне дерево дає найбільш вірогідну оцінку.

Алгоритми асоціації

Market Basket Analysis (BA) - метод аналізу "корзини покупця"

Назва цього методу походить від завдання визначення які товари ймовірно купуються спільно. Проте реальна область його застосування значно ширша. Наприклад, продуктами можна вважати сторінки в Інтернеті, або ті або інші характеристики клієнта або відповіді респондентів в соціологічних і маркетингових дослідженнях і тд. Алгоритм BA отримує на вхід бінарну матрицю, в якій рядок - це одна корзина (касовий чек, наприклад), а стовпці заповнені логічними 0 і 1, такими, що позначають наявність або відсутність даної ознаки (товару). На виході формуються кластери ознак, що спільно зустрічаються, з оцінкою їх вірогідності і достовірності. Окрім цього формуються асоціативні направлені правила типу: якщо ознака "А", то з такою - то вірогідністю ще і ознака "В" ,і ще ознака "С". Алгоритм ВА в PolyAnalyst працює виключно швидко і здатний обробляти величезні масиви даних.

Transactional Basket Analysis (ТБ) - транзакційний аналіз "корзини"

Transactional Basket Analysis - це модифікація алгоритму BA, вживаний для аналізу дуже великих даних, що не рідкість для цього типу завдань. Він припускає, що кожен запис в базі даних відповідає одній транзакції, а не одній корзині (набору куплених за одну операцію товарів). На основі цього алгоритму компанія "Мегапьютер" розробила окремий продукт - X-SellAnalyst, призначений для on-line рекомендації продуктів в Інтернет магазинах.

Модулі текстового аналізу

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

Text Analysis (ТА) - текстовий аналіз

Text Analysis є засобом формалізації неструктурованих текстових полів в базах даних. При цьому текстове поле представляється як набір булевих ознак, заснованих на наявності і/або частоті даного слова, стійкого словосполучення або поняття (з урахуванням відносин синонімії) в даному тексті. При цьому з'являється можливість розповсюдити на текстові поля всю потужність алгоритмів Data Mining, реалізованих в системі PolyAnalyst. Крім того, цей метод може бути використаний для кращого розуміння текстовою компоненти даних за рахунок автоматичного виділення найбільш ключових понять.

Text Categorizer (TC) - каталогізатор текстів

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

Link Terms (LT) - зв'язок понять

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

Візуалізація

У PolyAnalyst є багатий набір інструментів для графічного уявлення і аналізу даних і результатів досліджень. Дані можуть представлятися в різних зорових форматах: гістограмах, двовимірних, псевдо- і реальних трьохвимірних графіках.

Знайдені в процесі Data Mining залежності можуть бути представлені як інтерактивні графіки із слайдерами для зміни значень представлених на них змінних. Ця особливість дозволяє користувачеві графічно моделювати результати. Є набір спеціальних графіків, широко вживаних в бізнесі, це так звані Lift, Gain charts, які використовуються для графічної оцінки якості класифікаційних моделей і вибору оптимального числа контактів (prospects). Окрім цього в останню версію програми включений новий візуальний метод Data Mining - аналіз зв'язків.

Link Analysis (LA) - аналіз зв'язків

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