Domanda:
Classificazione vs. regressione per la previsione del segno di una variabile di risposta continua
user2303
2013-02-14 03:58:58 UTC
view on stackexchange narkive permalink

Diciamo che voglio prevedere se un progetto sarà redditizio o meno. Nei miei dati di esempio, la variabile di risposta è in realtà una variabile continua: il $ profitto / perdita del progetto.

Poiché il mio obiettivo finale è solo una classificazione binaria (progetto redditizio o progetto non redditizio), dovrei usare una tecnica di classificazione? O dovrei usare la regressione in modo da non buttare via le informazioni aggiuntive fornite da una variabile di risposta continua?

Cinque risposte:
Frank Harrell
2013-02-14 04:53:07 UTC
view on stackexchange narkive permalink

Non riesco a pensare a un esempio in cui consiglierei una tecnica di classificazione quando la variabile è continua o ordinale. Dopo aver adattato in modo efficiente un modello continuo, è possibile utilizzare tale modello per stimare la probabilità che $ Y $ superi qualsiasi livello di interesse. Se il modello è gaussiano, questa probabilità è una funzione della media prevista e della deviazione standard residua.

Un esempio (come indicato di seguito) è se il costo di una previsione errata è lo stesso per tutti i livelli di redditività. Cioè. quando hai una variabile continua, ma sei veramente interessato solo ai valori discreti. Una spline con n nodi regrediti alla variabile continua può mettere molti nodi sui valori estremi per modellare accuratamente la forma dei dati lì, mentre una spline ottimizzata per la classificazione può mettere tutti i suoi nodi intorno a 0.
Dikran Marsupial
2013-02-19 19:02:06 UTC
view on stackexchange narkive permalink

Vladimir Vapnik (co-inventore della Support Vector Machine e uno dei principali teorici dell'apprendimento computazionale) sostiene di cercare sempre di risolvere il problema direttamente, piuttosto che risolvere un problema più generale e quindi scartare alcune delle informazioni fornite dalla soluzione. Sono generalmente d'accordo con questo, quindi suggerirei un approccio di classificazione per il problema come si pone attualmente . La ragione di ciò è che se siamo interessati solo a classificare un progetto come redditizio o non redditizio, allora siamo davvero interessati solo alla regione in cui la redditività è intorno allo zero. Se formiamo un modello di classificazione, è qui che concentreremo le nostre risorse di modellazione. Se adottiamo un approccio di regressione, potremmo sprecare risorse di modellazione per apportare piccoli miglioramenti nelle prestazioni per progetti che saranno molto redditizi o non redditizi, potenzialmente a scapito del miglioramento delle prestazioni dei progetti limite.

Ora il La ragione per cui ho detto "come attualmente posto" è che pochissimi problemi in realtà implicano una classificazione binaria semplice e rigida (il riconoscimento ottico dei caratteri sarebbe probabilmente uno). Generalmente diversi tipi di classificazione errata hanno costi diversi, o le frequenze delle classi operative possono essere sconosciute, o variabili, ecc. In questi casi è meglio avere un classificatore probabilistico, come la regressione logistica, piuttosto che un SVM. Se mi sembra che per un'applicazione finanziaria, faremo meglio se conosciamo la probabilità che il progetto sia redditizio e quanto sia redditizio o meno. Potremmo essere disposti a finanziare un progetto che ha una piccola possibilità di essere redditizio, ma enormemente redditizio se dovesse avere successo, ma non un progetto che è quasi garantito per avere successo, ma che avrà un margine di profitto così piccolo che saremmo noi meglio mettere i soldi in un conto di risparmio.

Quindi Frank e Omri374 hanno ragione entrambi! (+1; o)

EDIT: per chiarire perché la regressione potrebbe non essere sempre un buon approccio per risolvere un problema di classificazione, ecco un esempio. Supponiamo di avere tre progetti, con redditività $ \ vec {y} = (- \ $ 1000, + \ $ 1, + \ $ 1000) $, e per ogni progetto, abbiamo una variabile esplicativa che speriamo sia indicativa di redditività, $ \ vec {x} = (1, 2, 10) $. Se adottiamo un approccio di regressione (con offset), otteniamo i coefficienti di regressione $ \ beta_0 = -800.8288 $ e $ \ beta_1 = 184.8836 $ (a condizione di aver fatto le somme correttamente!). Il modello prevede quindi che i progetti producano profitti $ \ hat {y} _1 \ approx - \ $ 616 $, $ \ hat {y} _2 \ approx - \ $ 431 $ e $ \ hat {y} _3 \ approx \ $ 1048 $. Si noti che il secondo progetto è previsto erroneamente come non redditizio. Se d'altra parte, adottiamo un approccio di classificazione e regrediamo invece su $ \ vec {t} = 2 * (y > = 0) - 1 $, otteniamo i coefficienti di regressione $ \ beta_0 = -0,2603 $ e $ \ beta_1 = 0.1370 $, che assegna un punteggio ai tre progetti come segue: $ \ hat {t} _1 = -0.1233 $, $ \ hat {t} _2 = 0.0137 $ e $ \ hat {t} _3 = 1.1096 $. Quindi un approccio di classificazione classifica correttamente il progetto 1 come non redditizio e gli altri due come redditizi.

Il motivo per cui questo accade è che un approccio di regressione cerca ugualmente di ridurre al minimo la somma degli errori al quadrato per ciascuno dei dati punti. In questo caso, un SSE inferiore si ottiene consentendo al progetto due di cadere dal lato sbagliato del confine di decisione, in modo da ottenere errori inferiori sugli altri due punti.

Quindi Frank ha ragione quando dice che un approccio di regressione è probabilmente un buon approccio nella pratica, ma se la classificazione è effettivamente l'obiettivo finale, ci sono situazioni in cui può funzionare male e un approccio di classificazione funzionerà meglio.

Non posso seguire quella logica. Un modello di classificazione indebolisce le relazioni nei dati e un modello continuo non richiede più risorse di modellazione. Un modello continuo tiene conto del fatto che un profitto di \ $ 1 (sebbene "redditizio") è molto diverso da un profitto di \ $ 1 miliardo. Un modello di classificazione è una scelta forzata in cui "nessuna scelta" (zona grigia) non è un'opzione. E l'inefficienza statistica dei modelli binari rispetto a quelli continui è sorprendente. È sempre possibile utilizzare un modello continuo per stimare Prob $ [Y> 0 | X] $ al termine.
Se un modello continuo richiede più risorse di un modello di classificazione dipende dal tipo di modello che è (ad esempio un modello di rete neurale potrebbe utilizzare le sue unità nascoste per modellare le caratteristiche vicino al confine o potrebbe usarle per migliorare l'adattamento lontano dal confine) . Lo stesso vale in misura minore per i pesi di un modello lineare, in cui i valori adattati possono essere dominati da punti di leva elevati che non sono neanche lontanamente vicini al confine, il che potrebbe essere una cosa negativa se la classificazione semplice fosse effettivamente ciò che è importante.
Il tuo secondo punto sulla redditività sembra essere essenzialmente il motivo per cui sto descrivendo nel mio secondo paragrafo (il vero problema probabilmente non è in realtà una semplice classificazione difficile), motivo per cui ho detto che sia tu che omri374 avevate ragione.
"Near the borderline" è sconosciuto a un classificatore a cui non sono stati forniti i valori $ Y $ continui.
I sistemi di classificazione sono stati utilizzati per individuare il confine decisionale utilizzando etichette discrete per molto tempo. Ti manca il punto, in realtà sono per lo più d'accordo con ciò che hai scritto, con l'avvertenza che il modello può essere influenzato da punti di leva elevati che non sono vicini al confine decisionale, il che può ridurre le prestazioni * se * la classificazione è effettivamente la obiettivo (che è relativamente raro nella pratica). Ho visto questo fenomeno nel mio lavoro applicato nel corso degli anni, ma utilizzo ancora spesso modelli di regressione per risolvere da solo i problemi di classificazione. Chiedi al Prof. Vapnik.
Grazie. Il mio obiettivo è non consentire punti di leva così elevati, motivo per cui preferisco i metodi basati sui ranghi semiparametrici o la regressione parametrica robusta. Credo che l'esempio $ x = [1,2,10] $ sopra sia fuorviante. Il modello di regressione sta facendo esattamente la cosa giusta, è solo che fornisce stime smussate perché il modello non è saturo.
Il modello di regressione non sta facendo la cosa giusta se l'obiettivo è la classificazione poiché ottiene il confine della decisione errato. L'esempio che ho fornito non è in alcun modo fuorviante, ma solo un'illustrazione del potenziale problema con un approccio basato sulla regressione, ovvero che non minimizza necessariamente l'errore del modello al limite. Si noti che l'SVM, uno dei migliori metodi di classificazione attualmente disponibili, per il quale c'è stata una notevole quantità di lavoro teorico, utilizza solo i dati vicino al confine decisionale e ignora il resto.
Peter
2013-02-20 20:31:44 UTC
view on stackexchange narkive permalink

Dopo aver letto i commenti, penso che la seguente distinzione sia ciò che manca dalla discussione:

Come modellare il problema

Questo non ha niente da fare con quale tecnica usare. È la questione di quali siano gli input e gli output e come valutare il risultato.

Se ti interessa veramente solo se i nostri progetti sono redditizi o meno e l'importo di cui lo sono è assolutamente irrilevante, allora dovresti modellarlo come un problema di classificazione. Ciò significa che alla fine stai ottimizzando il tasso atteso di corretta classificazione (accuratezza) o AUC. Ciò in cui si traduce questa ottimizzazione dipende dalla tecnica utilizzata.

Tutte le domande sulla scelta del modello e sugli algoritmi di ricerca possono essere affrontate in modo euristico (usando gli argomenti che sono stati presentati nelle altre risposte e commenti) ma la prova definitiva del budino è nel mangiare. Qualunque modello tu abbia, valuterai l'accuratezza mediante test con convalida incrociata, quindi la precisione è ciò che ottimizzi.

Come risolvere il problema

Puoi utilizzare qualsiasi metodo che si adatta al paradigma di classificazione. Dato che hai una variabile y continua, puoi fare una regressione su quella e tradurre in una classificazione binaria. Probabilmente funzionerà bene. Tuttavia, non vi è alcuna garanzia che il modello di regressione ottimale (per somma di errori al quadrato o massima verosimiglianza o altro) fornirà anche il modello di classificazione ottimale (per accuratezza o AUC).

+1 come massima generale, suggerirei che il primo compito è avere un'idea chiara del problema da risolvere, e il secondo è affrontare il problema con il metodo che dà la risposta più diretta alla domanda che è effettivamente essere chiesto. Questa è una leggera generalizzazione della massima di Vapnik, ma solo molto lieve!
Formulare il problema in questo modo non implica ancora che la dicotomia $ Y $ sia l'approccio giusto. Come ho detto altrove, puoi calcolare la probabilità che $ Y> 0 $ date le stime del coefficiente di regressione ottimale da un modello continuo.
Nota che non sto dicendo che dovresti necessariamente buttare via o ignorare i valori y continui. Ma c'è una differenza tra il loro utilizzo in un classificatore e l'ottimizzazione per l'accuratezza della regressione (si ** modella ** il problema come classificazione, ma lo ** si risolve ** con la regressione). Può darsi che la tua migliore soluzione sia un metodo di regressione, ma dovresti dimostrarlo valutandolo come un classificatore. E ci sono situazioni in cui buttare via i valori continui e usare solo i valori discretizzati, ti darà prestazioni migliori.
Valutarlo come un classificatore implica che la tua funzione di utilità è discontinua, il che non mi sembra realistico. Implica anche che le decisioni binarie siano forzate, cioè non ci sono categorie di "nessuna decisione, ottieni più dati". Ho creato esempi in cui l'accuratezza della classificazione diminuisce dopo aver aggiunto una variabile molto importante al modello. Il problema non è con la variabile; è con la misura di precisione.
Sebbene sia vero che * puoi * determinare il confine di decisione se hai la probabilità che $ Y> 0 $, il problema è che la stima di questa probabilità è un problema di stima più difficile della semplice stima del confine di decisione. Poiché generalmente disponiamo di una quantità finita di dati, l'ulteriore difficoltà di stima significa che l'approccio dicotomizzante funziona meglio nella pratica. Questa è l'idea alla base dell'SVM, che ha dimostrato la sua validità in un'ampia varietà di problemi di classificazione.
Potrei perdere parte del tuo punto, ma ho la sensazione che ciò che consigli sia la determinazione del confine decisionale post facto rispetto alla definizione di una funzione di perdita / utilità / costo e all'ottimizzazione. Le decisioni ottimali in genere utilizzano quest'ultimo e richiedono un condizionamento completo (nessuna dicotomizzazione). La dicotomizzazione sembra essere più facile e funzionare meglio, ma è in gran parte un miraggio.
Omri374
2013-02-19 15:13:39 UTC
view on stackexchange narkive permalink

Un modello di classificazione generalmente tenta di ridurre al minimo il segno (errore in termini di classe) e non il bias. In caso di molti valori anomali, ad esempio, preferirei utilizzare un modello di classificazione e non un modello di regressione.

Ciò non segue e sarà terribilmente inefficiente. È possibile utilizzare un modello continuo robusto che include un modello semiparametrico come il modello a quote proporzionali.
Peter
2013-02-19 19:19:29 UTC
view on stackexchange narkive permalink

Definirei il problema come quello di ridurre al minimo le perdite. La domanda è: qual è la tua vera funzione di perdita? Una previsione errata di redditività quando il progetto ha perso \ $ 1 costa quanto una previsione di redditizio quando il progetto ha perso \ $ 1000? In quel caso la tua funzione di perdita è veramente binaria, e sei meglio considerare l'intera cosa come un problema di classificazione. La funzione di regressione può ancora essere uno dei tuoi classificatori candidati, ma dovresti ottimizzarla con la funzione di perdita discreta piuttosto che con quella continua. Se hai una definizione più complicata di perdita, dovresti provare a formalizzarla e vedere cosa ottieni se prendi la derivata.

È interessante notare che molti metodi di apprendimento automatico in realtà ottimizzano una funzione di perdita discreta approssimando con uno continuo, poiché una funzione di perdita discreta fornisce scarsi gradienti per l'ottimizzazione. Quindi potresti finire per considerarlo un problema di classificazione, poiché questa è la tua funzione di perdita, ma quindi approssimare quella funzione di perdita con quella continua originale.

Questo non racconta l'intera storia. Con la regressione gaussiana lo stimatore di massima verosimiglianza di Prob $ [Y> 0 | X] $ è una funzione della media prevista e della varianza residua.
Interessante. Ma il ML non è affatto l'obiettivo finale, ovvero precisione o AUC. Se stai ottimizzando la probabilità (o SSE), potresti finire per "spendere la complessità del modello" per modellare artefatti di dati che non contano. Un modello equivalente può effettivamente ridurre l'accuratezza della sua modellazione per concentrarsi sul miglioramento dell'accuratezza della classificazione.
Dipende da cosa si intende per "accuratezza" e l'AUC è raramente una quantità appropriata da ottimizzare a causa della sua funzione di perdita implicita. Non è necessario spendere la complessità del modello in artefatti se si esegue correttamente la modellazione continua. La proporzione classificata corretta è una regola di punteggio impropria ottimizzata da un modello fasullo. Se 0,99 delle aziende sono redditizie in un buon anno, avresti ragione a 0,99 ignorando tutti i dati $ X $ e classificando semplicemente tutte le società come redditizie. L'utilizzo di predittori preziosi (in qualsiasi senso diverso dalla classificazione) può effettivamente ridurre l'accuratezza della classificazione.
Sono d'accordo con i tuoi dubbi sull'AUC. Per accuratezza, intendo la proporzione classificata correttamente. Sono d'accordo sul fatto che sia improbabile che il poster sia veramente interessato solo alle variabili binarie e sospetto che effettivamente l'ammontare del profitto realizzato abbia un ruolo. Ma se la classificazione discreta è davvero l'unica preoccupazione, non vedo nient'altro da ottimizzare se non una misura di classificazione. E se le tue classi sono così fortemente sbilanciate verso la classe redditizia, ignorare i dati e classificarli sempre come redditizi sarà davvero una base difficile da battere.
La proporzione classificata correttamente ha prestazioni anche peggiori dell'AUC. È stato dimostrato nella letteratura tedesca sul processo decisionale negli anni '70 che l'accuratezza della classificazione è una regola di punteggio impropria. Se ti interessa una classificazione discreta, puoi ottenerla all'ultimo secondo. Le decisioni ottimali di Bayes utilizzano il condizionamento completo su tutte le informazioni disponibili.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...