Баггінг з надмірним набором для прогнозних моделей рідкісних подій


13

Хтось знає, чи описано наступне і (в будь-якому випадку), чи це звучить як правдоподібний метод вивчення прогнозної моделі з дуже незбалансованою цільовою змінною?

Часто в CRM-програмах пошуку даних ми будемо шукати модель, коли позитивна подія (успіх) дуже рідкісна стосовно більшості (негативний клас). Наприклад, у мене може бути 500 000 випадків, коли лише 0,1% становлять позитивний клас інтересу (наприклад, клієнт купив). Отже, для створення прогнозної моделі одним із методів є вибірка даних, за допомогою яких ви зберігаєте всі екземпляри позитивного класу та лише вибірку екземплярів негативного класу, щоб відношення позитивного до негативного класу було ближче до 1 (можливо, 25% до 75% від позитивного до негативного). За допомогою вибірки, недооцінки, SMOTE тощо - це всі методи в літературі.

Мені цікаво поєднувати основну стратегію вибірки вище, але з мішковиною негативного класу. Щось просто так:

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

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

Я подивився на rpart і нічого не "ламається", коли в одному з зразків не є всі значення для прогноктора (не ламається при прогнозуванні випадків із тими значеннями предиктора:

library(rpart)
tree<-rpart(skips ~ PadType,data=solder[solder$PadType !='D6',], method="anova")
predict(tree,newdata=subset(solder,PadType =='D6'))

Будь-які думки?

ОНОВЛЕННЯ: Я взяв реальний набір даних про світ (маркетингові дані прямої пошти) і випадковим чином розподілив його на навчання та перевірку. Є 618 предикторів та 1 двійкова ціль (дуже рідко).

Training:
Total Cases: 167,923
Cases with Y=1: 521

Validation:
Total Cases: 141,755
Cases with Y=1: 410

Я взяв усі позитивні приклади (521) з навчального набору та випадкову вибірку негативних прикладів однакового розміру для збалансованої вибірки. Я підходять деревом rpart:

models[[length(models)+1]]<-rpart(Y~.,data=trainSample,method="class")

Я повторив цей процес 100 разів. Тоді передбачили ймовірність Y = 1 на випадки вибірки перевірки для кожної з цих 100 моделей. Я просто усереднював 100 ймовірностей для остаточної оцінки. Я децилював вірогідності на набір валідації і в кожному децилі обчислював відсоток випадків, коли Y = 1 (традиційний метод оцінки ранжирувальної здатності моделі).

Result$decile<-as.numeric(cut(Result[,"Score"],breaks=10,labels=1:10)) 

Ось виступ: введіть тут опис зображення

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

Запропонувати ефективність розпорядження, коли трапляються рідкісні події та великі n та p.

введіть тут опис зображення

Відповіді:


7

За винятком включення тих самих позитивних прикладів класу в кожну сумку, це S ^ 3Bagging, як описано в S ^ 3Bagging: Метод індукції швидкого класифікатора з підгрупуванням та перенесенням у пакет . (Я не переглянув цю статтю глибоко, просто проклав її.)

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

Це може не точно вирішити ваше запитання, але чудовим документом про різні способи поводження з незбалансованими даними є навчання з незбалансованих даних . Схоже, що навчання з урахуванням затрат може бути більш доречним у вашому випадку. Оскільки ви використовуєте рішення щодо лісів, розділ 3.2.3 Дерева рішень, що залежать від витрат, можливо, буде корисною. У ньому зазначено,

Що стосується дерев рішень, то залежність від витрат може мати три форми: по-перше, до порогу прийняття рішення можна застосувати коригування витрат; по-друге, міркування, що залежать від витрат, можуть бути задані критеріям розбиття на кожному вузлі; і, нарешті, до дерева можна застосувати чутливі до витрат схеми обрізки

Коригування вартістю коригування порогу рішення в основному означає підбір порогу прийняття рішення на основі показників кривої ROC або Precision-Recall Curve. Зокрема, ефективність КНР є надійною для незбалансованих даних.

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

У [63] було показано, що три конкретні домішкові функції, Джині, Ентропія та ДКМ, покращили нечутливість витрат порівняно з базовою лінією точності / помилок. Більше того, ці емпіричні експерименти також показали, що за допомогою функції DKM, як правило, виробляються менші дерева необрізаних рішень, які в гіршому випадку забезпечують точність, порівнянну з Джині та Ентропією. Детальна теоретична основа, що пояснює висновки цих емпіричних результатів, була пізніше встановлена ​​в [49], яка узагальнює ефекти росту дерева рішень для будь-якого вибору критеріїв коси.

Щодо обрізки,

Однак за наявності незбалансованих даних процедури обрізки, як правило, видаляють листя, що описують поняття меншості. Було показано, що хоча обрізка дерев, викликана незбалансованими даними, може погіршити продуктивність, використання необрізаних дерев у таких випадках не покращує продуктивність [23]. Як результат, було приділено увагу вдосконаленню оцінки ймовірності класу на кожному вузлі, щоб розробити більш репрезентативні структури дерев рішень, щоб обрізку можна було застосувати з позитивними ефектами. Деякі репрезентативні роботи включають метод згладжування Лапласа оцінки ймовірності та техніку обрізки Лапласа [49].

[23] Н. Япковіч та С. Стівен, “Проблема дисбалансу класів: систематичне дослідження”, Інтелектуальний аналіз даних, т. 6, ні. 5, с. 429– 449, 2002.

[49] C. Elkan, "Основи економічно чутливого навчання", Proc. Внутрішня спільна конф. Штучний інтелект, с. 973-978, 2001.

[63] К. Драммонд та Р. Холте, «Експлуатація чутливості (не) чутливості критеріїв розщеплення дерев рішень», Proc. Міжконф. Машинне навчання, с. 239-246, 2000.


0

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

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