в її економіці можуть сильно знизити доходи нафтовидобувних компаній.
Однак для виконання аналізу, що дозволить знайти пояснення події зміни в динаміці ціни цінного паперу потрібні великі знання в предметній області, добре розбиратися в характеристиках компаній, а також бути в змозі вивчити колосальні обсяги даних - бо в той же день, 6.1.2008, у світі відбулися мільйони подій, кожна з яких могло вплинути на динаміку ціни.
Очевидно, одним із способів допомогти експерту у визначенні причин зміни динаміки системи буде рішення задачі по скороченню списку подій, пов'язаних з системою, які експерту потрібно розглянути. Замість десятків тисяч подій експерт зможе зосередитися на розгляді лише їх невеликого підмножини і застосувавши свою компетенцію в предметної області зможе відповісти на питання, що ж викликало зміну в динаміці системи. Саме дана задача виділення найбільш ймовірних пояснень причин якогось зміни і буде вирішена в даній роботі.
У першій главі виробляється постановка задачі, її більш докладний опис, а також опис вихідних даних.
У другому розділі наводиться опис алгоритмів і методів, застосованих при розробці даної системи.
У третьому розділі описується реалізація системи за допомогою мов програмування T-SQL, C # і Python, а також бібліотеки scikit-learn.
У четвертому розділі наводиться опис методів оцінки якості роботи отриманої системи, і робляться висновки про якість роботи системи на тестових даних.
Постановка завдання
Вирішити завдання з ідентифікації найцікавіших для розгляду подій може допомогти інтелектуального аналізу даних.
Інтелектуальний аналіз даних (також відомий як Data Mining) - збірна назва, що використовується для позначення сукупності методів виявлення в даних раніше невідомих, нетривіальних, практично корисних і доступних інтерпретації знань, необхідних для прийняття рішень у різних сферах людської діяльності. Даний термін був введений в ужиток Григорієм Пятецкий-Шапіро в 1989 році.
Основу методів Data Mining складають всілякі методи класифікації, моделювання і прогнозування, засновані на застосуванні дерев рішень, штучних нейронних мереж, генетичних алгоритмів, еволюційного програмування, асоціативної пам'яті, нечіткої логіки. До методів Data Mining нерідко відносять статистичні методи (дескриптивний аналіз, кореляційний і регресійний аналіз, факторний аналіз, дисперсійний аналіз, компонентний аналіз, дискримінантний аналіз, аналіз часових рядів, аналіз виживаності, аналіз зв'язків). Такі методи, однак, припускають деякі апріорні уявлення про аналізованих даних, що дещо розходиться з цілями Data Mining (виявлення раніше невідомих нетривіальних і практично корисних знань). Одними з найважливіших інструментів, що дозволяють вирішувати завдання Data Mining є методи машинного навчання.
Машинне навчання або Machine Learning - обширний підрозділ штучного інтелекту, що вивчає методи побудови моделей, здатних навчатися, і алгоритмів для їх побудови і навчання. Розрізняють два типи навчання. Навчання по прецедентах, або індуктивне навчання, засноване на виявленні закономірностей в емпіричних даних. Дедуктивное навчання передбачає формалізацію знань експертів і їх перенесення в комп'ютер у вигляді бази знань. Дедуктивное навчання прийнято відносити до області експертних систем, тому терміни машинне навчання та навчання по прецедентах можна вважати синонімами.
Машинне навчання знаходиться на стику математичної статистики, методів оптимізації та дискретної математики, але має також і власну специфіку, пов'язану з проблемами обчислювальної ефективності та перенавчання. Багато методів індуктивного навчання розроблялися як альтернатива класичним статистичним підходам.
Завдання машинного навчання можна описати таким чином. Є безліч об'єктів (ситуацій) і безліч можливих відповідей (відгуків, реакцій). Існує деяка залежність між відповідями і об'єктами, але вона невідома. Відома лише кінцева сукупність прецедентів - пар «об'єкт, відповідь», звана навчальною вибіркою. На основі цих даних потрібно відновити залежність, тобто побудувати алгоритм, здатний для будь-якого об'єкта видати досить точну відповідь. Для вимірювання точності відповідей певним чином вводиться функціонал якості.
Дана постановка є узагальненням класичних задач апроксимації функцій. У класичних задачах апроксимації об'єктами є дійсні числа або вектори. У реальних прикладних задачах вхідні дані про об'єкти можуть бути неповними, неточними, нечисловими, різнорідними. Ці особливості призводять до великої різноманітності методів машинного навчання. Розділ машинного навчання, з одного боку, утворився в результаті под...