Логістична регресія: максимізація справжніх позитивних результатів - помилкових позитивних результатів


9

У мене є логістична регресійна модель (підходить через glmnet в R з регулюванням пружної сітки), і я хотів би максимально розрізнити між справжніми позитивними та помилковими позитивами. Для цього було придумано наступну процедуру:

  1. Підходить стандартна модель логістичної регресії
  2. Використовуючи поріг прогнозування як 0,5, визначте всі позитивні прогнози
  3. Призначте вагу 1 для позитивно прогнозованих спостережень, 0 - для всіх інших
  4. Підходить зважена логістична модель регресії

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

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

Я погоджуюсь, що граничне значення 0,5 є абсолютно довільним, і коли я оптимізував модель з кроку 1 на порозі прогнозування, який дає найбільшу різницю між істинними / хибними позитивами, виявляється ближче до 0,4. Я думаю, це пов’язано з перекошеним характером моїх даних - співвідношення між негативом та позитивом становить приблизно 1: 3.

Зараз я виконую такі кроки:

  1. Розділити дані між навчанням / тестом
  2. Підійміть модель на тренуванні, зробіть прогнози в тестовому наборі та обчисліть різницю між істинними / хибними позитивами
  3. Встановіть модель повністю, зробіть прогнози в тестовому наборі та обчисліть різницю між істинними / хибними позитивами

Різниця між істинними / хибними позитивами менша на кроці №3, ніж на кроці №2, незважаючи на те, що навчальний набір є підмножиною повного набору. Оскільки мені байдуже, чи є в моделі №3 більше справжніх негативів та менш помилкових негативів, чи можна щось зробити, не змінюючи функцію ймовірності?


Перш ніж запитати, які були б вади при такому підході, можливо, ви повинні написати, чому саме такий підхід повинен працювати, на вашу думку. Чому ви вважаєте, що кроки 2-4 покращують результат?
user31264

Також я маю рацію, що наприкінці ви скидаєте модель з кроку 1 і використовуєте лише модель із кроку 4?
user31264

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

2
Зараз у мене немає джерела про це ... але чи знаєте ви, що ви можете оптимізувати логістичну регресійну модель, щоб максимально збільшити область під кривою (Операційна характеристика приймача) (або AUC)? Не потрібно винаходити колесо.
AdamO

2
Я не дуже розумію тут, чому ви нічого не включили у свою модель передбачуваної майбутньої ціни, а також не включили величину прибутку / збитку в оптимізацію. Безумовно, рішення "купити", що призводить до 99% втрат, набагато гірше, ніж рішення "купити", що призводить до втрати 1%, хоча обидва є помилковими.
ймовірністьлогічний

Відповіді:


24

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

По-перше, якесь позначення. Залежною змінною буде :Yi

Yi={1Купівля i було вигідно0Купівля i було невигідно

Незалежні змінні (речі, які ви намагаєтеся передбачити, чи варто купувати), будуть (вектором). Параметр, який ви намагаєтеся оцінити, буде (вектор). Ви передбачите покупку, коли . Для спостереження , ви прогнозуєте купувати, коли або коли функція індикатора .ХiβХiβ>0iХiβ>01Хiβ>0=1

Справжній позитив трапляється при спостереженні коли і і . Помилковий позитив на спостереження буває, коли і . Ви хочете знайти який максимізує справжні позитиви мінус хибні додатні, або: iYi=11Хiβ>0=1iYi=01Хiβ>0=1β

махβi=1NYi1Хiβ>0-i=1N(1-Yi)1Хiβ>0

Це не особливо знайома об’єктивна функція для оцінки дискретної моделі відповідей, але покладіть на мене, поки я роблю трохи алгебри щодо цільової функції:

i=1NYi1Хiβ>0-i=1N(1-Yi)1Хiβ>0=i=1NYi1Хiβ>0-i=1N1Хiβ>0+i=1NYi1Хiβ>0=i=1NYi1Хiβ>0-i=1N1Хiβ>0+i=1NYi1Хiβ>0+i=1N1-i=1N1+i=1NYi-i=1NYi=i=1NYi1Хiβ>0+i=1N(1-Yi)(1-1Хiβ>0)-i=1N1+i=1NYi

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

махβi=1NYi1Хiβ>0+i=1N(1-Yi)(1-1Хiβ>0)

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

Це досить хороший спосіб оцінити (бінарну) модель дискретного відгуку. Оцінювач послідовний, наприклад. (Манскі, 1985, Дж. Економетрики) Однак у цього оцінника є деякі диваки. По-перше, він не є унікальним у невеликих зразках. Після того як ви знайдете одну яка вирішує максимізацію, то будь-яка інша яка робить такі самі передбачення у вашому наборі даних, вирішить максимізацію --- так, нескінченно багато з близькою до тієї, яку ви знайшли. Крім того, оцінювач не є асимптотично нормальним, і він сходить повільніше, ніж типові оцінки максимальної ймовірності - кубічний корінь замість кореняβββNNконвергенція. (Кім і Поллард, 1990, Енн Стат) Нарешті, ви не можете використовувати завантажувальний інструмент, щоб робити висновки по ньому. (Abrevaya & Huang, 2005, Econometrica) Існує декілька робіт, що використовують цей оцінювач, хоча --- є цікавий прогноз результатів на баскетбольному турнірі NCAA від Caudill, Міжнародний журнал прогнозування, квітень 2003, ст. 19, вип. 2, стор 313-17.

Оцінювачем, який долає більшість цих проблем, є згладжений максимальний бал Горовіца (Горовіц, 1992, Економетрика та Горовиць, 2002, Дж. Економетрики). Це дає кореневий послідовний, асимптотично нормальний унікальний оцінювач, який піддається завантажувальній програмі. Горовіц наводить приклад коду для реалізації свого оцінювача на своїй веб-сторінці.N


Дякую, що включили алгебру, щоб зрівняти мою функцію витрат з оцінкою максимальної оцінки. Якщо задана функція індикатора для , чи означає це, що я завжди класифікую як позитивну, а як негативну? Крім того, чи розраховується p (вихід моделі) за допомогою логістичної функції з входом ? Поточний підхід, який я використовую, - це вартість витрат AUC, а потім оптимізація на порозі прогнозування, щоб знайти значення з найбільшою різницею між справжніми позитивними та хибними позитивами. Я розумію, що у вашій відповіді явно знаходить максимальну різницюβТх>0p>0,5p<=0,5βТх
tmakino

(продовження), визначивши її у функції витрат (та встановивши поріг прогнозування на рівні 0,5), пропустивши таким чином проміжний крок, який я зробив. Однак AUC вже існує в регресійному пакеті, який я використовую (glmnet), поки максимальний показник оцінки не має. Чи вважаєте ви мій підхід розумним з огляду на мою мету?
tmakino

1
На жаль, я не дуже знайомий з методом AUC, тому не можу сказати, наскільки це доречно. У оцінці максимальної оцінки насправді не існує , оскільки ви не передбачаєте логістичну модель. Ви просто вирішили передбачити 1, коли а потім знайти найкращу . pХiβ>0β
Білл

15

У цьому підході є кілька речей, серед яких:

  • Шукаю обрізання для постійної ймовірності
  • Використовуючи довільне відсічення 0,5
  • Якщо припустити, що вартість "помилкового позитиву" та "помилкового негативного" однакова для всіх суб'єктів
  • Використання ваг, які не є дробовими
  • Використання ваг, які оцінюються
  • Переважна максимальна оцінка ймовірності
  • Не використовуючи оптимальну теорію рішень Байєса, яка диктує, що оптимальні рішення базуються на повній інформації (а не на тому, чи щось перевершує щось інше), а також на корисності / втратах / витратах

1
Дякую, чи є спосіб досягти цього, дотримуючись логістичного регресу (тобто, не торкаючись функції ймовірності)?
tmakino

Це залежить від того, що таке «це». Яка кінцева мета і як буде використовуватися модель?
Френк Харрелл

Я відредагував своє питання, щоб надати детальну інформацію про те, чого я намагаюся досягти.
tmakino

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

8

Найкращий підхід до досягнення того, що ви намагаєтесь описати, - ймовірно, безпосередньо оптимізувати параметри логістичної регресії за допомогою функції втрат AUC. У підручнику «Статистичні методи в діагностичній медицині» Чжоу описаний цей метод.

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

Використовуючи традиційну формулювання логістичної регресійної моделі,

logit Pr(Y=1|Х)=α+βХ

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


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

Ну, справжня проблема полягає в тому, що ОП має постійний результат (ROI) і дихотомізує це як втрату / виграш. Але розщеплення волосся вбік, при цьому регресія ROC в цілому «дурні» відрізані маркери області дійсно зараховуються до AUC. Ви можете використовувати частковий AUC, якщо заздалегідь уточнити, що вважається значущим порівняно з дурними значеннями маркерів, а часткова регресія AUC має однакові можливості (і проблеми).
AdamO
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.