Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsiyi_IAD.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

2.3. Очищення даних

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

  • рівень елементу таблиці;

  • рівень запису;

  • рівень таблиці БД;

  • рівень одиночної БД;

  • рівень множини БД.

Розглянемо перераховані рівні і відповідні до них проблеми детальніше.

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

1. Орфографічні помилки (друкарські помилки) — виникають при введенні інформації. Вони можуть призвести до неправильного розуміння, а також до спотворення реальних даних. Наприклад, при продажі товару замість кількості 1000 було введено 10 ТОВ або замість назви товару "Горілка" було введено назву "Вода".

2. Відсутність даних — такі помилки відбуваються через відсутність в оператора відповідних даних при введенні інформації. Головним завданням oltp-систем є забезпечення щоденних операцій з даними, тому оператор може пропустити введення невідомих йому даних, а не витрачати час на їх з'ясування. Як наслідок, в БД можуть залишатися незаповнені вічка (що містять значення NULL).

3. Фіктивні значення — це значення, введені оператором, але що не мають сенсу. Найчастіше така проблема зустрічається в полях, обов'язкових для заповнення, але за відсутності в оператора реальних даних він вимушений вводити безглузді дані, наприклад: номер соціального страхування 999-99-9999, або вік клієнта 999, або поштовий індекс 99999. Проблема посилюється, якщо існує вірогідність появи реальних даних, які можуть бути прийняті за фіктивні, наприклад, номер соціального страхування 888-88-8888 для вказівки на статус клієнта-іноземця "нерезидент" або місячний дохід у розмірі $99 999,99 для вказівки на те, що клієнт має роботу.

4. Логічно невірні значення — значення, не відповідні логічному сенсу, що вкладається в дане поле таблиці. Наприклад, в полі "Місто" знаходиться значення "Росія", або в полі "температура хворого" значення 10.

5. Закодовані значення — скорочений запис або кодування реальних даних, використовуване для зменшення займаного місця.

6. Складені значення — значення, що містять декілька логічних даних в одному елементі таблиці. Така ситуація можлива в полях довільного формату (наприклад, рядкових або текстових). Проблема посилюється, якщо відсутній строгий формат запису інформації в такі поля. Рівень запису. На даному рівні виникає проблема суперечності значень в різних полях запису, що описує один і той же об'єкт наочної області наприклад, коли вік людини не відповідає його року народження: age = 22, bdate = 12.02.50. Рівень таблиці БД. На даному рівні виникають проблеми, пов'язані з невідповідністю інформації, що зберігається в таблиці і відноситься до різних об'єктів. На цьому рівні найчастіше зустрічаються наступні проблеми.

  • Порушення унікальності. Значення, відповідні унікальним атрибутам різних об'єктів предметної області, є однаковими.

  • Відсутність стандартів. Через відсутність стандартів на формат запису значень можуть виникати проблеми, пов'язані з дублюванням даних або з їх протиріччям:

  • записи, що дублюються (одна і та ж людина записана в таблицю двічі, хоча значення полів унікальні):

empl=(name="john Smith" ...);

emp2=(name="j.Smith", ...);

• суперечливі записи (про одну людину в різних випадках введена різна інформація про дату народження, хоча значення полів унікальні):

empl=(name="John Smith", bdate=12.02.70);

emp2=(name="J.Smith", bdate=12.12.70);

Рівень одиночної БД. На даному рівні, як правило, виникають проблеми, пов'язані з порушенням цілісності даних.

Рівень множини БД. На цьому рівні виникають проблеми, пов'язані з неоднорідністю як структур БД, так і інформації, що зберігається в них. Можна виділити наступні основні проблеми цього рівня:

  • відмінність структур БД (відмінність найменувань полів, типів, розмірів і ін.);

  • в різних БД існують однакові найменування різних атрибутів;

  • в різних БД однакові дані представлені по-різному;

  • в різних БД класифікація елементів різна;

  • в різних БД тимчасова градація різна;

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

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

  • виявлення проблем в даних;

  • визначення правил очищення даних;

  • тестування правил очищення даних;

  • безпосереднє очищення даних.

Виявлення проблем в даних. Для виявлення тих, що підлягають видаленню видів помилок і невідповідностей необхідний детальний аналіз даних. Поряд з ручною перевіркою слід використовувати аналітичні програми. Існує два взаємозв'язані методи аналізу: профайлінг даних і Data Mining.

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

Data Mining допомагає знайти специфічні моделі у великих наборах даних, наприклад стосунки між декількома атрибутами. Саме на це направлені так звані описові моделі Data Mining, включаючи угрупування, узагальнення, пошук асоціацій і послідовностей. При цьому можуть бути отримані обмеження цілісності в атрибутах, наприклад, функціональні залежності або характерні для конкретних застосувань бізнес-правила, які можна використовувати для заповнення втрачених і виправлення недопустимих значень, а також для виявлення дублікатів записів в джерелах даних. Наприклад, правило об'єднання з високою вірогідністю може передбачити проблеми з якістю даних в елементах даних, що порушують це правило. Таким чином, 99% а вірогідність правила "разом = кількість х одиницю" демонструє невідповідність і потреба в детальнішому дослідженні для того, що залишився 1 % записів.

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

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

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

Етапи визначення правил і їх тестування можуть виконуватися ітераційно кілька разів, наприклад, через те, що деякі помилки стають помітні лише після певних перетворень. Безпосереднє очищення даних. На цьому етапі виконуються перетворення відповідно до визначених раніше правил. Очищення виконується в два прийоми. Спочатку усуваються проблеми, пов'язані з окремими джерелами даних, а потім — проблеми безлічі БД.

Над окремими ОДД виконуються наступні процедури.

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

  • Перевірка допустимості і виправлення. Ця процедура досліджує кожен елемент даних джерела на наявність помилок. Виявлені помилки автоматично виправляються (якщо це можливо). Перевірка на наявність орфографічних помилок виконується на основі перегляду словника. Словники географічних найменувань і поштових індексів допомагають коректувати адресні дані. Атрибутивні залежності (дата народження — вік, загальна вартість — ціна за шт., місто — регіональний телефонний код і т. д.) можуть використовуватися для виявлення проблем і заміни втрачених або виправлення невірних значень.

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

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

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

  • Злиття записів. Дана процедура об'єднує інтегровані записи, що відносяться до одного об'єкту. Об'єднання виконується, якщо інформація з різних записів доповнює або коректує одна іншу.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]