Різниці між перехресною валідацією та завантажувальною програмою для оцінки похибки прогнозування


102

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

Чи працює краще для невеликих розмірів наборів даних або великих наборів даних?

Відповіді:


88

Це зводиться до дисперсії та упередженості (як зазвичай). Резюме має тенденцію бути менш упередженим, але резюме в K-кратному розмірі має досить велику дисперсію. З іншого боку, завантажувальний процес, як правило, різко зменшує дисперсію, але дає більш упереджені результати (вони, як правило, песимістичні). Інші методи завантаження пристосовані для адаптації до зміщення завантажувальної стрічки (такі як правила 632 та 632+).

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

Редагувати

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

Деякі відповідні дослідження наведені нижче (особливо Кім та Молінаро).

Список літератури

Bengio, Y., & Grandvalet, Y. (2005). Відхилення при оцінці дисперсії k-кратної перехресної перевірки. Статистичне моделювання та аналіз складних задач даних, 75–95.

Braga-Neto, UM (2004). Чи є перехресна перевірка дійсною для малих вибіркових мікромасин класифікації Bioinformatics, 20 (3), 374–380. doi: 10.1093 / біоінформатика / btg419

Ефрон, Б. (1983). Оцінка частоти помилок правила прогнозування: поліпшення крос-валідації. Журнал Американської статистичної асоціації, 316–331.

Efron, B., & Tibshirani, R. (1997). Покращення крос-валідації:. 632+ метод завантаження. Журнал Американської статистичної асоціації, 548–560.

Furlanello, C., Merler, S., Chemini, C., & Rizzoli, A. (1997). Застосування правила завантаження 632+ до екологічних даних. WIRN 97.

Jiang, W., & Simon, R. (2007). Порівняння методів завантаження та скоригованого підходу до завантаження для оцінки похибки прогнозування в класифікації мікромасив. Статистика в медицині, 26 (29), 5320–5334.

Jonathan, P., Krzanowski, W., & McCarthy, W. (2000). Про використання перехресної перевірки для оцінки результативності в багатовимірному прогнозуванні. Статистика та обчислювальна техніка, 10 (3), 209–229.

Кім, Ж.-Х. (2009). Оцінка коефіцієнта помилок класифікації: Повторне перехресне підтвердження, повторне затримка та завантаження. Обчислювальна статистика та аналіз даних, 53 (11), 3735–3745. doi: 10.1016 / j.csda.2009.04.009

Кохаві, Р. (1995). Дослідження крос-валідації та завантажувальної програми для оцінки точності та вибору моделі. Міжнародна спільна конференція з питань штучного інтелекту, 14, 1137–1145.

Martin, J., & Hirschberg, D. (1996). Невелика вибіркова статистика для класифікаційних помилок I: Вимірювання рівня помилок.

Молінаро, А.М. (2005). Оцінка помилок прогнозування: порівняння методів перекомпонування. Біоінформатика, 21 (15), 3301–3307. doi: 10.1093 / біоінформатика / bti499

Sauerbrei, W., and Schumacher1, M. (2000). Запуск та перехресна перевірка для оцінки складності регресійних моделей, керованих даними. Аналіз медичних даних, 26–28.

Tibshirani, RJ, & Tibshirani, R. (2009). Корекція зміщення для мінімальної швидкості помилок при перехресній валідації. Передрук Arxiv arXiv: 0908.2904.


2
Упередженість завантаження не песимістична, вона оптимістична (Simple Bootstrap не .0632). Це тому, що Bootstrap використовує багато навчальних елементів для тестування моделі, що призводить до великої ваги для помилки вибірки.
D1X

33

@Frank Harrell зробив багато роботи над цим питанням. Я не знаю конкретних посилань.

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

Коли ваша модель зафіксована, то використовувати сенсорний засіб має більше сенсу (як мінімум, для мене).

Існує вступ до цих понять (плюс перестановочні тести), використовуючи R за адресою http://www.burns-stat.com/pages/Tutor/bootstrap_resampling.html


2
Чи має сенс використовувати резюме спочатку для вибору моделі, а потім використовувати завантажувальну інформацію на тих самих даних, щоб оцінити помилки ваших оцінок? Зокрема, я хочу зробити лінійну регресію, використовуючи ML для даних з невідомим шумом, який не є гауссом.
sebhofer

9

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


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

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

Також зауважте, що проведення завантажувального завантаження з невеликим зразком призведе до упереджених оцінок, як зазначено в оригінальній роботі Efron.
Глен

Чи не вимірювання точності прогнозування є способом кількісної оцінки невизначеності? Я розумію, що CV підходить для вибору моделі, але скажімо, що я хочу оцінити AUC для LASSO, чи краще CV чи завантажувальний процес?
Макс Геніс

9

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

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

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

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


2
Ніл, здається, щонайменше 2 з 4 ваших тверджень невірні. 1. Навіть незважаючи на те, що кожен конкретний зразок завантажувальної програми охоплює ~ 63% початкових точок даних, якщо ми вибираємо багато (наприклад, 10 к) зразків завантажувальної програми, як це зазвичай робимо, ймовірність того, що кожна точка буде охоплена хоча б в одній з них, по суті становить 100%. 2. Я щойно зробив швидку чисельну перевірку - середня кількість завантажувальних і не завантажених зразків дуже близька до загального середнього показника даних. Ви можете перевірити себе
Кочеде

Ось код (натисніть "Змінити", щоб побачити його відформатованим): імпортуйте numpy як np, панди як pd n = 1000 B = 1000 y = np.random.randn (n) meanb, meansoob = [], [] для b в діапазон (B): ib = np.random.choice (n, n, замінити = True) meanb = y [ib] .mean () означаєb.append (meanb) indoob = np.ones (n, dtype = bool) indoob [ib] = хибний meanoob = y [indoob] .mean () meansoob.append (meanoob) pd.Series (meanb) .hist (histtype = 'step') pd.Series (meansoob) .hist (histtype = 'step') ) print np.mean (meanb), np.mean (meansoob), pd.Series (y) .mean ()
Kochede

@Kochede "по суті 100%" - це не 100%. "Дуже близький до середнього" не є таким же, як середній. Ви вживаєте слова «ласка». Я не помиляюся
Ніл МакГуйган

Тож ви не тільки даєте неправильні відповіді, але і наполягаєте на них демагогією, добре. Очікуване охоплення даних зразками завантажувальної програми швидко збільшиться до 100% із збільшенням кількості вибірок. У вищенаведеному експерименті після менш ніж 10 зразків завантажувальної програми всі точки даних потрапляють під завантажувальну систему. Аналогічно, очікування середнього показника завантажувальних зразків дорівнює середньому зразку. А у вищенаведеному експерименті після 1000 зразків завантажувальної програми різниця становить менше 0,1% (використовуйте np.random.rand замість randn, тому що для randn середнє значення дорівнює 0)
Кочеде

Ось оновлений код для довідки: імпортувати numpy як np, панди як pd; n = 1000; В = 1000; y = np.random.rand (n); meanb = []; накритий = np.zeros (n, dtype = bool); покриття = []; #begin цикл для b в діапазоні (B): ib = np.random.choice (n, n, замінити = True); прикритий [ib] = Правда; покриття.додаток (покритий.сум () * 1,0 / н); meanb = y [ib] .mean (); засобиb.append (meanb); #end покриття друку циклу [: 10]; друкувати np.mean (meanb), pd.Series (y) .mean (); print (np.mean (meanb) - pd.Series (y) .mean ()) / pd.Series (y) .mean ();
Кочеде

2

Це дві техніки перекомпонування:

При перехресній валідації ми поділяємо дані випадковим чином на kfold, що допомагає у переозброєнні, але такий підхід має і свій недолік. Оскільки він використовує випадкові вибірки, тому деяка вибірка створює великі помилки. З метою мінімізації резюме є методи, але вони не настільки потужні з проблемами класифікації. Bootstrap допомагає в цьому, він покращує помилку від власної перевірки зразка. Для детальної інформації див.

https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/cv_boot.pdf

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