Perché il binning dovrebbe essere evitato a tutti i costi?


10

Quindi ho letto alcuni post sul perché il binning dovrebbe sempre essere evitato. Un riferimento popolare per tale affermazione è questo link .

La fuga principale è che i punti di binning (o punti di interruzione) sono piuttosto arbitrari così come la conseguente perdita di informazioni e che le spline dovrebbero essere preferite.

Tuttavia, sto attualmente lavorando con l'API di Spotify, che ha un sacco di continue misure di confidenza per molte delle loro funzionalità.

Guardando una caratteristica, "strumentalità", i riferimenti affermano:

Prevede se una traccia non contiene voci. I suoni "Ooh" e "aah" sono considerati strumentali in questo contesto. Le tracce di parole rap o vocali sono chiaramente "vocali". Più il valore di strumentalità è vicino a 1,0, maggiore è la probabilità che la traccia non contenga alcun contenuto vocale. I valori superiori a 0,5 intendono rappresentare tracce strumentali , ma la confidenza è maggiore quando il valore si avvicina a 1.0.

Data la distribuzione molto distorta dei miei dati (circa il 90% dei campioni è appena sopra 0, ho trovato sensato trasformare questa funzione in due caratteristiche categoriche: "strumentale" (tutti i campioni con un valore superiore a 0,5) e "non_strumentale" "(per tutti i campioni con un valore inferiore a 0,5).

È sbagliato? E quale sarebbe stata l'alternativa, quando quasi tutti i miei dati (continui) ruotano attorno a un singolo valore? Da quello che ho capito delle spline, non funzionerebbero nemmeno con i problemi di classificazione (cosa sto facendo).


10
L'impostazione che descrivi non sembra implicare che il binning sia una buona idea. Hai detto tu stesso che ci sono informazioni su quanto è vicino a 1,0 un valore. IMHO faresti bene ad avere una funzione continua che è legata alla probabilità di essere strumentale. Forse puoi espandere la tua domanda.
Frank Harrell,

La mia domanda in fondo è quando va bene usare il binning, se non del tutto. Nel mio caso, l'ho usato sulla base del dominio (strumentale / non strumentale), poiché ritengo che sia più prevedibile che dire quanto è vicina una traccia all'essere strumentale (poiché una traccia è o non è strumentale). Hai discusso contro questa logica, tuttavia, al punto 8 del tuo post. Come novizio, faccio fatica a capire davvero perché dovrebbe essere così.
Readler,

1
Ho scritto un lungo post su questo nel contesto della modellazione predittiva: madrury.github.io/jekyll/update/statistics/2017/08/04/…
Matthew Drury

Molto istruttivo e approfondito, grazie. Tuttavia, non vedo la relazione con la mia domanda (anche se ho ancora acquisito alcune nuove intuizioni, quindi va tutto bene!). Il tuo articolo parla del binning della variabile predittore nei problemi di regressione e perché questa è una cattiva idea (su cui il tuo articolo ha discusso in modo convincente) e perché usare le spline aiuta a modellare la regressione. Mi chiedevo perché è male discretizzare i valori di una caratteristica continua (un input) in un problema di classificazione (le cui variabili predittive sono intrinsecamente "bin", cioè classi).
Readler

2
Se quasi tutte le tue funzionalità si trovano ad un certo punto, è probabile che non siano utili al tuo modello, indipendentemente da ciò che fai.
Accumulo

Risposte:


15

È un po 'esagerato affermare che il binning dovrebbe essere evitato a tutti i costi , ma è certamente il caso che il binning introduca scelte bin che introducano un certo grado di arbitrarietà nell'analisi. Con i moderni metodi statistici non è generalmente necessario impegnarsi nel binning, dal momento che tutto ciò che può essere fatto su dati "binati" discretizzati può generalmente essere fatto sui valori continui sottostanti.

L'uso più comune del "binning" nelle statistiche è nella costruzione di istogrammi. Gli istogrammi sono simili alla classe generale di stimatori della densità del kernel (KDE), nella misura in cui implicano l'aggregazione delle funzioni di passo sui bin scelti, mentre il KDE comporta l'aggregazione di kernel più lisci. La funzione step usata in un istogramma non è una funzione liscia, ed è generalmente il caso che si possano scegliere funzioni del kernel migliori che sono meno arbitrarie con il metodo KDE, che producono anche migliori stime della densità sottostante dei dati. Dico spesso agli studenti che un istogramma è solo un "KDE del povero". Personalmente, non ne userei mai uno, perché è così facile ottenere un KDE senza binning dei dati, e questo dà risultati superiori senza una scelta di binning arbitraria.

Un altro uso comune del "binning" si verifica quando un analista desidera discretizzare i dati continui in bin al fine di utilizzare tecniche analitiche che utilizzano valori discreti. Questo sembra essere ciò che viene suggerito nella sezione che citi per quanto riguarda la previsione dei suoni vocali. In questi casi c'è una certa arbitrarietà introdotta dal binning e c'è anche una perdita di informazioni. È ancora meglio evitarlo, se possibile, cercando di formare un modello direttamente sui valori continui sottostanti, piuttosto che formare un modello sui valori discreti "binnati".

Come regola generale, è auspicabile che gli statistici evitino tecniche analitiche che introducono ipotesi arbitrarie, in particolare nei casi in cui sono disponibili tecniche alternative per evitare facilmente tali ipotesi. Quindi sono d'accordo con il sentimento che il binning non è generalmente necessario. Certamente non dovrebbe essere evitato a tutti i costi poiché i costi sono importanti, ma generalmente dovrebbe essere evitato quando ci sono semplici tecniche alternative che consentono di evitarlo senza alcun grave inconveniente.


Vedo. Domanda di follow-up, però: guardando la distribuzione dell'esempio sopra menzionato vedi qui (ironicamente un istogramma), non riesco a vedere le utilità in una variabile continua in cui quasi tutti i campioni ruotano attorno a un valore (qui essendo 0), che è è stato ciò che inizialmente mi ha portato a inserire questa funzione. Hai menzionato l'alternatività - mi elaboreresti gentilmente o mi indicheresti la giusta direzione su dove avrei potuto imparare di più?
Readler


In quell'istogramma vedo valori in tutto il luogo (ma, sì, per lo più vicini allo zero). Non ci dovrebbero essere inconvenienti nell'uso di un adattamento spline, e ciò fornirà sicuramente maggiori informazioni. Traccia la spline montata! e, se per qualche motivo devi discretizzare , quella trama potrebbe aiutarti in come. Potrebbe essere che per il tuo particolare utilizzo sia meglio un altro punto di taglio di 0,5.
kjetil b halvorsen,

2
Un istogramma non può essere interpretato correttamente come KDE. Quale sarebbe il kernel?
whuber

1
Per quanto riguarda il tuo terzo paragrafo, ho avuto una domanda simile quando stavo cercando di calcolare il guadagno di informazioni con alcuni dati numerici. Puoi guardare questa domanda e spiegare cosa fare in questa situazione? stats.stackexchange.com/questions/384684/…
astel

4

Normalmente discuterei fortemente contro la categorizzazione di variabili continue per le ragioni ben espresse da altri noti Frank Harrell. In questo caso potrebbe essere utile chiedersi del processo che ha generato i punteggi. Sembra che la maggior parte dei punteggi siano effettivamente zero, forse con qualche rumore aggiunto. Alcuni di loro sono piuttosto vicini all'unità di nuovo con il rumore. Pochissimi sono nel mezzo. In questo caso sembra piuttosto più giustificata la categorizzazione poiché si potrebbe sostenere che il modulo rumore sia una variabile binaria. Se lo si adatta come una variabile continua, i coefficienti avrebbero significato in termini di cambiamento nella variabile predittore, ma in questo caso nella maggior parte del suo intervallo la variabile è scarsamente popolata in modo da sembrare poco attraente.


4
La mia breve risposta a quando il binning è OK da usare è questa: quando i punti di discontinuità sono già noti prima di guardare i dati (questi sono gli endpoint del bin) e se è noto che la relazione tra xey all'interno di ogni bin che ha la lunghezza diversa da zero è piatta.
Frank Harrell,

2

Immagina di avere un orologio che mostra solo le ore. Intendo solo che ha solo la freccia dell'ora che una volta ogni ora fa un salto di 1/12 a un'altra ora, non si muove in modo regolare. Un simile orologio non sarebbe molto utile, dal momento che non sapresti se sono le due e cinque, le due e mezzo o le tre o dieci. Questo è il problema con i dati aggregati , perde dettagli e introduce i cambiamenti "nervosi".


1
(+1) Sì, e aggiungi a questo il problema aggiuntivo che l'orologiaio potrebbe non scegliere incrementi orari, ma potrebbe decidere arbitrariamente che il suo orologio sarà in incrementi di 19 minuti e hai un problema aggiuntivo oltre alla semplice perdita di informazioni .
Ben - Ripristina Monica il

2

Per alcune applicazioni, apparentemente compresa quella che stai contemplando, il binning può essere strettamente necessario. Ovviamente per eseguire un problema di categorizzazione, a un certo punto devi ritirare i dati categorici dal tuo modello e, a meno che anche i tuoi input non siano tutti categorici, dovrai eseguire il binning. Considera un esempio:

Un'IA sofisticata sta giocando a poker. Ha valutato il 70% della probabilità che la sua mano sia superiore a quella degli altri giocatori. È il suo turno di scommettere, tuttavia è stato detto che dovrebbe evitare il binning a tutti i costi e di conseguenza non piazza mai una scommessa; si piega di default.

Tuttavia, ciò che hai sentito potrebbe essere vero, in quanto l' inserimento prematuro di valori intermedi restituisce informazioni che avrebbero potuto essere conservate. Se lo scopo finale del tuo progetto è determinare se "ti piacerà" la canzone in questione, che può essere determinata da due fattori: "strumentalità" e "rockitude", probabilmente faresti meglio a conservarli come variabili continue fino a quando è necessario estrarre la "simpatia" come variabile categoriale.

lioKe={0rocKiotude*3+ionStrumentun'lneSS*2<31rocKiotude*3+ionStrumentun'lneSS*23

o qualsiasi coefficiente ritieni più appropriato o qualunque altro modello si adatti in modo appropriato al tuo set di allenamento.

Se invece decidi se qualcosa è "strumentale" (vero o falso) e "rock" (vero o falso), allora hai le tue 4 categorie disposte davanti a te come un giorno:

  1. strumentale, rock
  2. non strumentale, rocce
  3. strumentale, niente rocce
  4. non strumentale, senza rocce

Ma poi tutto ciò che puoi decidere è quale di queste 4 categorie "ti piace". Hai rinunciato alla flessibilità nella tua decisione finale.

La decisione di eseguire il bin o meno dipende interamente dal tuo obiettivo. In bocca al lupo.


2

R

R{B1BN}Bio=[lio,uio]liouioio

l=l0wl0u0=l0+ww(wmion,wmun'X)

P(R)=Σw=wmionwmun'XΣl=l0l0+wP(R|l,w)P(l,w)P(l,w)~2(u0-l0)wmun'X+wmion×(wmun'X-wmion)

wmun'X,wmion,l0P(R)P(R|wmun'X,wmion,l0)P(R)P(R|wmun'X,wmion,l0)=P(R)

Nel contesto della domanda del PO sarei soddisfatto se la soglia arbitraria 0,5 fosse impostata su una varietà di valori tra i valori minimo e massimo credibili, e di vedere che i risultati di base della sua analisi sono in gran parte indipendenti dalla selezione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.