Чи важливий дослідницький аналіз даних при чисто передбачуваному моделюванні?


23

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


6
Ви запитуєте про "дослідницький аналіз даних", але ви також включаєте [descriptive-statistics]тег і остаточне запитання - чи важлива описова статистика. У цьому контексті ви маєте на увазі обчислення різної описової статистики лише тоді, коли згадуєте EDA, або запитуєте про описову статистику та EDA? Я запитую, тому що багато людей (включаючи мене) вважають, що EDA є більш ніж просто описовою статистикою.
gung - Відновіть Моніку

Що саме таке "покоління функцій"? Це не дослідницький процес?
ейнар

5
Останнім часом мені дали 224 спостереження 37 осіб. Я планував, серед інших, дослідити вплив статі / статі, коли мені розповів описовий аналіз, було 36 жінок та 1 чоловік. Через цю описову статистику я пропустив усі аналізи, що стосуються статі / статі. Для мене це було важливо, тому що описи впливали на мій процес побудови моделі. Детальніше про ці дані тут stats.stackexchange.com/questions/352015/…
Бернхард

Відповіді:


47

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

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

Серед речей, які я знайшов:

  • Одна категорична змінна майже ідеально відповідала цілі.
  • У двох-трьох змінних бракувало більше половини своїх значень.
  • Кілька змінних мали крайні пережитки.
  • Дві числові змінні були ідеально співвіднесені.
  • тощо.

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

Так що так, EDA важливо при машинному навчанні!


8
Коли я даю студентам завдання, я теж часто це роблю ;-).
gung - Відновіть Моніку

14

Очевидно, що так.

Аналіз даних може призвести до багатьох моментів, які зашкодять вашій прогнозній моделі:

Неповні дані

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

Ненормальні дані

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

Видаліть стовпці із занадто великою кореляцією

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

Я візьму тупий приклад, скажу, що ви аналізуєте набір даних про стадіон футболу і у вас є Width, Length, Areaпараметри. Що ж, ми можемо легко уявити, що ці три параметри будуть сильно співвіднесені. Занадто велика кореляція між вашим стовпцем призводить модель прогнозування в неправильному напрямку. Ви можете вирішити очистити один або кілька параметрів.

Знайдіть нові функції

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

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

Знайдіть, який алгоритм використовувати

Я не можу малювати сюжети зараз, але давайте зробимо це простим прикладом.

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

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

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


8

Важливою справою EDA є пошук помилок введення даних та інших аномальних моментів.

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


8

У нас раніше була фраза з хімії:

" Два тижні, проведені в лабораторії, можуть заощадити дві години на Scifinder ".

Я впевнений, що те саме стосується і машинного навчання:

" Два тижні, проведені на навчанні нейронної мережі, можуть заощадити 2 години на перегляді вхідних даних ".

Це те, що я повинен пройти, перш ніж розпочати будь-який процес ML.

  • Накресліть щільність кожної (безперервної) змінної. Як перекошуються цифри? Чи потрібно мені перетворення журналу, щоб дані мали сенс? Наскільки далеко виходять люди? Чи є значення, які не мають фізичного чи логічного сенсу?
  • Слідкуйте за НС. Зазвичай їх можна просто відкинути, але якщо їх багато або якщо вони є вирішальним аспектом поведінки системи, можливо, доведеться знайти спосіб відтворення даних. Це може бути сам по собі проект.
  • Накресліть кожну змінну проти змінної відповіді. Скільки сенсу ви можете зробити з цього просто оком? Чи існують очевидні криві, які можна оснастити функціями?
  • Оцініть, чи потрібна вам в першу чергу складна модель ML. Іноді лінійна регресія - це все, що вам справді потрібно. Навіть якщо це не так, це забезпечує хороший базовий рівень для вашої моделі ML для покращення.

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


6

Статистична перспектива:

Залишаючи осторонь помилки на етапі моделювання, є три ймовірні результати від спроб прогнозування, не попередньо роблячи EDA:

  1. Прогнозування дає очевидні дурницькі результати, оскільки ваші вхідні дані порушили припущення вашого методу прогнозування. Тепер вам доведеться повернутися назад і перевірити свої дані, щоб з’ясувати, в чому проблема, а потім виправити проблему і повторити аналіз. Залежно від характеру питання, вам може знадобитися навіть змінити свої методи прогнозування. (Що ви маєте на увазі, це категорична змінна?)
  2. Прогнозування дає результати погані, але не очевидно погані, оскільки ваші дані порушили припущення дещо менш очевидним чином. Або ви повернетесь і все-таки перевірите ці припущення (у цьому випадку див. №1 вище), або ви приймаєте погані результати.
  3. На щастя, ваші вхідні дані - це саме те, що ви очікували, що це буде (я розумію, що це трапляється іноді), і прогноз дає хороші результати ... що було б чудово, за винятком того, що ви не можете сказати різницю між цим та # 2 вище.

Перспектива управління проектами:

Вирішення проблем з інформацією може зайняти значну кількість часу та зусиль. Наприклад:

  • Дані брудні, і вам потрібно витратити час на розробку процесів, щоб їх очистити. (Наприклад: час, коли мені довелося кодувати автокорекцію для всіх людей, які продовжують писати неправильний рік у січні, та людей, які вводять дату в полі року , та системи, яка розбирала дати як MM / DD / YYYY замість DD / MM / РРРР.)
  • Вам потрібно задати питання про те, що означають дані, і відповісти на них може лише Джоан. Джоан збирається на півроку, починаючи через два тижні після початку вашого проекту.
  • Обмеження даних не дозволяють вам доставити все, що ви мали намір надати (див. Приклад Бернарда, що не можете зробити аналіз за статтю та статтю, оскільки в наборі даних була лише одна жінка), і вам / вашим клієнтам потрібно розібратися, що з цим робити. .

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.