Прогнозування як безперервних, так і категоричних особливостей


26

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

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

Для довідки, ось деякі пов'язані, не повторювані питання:


1
Чи можете ви сказати більше про те, що ви хочете зробити? Звичайно, ви можете використовувати множинні регресії з безперервними та категоричними коваріатами для побудови прогнозної моделі. Це досить елементарно. Ви хочете замість цього передбачити кілька змінних відповідей (де деякі є продовженнями, а деякі кішками, наприклад)?
gung - Відновити Моніку

@gung Як ​​ви робите множинні регресії, що стосуються категоричних коваріатів, не перетворюючи в якомусь сенсі категоричні предиктори в числа?
Майкл МакГоуан

1
Цифри нічого не означають - вони насправді не є числовими . З точки зору того, як ви використовуєте схему кодування; Кодування опорної комірки (зазвичай її називають "фіктивним кодуванням") є найпоширенішим, але існує багато схем. Це хороший ресурс для вивчення різноманітності можливих схем. Наприклад, в R, наприклад, вам фактично не потрібно цього робити, хоча якщо ви включите векторні чи символьні дані (тобто імена), вони оброблять все за вас.
gung - Відновіть Моніку

2
Боюся, я все ще не слідую за поштовхом до питання (я трохи повільний). Категоричні змінні не "перетворюються" або "перетворюються" в числові змінні; вони представлені знаком 1, але це 1 насправді не числовий. Якісні предиктори не є більш чисельними при множинній регресії, ніж вони є у деревах рішень (тобто, CART), наприклад. З теоретичної точки зору, там просто нічого; з практичної точки зору, якщо ви намагаєтеся зберегти кілька рядків коду, наприклад, програмне забезпечення (R, наприклад) часто це зробить для вас.
gung - Відновити Моніку

1
Досить справедливо, чи можете ви пояснити, що ви думаєте, що існує (з теоретичної точки зору)? Яким чином фіктивне кодування перетворює категоричну змінну в ту, яка має значеннє число ? Як це так, що те, що робить CART, дозволяє змінній зберігати свою "категоричність", але це макетне кодування не робить? Мені не вдається розібратися, які відповіді на ці запитання можуть бути з Вашого питання вище, і я не бачу Вашого попереднього допису.
gung - Відновити Моніку

Відповіді:


6

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

Зауважте, що такі алгоритми, як Random Forest і XGBoost, приймають введення змішаних функцій, але вони застосовують певну логіку для обробки під час розщеплення вузла. Переконайтеся, що ви розумієте логіку "під капотом" і що ви добре з тим, що відбувається в чорному полі.

u1u2fid(u1,u2)fi=(discategorical(u1,u2)fifiг(у1,у2)fi=гiс-нумеric(у1,у2)fififiу1у2

Деякі відомі функції дистанції для категоричних ознак:

  • Відстань Левенштьєна (або будь-яка форма "редагування відстані")

  • Найдовший загальний показник підрядності

  • Відстань на говер
  • І більше показників тут

5

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

На моїй голові єдиний програмний пакет, який, наскільки я знаю, має реалізацію GAM, - це мова R, але я впевнений, що є й інші.


SAS має процедуру під назвою Proc Gam.
Альф

1
Більшість основних статистичних пакетів (наприклад, Stata), ймовірно, можуть впроваджувати GAM. Більше того, GAM використовуватимуть фіктивні коди для представлення категоричних змінних в якості предикторів. Незрозуміло, чого хоче ОП у пошуку моделі, яка використовує категоричні прогнози як категоричні, але без їх представлення фіктивними кодами, але це, мабуть, не так.
gung - Відновіть Моніку

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

4

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

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

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


2
Ні, моя думка полягає в тому, що логістична регресія та інші не працюють "у тому сенсі, який я описую з обома типами даних. Вони вимагають, щоб ви, принаймні в якомусь сенсі, ставилися до всіх передбачувачів як до числа або жодного з них як до числа. Я знаю, наприклад, що часто можна досягти чудових результатів при логістичній регресії, кодуючи щось на кшталт "гендер", як 1 для "чоловіка" і 0 для "жінки". Однак мені цікаво, чи можна уникнути подібного процесу за допомогою будь-якої відомої парадигми моделювання.
Майкл МакГоуан

1

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

У книзі - Прикладна лінійна регресія (Кутнер та ін.) Згадується про логіку введення змінних індикаторів у модель у перших кількох главах. Може бути і інший подібний текст.

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

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

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