Чому варто уникати binning за будь-яку ціну?


10

Тому я прочитав кілька дописів про те, чому слід уникати binning завжди . Популярна посилання на цю заяву - це посилання .

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

Однак зараз я працюю з API Spotify, який має безліч нескінченних заходів довіри щодо кількох їх особливостей.

Дивлячись на одну особливість, "інструментальність", посилання констатують:

Прогнозує, чи доріжка не містить вокалу. У цьому контексті звуки "ох" і "ах" трактуються як інструментальні. Репетиція звукозапису та звучання звуку є чітко “голосовою”. Чим ближче значення інструментальності до 1,0, тим більша ймовірність, що трек не містить вокального змісту. Значення вище 0,5 призначені для відображення інструментальних треків , але довіра вище, оскільки значення наближається до 1,0.

Враховуючи дуже похилий розподіл моїх даних (приблизно 90% зразків ледь перевищує 0, я вважав за розумне перетворити цю особливість на дві категоричні ознаки: "інструментальний" (усі вибірки зі значенням вище 0,5) та "неінструментальний" "(для всіх зразків зі значенням нижче 0,5).

Це неправильно? І яка б була альтернатива, коли майже всі мої (безперервні) дані обертаються навколо одного значення? З того, що я розумію щодо сплайнів, вони також не будуть працювати з проблемами класифікації (що я роблю).


10
Опис, яку ви описуєте, схоже, не означає, що бінінг - це добра ідея. Ви самі сказали, що є інформація про те, наскільки близько 1,0 значення. ІМХО, ви б мали добре мати постійну функцію, пов’язану з ймовірністю бути інструментальним. Можливо, ви можете розширити своє питання.
Френк Харрелл

В основному моє запитання полягає в тому, коли нормально використовувати binning, якщо він взагалі є. У моєму випадку я використовував його на основі домену (інструментальний / не інструментальний), оскільки я вважаю, що це більш прогнозовано, ніж говорити, наскільки близький трек до інструментального (оскільки трек є або не є інструментальним). Однак ви поспорили проти цієї логіки у пункті 8 свого допису. Мені, як новачку, просто важко зрозуміти, чому це повинно бути.
Читальник

1
Я написав довгий пост про це в контексті прогнозного моделювання: madrury.github.io/jekyll/update/statistics/2017/08/04/…
Меттью Дрюрі

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

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

Відповіді:


15

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

Найбільш поширене використання «бінінгу» в статистиці - при побудові гістограм. Гістограми схожі на загальний клас оцінювачів щільності ядра (KDE), якщо вони включають агрегацію ступеневих функцій на обраних бінах, тоді як KDE включає агрегацію більш плавних ядер. Етапна функція, що використовується в гістограмі, не є гладкою функцією, і, як правило, можна вибирати кращі функції ядра, які є менш довільними за методом KDE, що також дає кращі оцінки базової щільності даних. Я часто кажу студентам, що гістограма - це лише KDE "бідного чоловіка". Особисто я ніколи не використовував би його, оскільки отримати KDE так просто, не поширюючи дані, це дає чудові результати без довільного вибору бінінгу.

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

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


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

Спробуйте прочитати про KDE, а також розглянути кілька альтернативних способів побудови універсальних даних .
Бен -

У цій гістограмі я бачу значення всюди (але, так, здебільшого близькі до нуля). Не повинно виникати незручностей у використанні шліцевої шпильки, і це, безумовно, дасть більше інформації. Накресліть встановлений шпон! і, якщо ви з якихось причин маєте дискредитувати , цей сюжет може допомогти вам у тому, як. Можливо, саме для вашого конкретного використання краще краще встановити іншу точку межі, ніж 0,5.
kjetil b halvorsen

2
Гістограма не може бути правильно розтлумачена як KDE. Яким було б ядро?
whuber

1
Що стосується вашого третього абзацу, у мене виникло подібне питання, коли я намагався обчислити приріст інформації за допомогою деяких числових даних. Чи можете ви подивитися на це питання і пояснити, що робити в цій ситуації? stats.stackexchange.com/questions/384684/…
astel

4

Як правило, я категорично заперечую категоризацію безперервних змінних з причин, добре виражених іншими помітними Френками Харреллом. У цьому випадку може бути корисним хоча б запитати себе про процес, який створив бали. Схоже, що більшість балів фактично дорівнює нулю, можливо, додається шум. Кілька з них досить близькі до єдності знову з шумом. Дуже мало хто лежить між ними. У цьому випадку здається досить більшим обґрунтуванням категоризації, оскільки можна стверджувати, що по модулю шум це бінарна змінна. Якщо хтось підходить до нього як суцільна змінна, то коефіцієнти мають значення в зміні змінної предиктора, але в цьому випадку у більшості його діапазону змінна є дуже рідко заселеною, так що здається непривабливою.


4
Моя коротка відповідь на те, коли бінінг буде нормально використовувати, це такий: Коли точки розриву вже відомі перед тим, як переглянути дані (це кінцеві точки біна) і якщо відомо, що співвідношення між x і y у кожному бін, який має ненульова довжина плоска.
Френк Харрелл

2

Уявіть, у вас є годинник, який показує лише години. Я маю на увазі лише те, що у нього є лише стрілка години, яка один раз на годину робить 1/12 стрибка на іншу годину, вона не рухається плавно. Такий годинник не був би дуже корисним, оскільки ви не знаєте, чи це п'ять минулих два, половина два чи десять-три. Ось проблема з бінізованими даними, вона втрачає деталі та вносить «стрибки» зміни.


1
(+1) Так, і додайте до цього додаткову проблему, що виробник годинника може не вибирати погодинний приріст, але може довільно вирішити, що його годинник буде з кроком 19 хвилин, і у вас є додаткова проблема, крім простої втрати інформації .
Бен -

2

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

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

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

like={0rockitude3+instrumentalness2<31rockitude3+instrumentalness23

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

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

  1. інструментальний, скелі
  2. неінструментальний, скелі
  3. інструментальний, без скель
  4. неінструментальний, без скель

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

Рішення брати чи не брати кошти повністю залежить від вашої мети. Удачі.


2

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

Більш детально: результат отриманий з чисельного експерименту, в якому використовували бінінг. Нехай бінінг визначається як де - це вибір як нижньої межі, а як верхня межа для th bin.R{b1bN}bi=[li,ui]liuii

Скажімо, для простоти набір бункерів визначається положенням першого біна та рівномірною шириною для кожного біна. Нижня межа першого біна може змінюватись до верхнього значення першого біна а може змінюватись від деяких мінімальних до максимальних значень . Щоб показати надійність R, нам потрібно обчислитиl=l0wl0u0=l0+ww(wmin,wmax)

P(R)=w=wminwmaxl=l0l0+wP(R|l,w)P(l,w)P(l,w)2(u0l0)wmax+wmin×(wmaxwmin)

Звичайно, тепер ви ввели і , так технічно , але якщо ми підозрюємо (не безпідставно), що не залежить від цих значень, тоді (whw!), як правило, так і ви рідко доведеться довести, що якщо ви справді не дуже пощастили своєму рецензенту!wmax,wmin,l0P(R)P(R|wmax,wmin,l0)P(R)P(R|wmax,wmin,l0)=P(R)

У контексті питання ОП я був би задоволений, якби довільний поріг 0,5 був встановлений на різноманітні значення між достовірними значеннями min та max та побачив, що основні результати його аналізу значною мірою не залежать від відбору.

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