Інтервали прогнозування алгоритмів машинного навчання


14

Я хочу знати, чи описаний нижче процес є дійсним / прийнятним та чи є доступне обґрунтування.

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

Якщо це має значення, набори даних, з якими я працюю, зазвичай дуже малі (~ 200 рядків)

Це має сенс?

Для уточнення, я насправді не завантажую дані в традиційному розумінні (тобто я не відбираю повторно відбір даних). Той самий набір даних використовується в кожній ітерації, я просто використовую випадковість у xval та стохастичних ГБМ.


2
Якщо ви дійсно хочете інтервал прогнозування (а не довірчий інтервал), вам потрібно врахувати різницю в спостереженнях щодо моделі, а не лише варіацію прогнозів моделі
Glen_b -Встановити Моніку

@Glen_b чи мій підхід, описаний в ОП, або завантажена версія отримають мені інтервали довіри? Я починаю вважати, що інтервал передбачення неможливий, не вказуючи базовий розподіл для даних, тому мені, можливо, доведеться переформулювати питання наступного разу.
kevinykuo

Ви можете завантажувати інтервали передбачення завантаження ... тільки не виконуючи те, що ви описуєте в Q.
Glen_b -Встановити Моніку

@Glen_b Ви могли б описати, як це зробити у відповіді?
kevinykuo

1
Я не міг дати тут достатньої відповіді. Але дивіться Davison & Hinkley (1997) у розділах про множинну регресію та ГЛМ, які дають відчуття того, що може знадобитися. Наприклад, у випадку багаторазової регресії, залишки повторно виділяються для отримання оцінки завантажувальної завантажуваності прогнозної невизначеності (коливання прогнозів через невизначеність параметрів) та повторного впорядкування для розгляду варіацій процесу. З підходящою схемою ви, можливо, також зможете вирішити невизначеність специфікації моделі на цьому першому кроці, але ви не можете опустити другий крок щодо змінності процесу
Glen_b -Встановити Моніку

Відповіді:


5

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

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

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

У моїй відповіді на цю публікацію є якийсь неочищений R-код про пошук інтервалу прогнозування ГБ.

Сподіваюся, це допомагає!


2

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

Як стверджує @ErikL, конформне прогнозування є теоретично обґрунтованим підходом, який сприймає ідею, досить подібну для завантажувальної програми. Конформальне передбачення з використанням реконструкції моделі з використанням нової точки враховує як зміщення, так і дисперсію, тоді як для регресії вони потребують значних обчислювальних ресурсів. Ви можете спробувати його з Python, використовуючи нонконформістську бібліотеку .


1

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

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

Для оцінки розподілу помилок ви можете використовувати стару добру перехресну перевірку.


0

Я зараз думаю про цю проблему. Ось мої висновки:

(1) Метод Дельти
(2) Перестановка завантаження
(3) Байєсовий метод
(4) Оцінка середньої дисперсії (MVE)

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

Ось кілька посилань:

Підходи машинного навчання для оцінки інтервалу прогнозування для виходу моделі, Дурга Л. Шреща, Димитрій П. Соломатін, 2006 р
. Порівняння деяких оцінок помилок для моделей нейронної мережі, Роберт Тібширані, 1995 р.
Комплексний огляд інтервалів прогнозування на основі нейромережі та нові Аванси, Аббас Хосраві, Даг Крейтон, 2011 рік

Сподіваюсь, це допоможе мені і виправити будь-що з перерахованого вище недоречно. Я хотів би почути більше від інших.


1
Чи можете ви пояснити, як ця публікація стосується початкового питання?
whuber

Назва "PI для алгоритмів ML", @kevinykuo запитує, чи працює його "завантажувальний" спосіб. Я вказую кілька посилань на деякі методи, які використовуються в PI для нейронної мережі.
Демо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.