Яке правило .632+ при завантаженні?


107

Тут @gung посилається на правило .632+. Швидкий пошук в Google не дає простий для розуміння відповіді на те, що означає це правило та з якою метою воно використовується. Хтось, будь ласка, з’ясує правило .632+?

Відповіді:


115

Я дістанусь до оцінювача 0,632, але це буде дещо тривалий розвиток:

Припустимо, ми хочемо передбачити з за допомогою функції , де може залежати від деяких параметрів, які оцінюються за допомогою даних , наприклад,YXff(Y,X)f(X)=Xβ

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

err¯=1Ni=1NL(yi,f(xi))
L(xi,yi)ferr¯f

Часто ми використовуємо перехресну валідацію як простий спосіб оцінити очікувану помилку передбачення додаткової вибірки (наскільки добре наша модель робить дані не в нашому навчальному наборі?).

Err=E[L(Y,f(X))]

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

ErrCV=1Ni=1NL(yi,fκ(i)(xi))
κifκ(i)(xi)xiκ(i)

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

Замість перехресної перевірки ми могли б скористатися завантажувальним інструментом для оцінки похибки прогнозування додаткової вибірки. Переустановка завантажувальної програми може бути використана для оцінки розподілу вибірки будь-якої статистики. Якщо наші дані тренінгу , то можна подумати про те, щоб взяти з цього набору зразки завантажувальної машини (із заміною) де кожен - це набір з вибірок. Тепер ми можемо використовувати наші зразки завантаження для оцінки помилки передбачення додаткової вибірки: де - передбачуване значення при від моделі, придатної доX=(x1,,xN)BZ1,,ZBZiN

Errboot=1Bb=1B1Ni=1NL(yi,fb(xi))
fb(xi)xib й набір даних завантажувальної програми. На жаль, це не особливо хороший оцінювач, оскільки зразки завантажувальної програми, які використовуються для отримання можуть містити . Оцінювач завантажувального пропонує поліпшення, імітуючи перехресну перевірку, і визначається як: де - це набір показників для зразків завантажувальної програми, які не містять спостереження , і- кількість таких зразків. fb(xi)xi
Errboot(1)=1Ni=1N1|Ci|bCiL(yi,fb(xi))
Cii|Ci|Errboot(1)вирішує проблему надмірного пристосування, але все ще є упередженою (ця упереджена вгору). Упередженість пояснюється неоднозначними спостереженнями у зразках завантажувального пристрою, які є результатом відбору з заміною. Середня кількість різних спостережень у кожному зразку становить приблизно (див. Цю відповідь для пояснення того, чому в середньому кожен зразок завантажувального закладу містить приблизно дві третини спостережень? ). Щоб вирішити задачу зміщення, Ефрон і Тібшірані запропонували оцінювач 0.632: де0.632N
Err.632=0.368err¯+0.632Errboot(1)
err¯=1Ni=1NL(yi,f(xi))
це наївна оцінка помилки прогнозування, яку часто називають помилкою навчання. Ідея полягає в тому, щоб оцінювати упереджену оцінку вниз і тенденційну тенденцію до зростання.

Однак якщо у нас є функція прогнозування надмірно надмірного рівня (тобто ), навіть оцінювач .632 буде зміщений вниз. Оцінювач .632+ призначений для менш упередженого компромісу між та . з де - рівень помилки без інформації, оцінюється шляхом оцінки моделі прогнозування для всіх можливих комбінацій цілі та предиктори .err¯=0err¯Errboot(1)

Err.632+=(1w)err¯+wErrboot(1)
w=0.63210.368RandR=Errboot(1)err¯γerr¯
γyixi

γ=1N2i=1Nj=1NL(yi,f(xj))
.

Тут вимірює відносну норму перевищення. Якщо немає перевищення (R = 0, коли ) це дорівнює оцінці .632.RErrboot(1)=err¯


2
Це гарні запитання, @rpierce, але вони віддаляються від центральної теми цієї теми. Було б краще, регламентуючи організацію резюме, мати їх у новій темі, щоб людям було легше знайти та використовувати цю інформацію згодом.
gung



1
@rpierce Вибачте, якщо я ускладнив моє запитання. порівнює відповідність вашої моделі з даними, які використовуються для її пристосування. Тож для квадратичної втрати помилки, яка би була простоerr¯=1Ni=1NL(yi,f(xi))1ni=1n(yiy^i)2
bdeonovic

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

53

Більше інформації ви знайдете у розділі 3 цього 1 документа. Але підсумовуючи, якщо ви називаєте вибіркою з чисел із намальованою випадковим чином і із заміною, містить в середньому приблизно унікальних елементів.Sn{1:n}S(1e1)n0.63212056n

Міркування такі. Ми заповнюємо вибіркою разів (випадковим чином і із заміною) від . Розглянемо конкретний індекс . S={s1,,sn}i=1,,n{1:n}m{1:n}

Тоді:

P(si=m)=1/n

і

P(sim)=11/n

і це правда (інтуїтивно, оскільки ми проводимо вибірку із заміною, ймовірності не залежать від )1ini

таким чином

P(mS)=1P(mS)=1P(i=1nsim)=1i=1nP(sim)=1(11/n)n1e1

Ви також можете провести це невелике моделювання, щоб емпірично перевірити якість наближення (що залежить від ):n

n <- 100
fx01 <- function(ll,n){
    a1 <- sample(1:n, n, replace=TRUE)
    length(unique(a1))/n
}
b1 <- c(lapply(1:1000,fx01,n=100), recursive=TRUE)
mean(b1)

1. Бредлі Ефрон та Роберт Тібширані (1997). Удосконалення щодо перехресної перевірки: метод завантаження .632+ . Журнал Американської статистичної асоціації , Vol. 92, № 438, стор 548--560.


3
ось документ для вас у довідці

1
(+1) Дуже добре. Я б лише зробив позначення трохи більш стандартними. Дані: . IID випадкові величини з . Результат: . (x1,,xn)S1,,SnP(Si=k)=1nI{1,,n}(k)P(i=1n{Si=k})=1P(i=1n{Sik})=1i=1nP{Sik}=1(11/n)n11/e63.21%
Дзен

4
@rpierce: Правильно. "Очевидний" біт, про який зараз не можна згадати відповідь, полягає в тому, що . 1e10.63212056
Ільмарі Каронен

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

1
@rpierce: Цитувати Селін Діон, " Казка стара, як час / пісня, стара, як рима / Краса і звір". : P
Нік Стаунер

8

На мій досвід, в основному на основі моделювання, варіанти завантажувальних програм 0,632 та 0,632+ потрібні були лише через серйозні проблеми, спричинені використанням неправильного правила оцінювання точності, а саме пропорції, "правильно класифікованої". Якщо ви використовуєте правильні (наприклад, на основі відхилення бали чи Brier) або напівправильні (наприклад, -index = AUROC) правила балів, стандартний завантажувальний оптимізм Efron-Gong працює чудово.c


3
Я не думаю, що я розумію більшість речей, які ти сказав тут, Френк. Чи бажаєте ви уточнити? Здається, ви маєте щось унікальне і важливе, щоб зробити свій внесок.
russellpierce

Радий розширити, якщо ви можете задати конкретне питання.
Френк Харрелл

1
Ці правила балів були ... судячи з якості результату завантаження? Не могли б ви надати посилання, що описує пропорційно "класифіковане" правильне зарахування правил, я маю проблеми уявити, який саме звір може бути. З найкращих результатів "оптимізму Ефрон-Гонг" в Google переважна більшість, здається, є публікаціями від вас ... чим це відрізняється від того, якщо я скажу "завантажувальний" без кваліфікаторів? На яку статтю про Ефрона та Гонга слід звернути увагу? Здається, їх кілька.
russellpierce

3
Дивіться оригінальний документ про 0,632, в якому використовується та визначається пропорційно класифікована пропорція (Efron & Tibshirani JASA 92: 548; 1997). Оптимістичний завантажувальний інструмент - це варіант завантажувальної програми для оцінки зміщення. Це описано в Гонгу: JASA 85:20; 1990.
Френк Харрелл

2

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

    from numpy import mean
    from numpy.random import choice

    N = 3000

    variables = range(N)

    num_loop = 1000
    # Proportion of remaining variables
    p_var = []

    for i in range(num_loop):
        set_var = set(choice(variables, N))
        p=len(set_var)/float(N)
        if i%50==0:
            print "value for ", i, " iteration ", "p = ",p
        p_var.append(p)

    print "Estimator of the proportion of remaining variables, ", mean(p_var)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.