Previsione con caratteristiche sia continue che categoriche


26

Alcune tecniche di modellazione predittiva sono più progettate per gestire predittori continui, mentre altre sono migliori per gestire variabili categoriche o discrete. Naturalmente esistono tecniche per trasformare un tipo in un altro (discretizzazione, variabili fittizie, ecc.). Tuttavia, esistono delle tecniche di modellazione predittiva progettate per gestire entrambi i tipi di input contemporaneamente senza semplicemente trasformare il tipo di funzionalità? In tal caso, queste tecniche di modellazione tendono a funzionare meglio sui dati per i quali si adattano meglio?

La cosa più vicina che conosco sarebbe che di solito gli alberi decisionali gestiscono bene i dati discreti e gestiscono i dati continui senza richiedere una discretizzazione anticipata . Tuttavia, questo non è proprio quello che stavo cercando poiché in realtà le divisioni sulle funzionalità continue sono solo una forma di discretizzazione dinamica.

Per riferimento, ecco alcune domande correlate, non duplicate:


1
Puoi dire di più su ciò che vuoi fare? Certamente, puoi usare la regressione multipla con covariate sia continue sia categoriche per costruire un modello predittivo. Questo è piuttosto elementare. Intendi invece prevedere più variabili di risposta (dove alcune sono cont e altre cat, ad esempio)?
gung - Ripristina Monica

@gung Come si fa la regressione multipla che coinvolge le covariate categoriche senza convertire in qualche modo la conversione dei predittori categorici in numeri?
Michael McGowan,

1
I "numeri" non significano nulla - non sono realmente numerici . In termini di come, si utilizza uno schema di codifica; la codifica delle celle di riferimento (in genere chiamata "codifica fittizia") è la più comune, ma esistono molti schemi. Questa è una buona risorsa per conoscere la varietà di schemi possibili. In R, ad esempio, in realtà non devi farlo, tuttavia, se includi un vettore o un carattere (ad es. Nomi), gestirà tutto per te.
gung - Ripristina Monica

2
Temo di non seguire ancora lo slancio dietro la domanda (sono un po 'lento). Le variabili categoriche non vengono "trasformate" o "convertite" in variabili numeriche; sono rappresentati da un 1, ma quell'1 non è realmente numerico. I predittori qualitativi non sono più numerici nella regressione multipla di quanto non siano negli alberi delle decisioni (es. CART), ad es. Da una prospettiva teorica, non c'è proprio niente lì; dal punto di vista pratico, se stai cercando di salvare alcune righe di codice, ad esempio, il software (R, ad esempio) lo farà spesso per te.
gung - Ripristina Monica

1
Abbastanza giusto, puoi spiegare cosa pensi ci sia (da una prospettiva teorica)? In che modo la codifica fittizia trasforma una variabile categoriale in una variabile significativamente numerica? Com'è possibile che ciò che fa CART consenta alla variabile di conservare la sua "categoricità", ma la codifica fittizia no? Non riesco a capire quali potrebbero essere le risposte a queste domande dalla tua domanda sopra, e non vedo il tuo post precedente.
gung - Ripristina Monica

Risposte:


6

Per quanto ne so, e ho studiato a fondo questo problema in passato, non ci sono tecniche di modellazione predittiva (oltre agli alberi, XgBoost, ecc.) Che sono progettate per gestire entrambi i tipi di input contemporaneamente senza semplicemente trasformare il tipo di funzionalità.

Si noti che algoritmi come Random Forest e XGBoost accettano un input di funzionalità miste, ma applicano una logica per gestirli durante la divisione di un nodo. Assicurati di comprendere la logica "sotto il cofano" e di essere a posto con qualsiasi cosa accada nella scatola nera.

u1u2fiod(u1,u2)fio=(dioS-cun'tegoriocun'l(u1,u2)fiofiod(u1,u2)fio=dioS-numerioc(u1,u2)fiofiofiou1u2

Alcune funzioni di distanza note per caratteristiche categoriche:

  • Levenshtien distance (o qualsiasi forma di "modifica distanza")

  • Metrica di sottosequenza comune più lunga

  • Distanza di Gower
  • E più metriche qui

5

So che è passato un po 'di tempo da quando questa domanda è stata pubblicata, ma se stai ancora esaminando questo problema (o problemi simili) potresti prendere in considerazione l'idea di utilizzare modelli di additivi generalizzati (GAM). Non sono un esperto, ma questi modelli ti consentono di combinare modelli diversi per creare una singola previsione. Il processo utilizzato per trovare i coefficienti per i modelli che hai inserito risolve tutti per una volta, quindi puoi inviare un modello di additivo generalizzato al tuo modello preferito per predittori categorici e al tuo modello preferito per predittori continui e ottenere un singolo modello che minimizza RSS o qualunque altro criterio di errore tu voglia usare.

In cima alla mia testa, l'unico pacchetto software che conosco ha un'implementazione di GAM è il linguaggio R, ma sono sicuro che ce ne sono altri.


SAS ha una procedura chiamata Proc Gam.
Alph,

1
La maggior parte dei principali pacchetti statistici (ad esempio, Stata) può probabilmente implementare GAM. Più precisamente, tuttavia, i GAM useranno codici fittizi per rappresentare le variabili categoriali come predittori. Non è chiaro cosa l'OP voglia cercare un modello che utilizza predittori categorici come categorici ma che non li rappresentino con codici fittizi, ma non è probabile che sia così.
gung - Ripristina Monica

Benvenuti nel CV. Nota che il tuo nome utente, identicon e un link alla tua pagina utente vengono aggiunti automaticamente a ogni post che pubblichi, quindi non è necessario firmare i tuoi post. In effetti, preferiamo che tu non lo faccia.
gung - Ripristina Monica

4

Mentre la discretizzazione trasforma i dati continui in dati discreti, è difficile affermare che variabili fittizie trasformano i dati categorici in dati continui. Infatti, poiché gli algoritmi possono essere eseguiti su computer, difficilmente può esistere un algoritmo di classificazione che NON trasforma i dati categorici in variabili fittizie.

Nello stesso senso un classificatore alla fine trasforma i suoi predittori in una variabile discreta che indica l'appartenenza alla classe (anche se genera una probabilità di classe, alla fine si sceglie un valore soglia). Di fatto molti classificatori come regressione logistica, foresta casuale, alberi delle decisioni e SVM funzionano tutti bene con entrambi i tipi di dati.

Ho il sospetto che sarebbe difficile trovare un algoritmo che funzioni con dati continui ma che non sia in grado di gestire dati categorici. Di solito tendo a scoprire che fa più differenza sul tipo di dati che hai sul lato sinistro del tuo modello.


2
No, il mio punto è che la regressione logistica e altri non "funzionano" nel senso che sto descrivendo con entrambi i tipi di dati. Richiedono che tu, almeno in un certo senso, tratti tutti i predittori come numeri o nessuno di essi come numeri. So, ad esempio, che spesso si ottengono grandi risultati con una regressione logistica codificando qualcosa come "genere" come 1 per "maschio" e 0 per "femmina". Tuttavia, mi chiedo se questo tipo di processo possa essere evitato con qualsiasi paradigma di modellazione noto.
Michael McGowan,

1

Questa è una profonda domanda filosofica che viene comunemente affrontata dal punto di vista statistico e dell'apprendimento automatico. Alcuni dicono che la categorizzazione è migliore per un indicatore da discreto a categoriale, in modo che i pacchetti possano facilmente digerire gli input del modello. Altri dicono che il binning può causare la perdita di informazioni, ma tuttavia le variabili categoriali possono / devono essere convertite in {1,0} variabili indicatore che tralasciano l'ultima classe per i residui del modello.

Il libro - La regressione lineare applicata (Kutner et al.) Menziona la logica dell'introduzione di variabili indicatore nel modello nei primi capitoli. Potrebbero esserci anche altri testi simili.

La mia opinione su questo potrebbe essere un po 'troppo inverosimile: se immaginiamo le variabili categoriali come blocchi in un disegno sperimentale, la variabile indicatore è un'estensione naturale dell'analisi dei dati non basata su esperimenti. Per quanto riguarda gli algoritmi di data mining (famiglie dell'albero delle decisioni), la categorizzazione è inevitabile (manualmente o automatizzata-binning) che deve essere alimentata al modello.

Quindi, potrebbe non esserci un modello specializzato per variabili numeriche e categoriali allo stesso modo (senza binning-numerical o usando indicatori-categorici).

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.