Esiste un algoritmo che combina classificazione e regressione?


25

Mi chiedo se c'è qualche algoritmo in grado di fare classificazione e regressione allo stesso tempo. Ad esempio, vorrei lasciare che l'algoritmo impari un classificatore e, allo stesso tempo, all'interno di ciascuna etichetta, impari anche un obiettivo continuo. Pertanto, per ogni esempio di formazione, ha un'etichetta categorica e un valore continuo.

Prima potrei addestrare un classificatore e poi formare un regressore all'interno di ciascuna etichetta, ma sto solo pensando che se esiste un algoritmo che potrebbe fare entrambe le cose, sarebbe meraviglioso.


Dai

@Tim, [finite-fixture-model] (un tag che hai usato qui) non ha un estratto. Vuoi fornirne uno?
ameba dice di reintegrare Monica il

Shudong, volevi dire "classificazione" o volevi dire "raggruppamento"? Hai chiesto informazioni sulla classificazione ma poi hai accettato la risposta di Tim che riguarda il raggruppamento.
ameba dice di reintegrare Monica il

@amoeba fatto, forse non è perfetto per qualcuno, un giorno migliorerà l'estratto.
Tim

@amoeba intendo la classificazione. La risposta di Tims è qualcosa di vicino. Non ci sono altre risposte. Forse dovrei aspettare un po '?
Shudong,

Risposte:


35

Il problema che stai descrivendo può essere risolto dalla regressione di classe latente , o regressione a livello di cluster , o dalla sua miscela di estensione di modelli lineari generalizzati che sono tutti membri di una più ampia famiglia di modelli di miscela finita o modelli di classe latente .

Non è una combinazione di classificazione (apprendimento supervisionato) e regressione in , ma piuttosto di raggruppamento (apprendimento non supervisionato) e regressione. L'approccio di base può essere esteso in modo da prevedere l'appartenenza alla classe utilizzando variabili concomitanti, ciò che lo rende ancora più vicino a ciò che stai cercando. In effetti, l'utilizzo di modelli di classe latenti per la classificazione è stato descritto da Vermunt e Magidson (2003) che lo raccomandano per tale scopo.

Regressione della classe latente

Questo approccio è sostanzialmente un modello di miscela finita (o analisi di classe latente ) nella forma

f(yx,ψ)=k=1Kπkfk(yx,ϑk)

dove è un vettore di tutti i parametri e sono componenti della miscela parametrizzati da e ogni componente appare con proporzioni latenti . Quindi l'idea è che la distribuzione dei tuoi dati sia una miscela di componenti , ognuno dei quali può essere descritto da un modello di regressione appare con probabilità . I modelli di miscele finite sono molto flessibili nella scelta dei componenti di e possono essere estesi ad altre forme e miscele di diverse classi di modelli (ad es. Miscele di analizzatori di fattori).f k ϑ k π k K f k π k f kψ=(π,ϑ)fkϑkπkKfkπkfk

Previsione della probabilità di appartenenza alla classe in base a variabili concomitanti

Il semplice modello di regressione della classe latente può essere esteso per includere variabili concomitanti che predicono l'appartenenza alla classe (Dayton e Macready, 1998; vedi anche: Linzer e Lewis, 2011; Grun e Leisch, 2008; McCutcheon, 1987; Hagenaars e McCutcheon, 2009) , in tal caso il modello diventa

f(yx,w,ψ)=k=1Kπk(w,α)fk(yx,ϑk)

dove di nuovo è un vettore di tutti i parametri, ma includiamo anche variabili concomitanti e una funzione (ad es. logistica) che viene utilizzata per prevedere le proporzioni latenti in base alle variabili concomitanti. Quindi puoi prima prevedere la probabilità di appartenenza alla classe e stimare la regressione del cluster all'interno di un singolo modello.w π k ( w , α )ψwπk(w,α)

Pro e contro

La cosa interessante è che si tratta di una tecnica di clustering basata su modello , il che significa che si adattano i modelli ai dati e tali modelli possono essere confrontati utilizzando metodi diversi per il confronto dei modelli (test del rapporto di verosimiglianza, BIC, AIC ecc. ), quindi la scelta del modello finale non è così soggettiva come con l'analisi dei cluster in generale. Frenare il problema in due problemi indipendenti del clustering e quindi applicare la regressione può portare a risultati distorti e la stima di tutto in un singolo modello consente di utilizzare i dati in modo più efficiente.

Il rovescio della medaglia è che devi fare una serie di ipotesi sul tuo modello e pensarci su, quindi non è un metodo black-box che prenderà semplicemente i dati e restituirà alcuni risultati senza disturbarti. Con dati rumorosi e modelli complicati puoi anche avere problemi di identificabilità del modello. Inoltre, poiché tali modelli non sono così popolari, non sono ampiamente implementati (è possibile controllare grandi pacchetti R flexmixe poLCA, per quanto ne so, è anche implementato in SAS e Mplus in una certa misura), ciò che ti rende dipendente dal software.

Esempio

Di seguito è possibile vedere un esempio di tale modello dalla flexmixlibreria (Leisch, 2004; Grun e Leisch, 2008) che adatta la combinazione di due modelli di regressione ai dati inventati.

library("flexmix")
data("NPreg")
m1 <- flexmix(yn ~ x + I(x^2), data = NPreg, k = 2)
summary(m1)
## 
## Call:
## flexmix(formula = yn ~ x + I(x^2), data = NPreg, k = 2)
## 
##        prior size post>0 ratio
## Comp.1 0.506  100    141 0.709
## Comp.2 0.494  100    145 0.690
## 
## 'log Lik.' -642.5452 (df=9)
## AIC: 1303.09   BIC: 1332.775 
parameters(m1, component = 1)
##                      Comp.1
## coef.(Intercept) 14.7171662
## coef.x            9.8458171
## coef.I(x^2)      -0.9682602
## sigma             3.4808332
parameters(m1, component = 2)
##                       Comp.2
## coef.(Intercept) -0.20910955
## coef.x            4.81646040
## coef.I(x^2)       0.03629501
## sigma             3.47505076

È visualizzato sui seguenti grafici (le forme dei punti sono le vere classi, i colori sono le classificazioni).

Esempio di regressione di classe latente

Riferimenti e risorse aggiuntive

Per ulteriori dettagli è possibile consultare i seguenti libri e documenti:

Wedel, M. e DeSarbo, WS (1995). Un approccio di verosimiglianza della miscela per modelli lineari generalizzati. Journal of Classification, 12 , 21–55.

Wedel, M. e Kamakura, WA (2001). Segmentazione del mercato - Fondamenti concettuali e metodologici. Editori accademici di Kluwer.

Leisch, F. (2004). Flexmix: un quadro generale per modelli di miscele finite e regressione del vetro latente in R. Journal of Statistical Software, 11 (8) , 1-18.

Grun, B. e Leisch, F. (2008). FlexMix versione 2: miscele finite con variabili concomitanti e parametri variabili e costanti. Journal of Statistical Software, 28 (1) , 1-35.

McLachlan, G. e Peel, D. (2000). Modelli a miscela finita. John Wiley & Sons.

Dayton, CM e Macready, GB (1988). Modelli con classe latente concomitanti variabili. Journal of American Statistical Association, 83 (401), 173-178.

Linzer, DA e Lewis, JB (2011). poLCA: un pacchetto R per l'analisi delle classi latenti variabili politomiche. Journal of Statistical Software, 42 (10), 1-29.

McCutcheon, AL (1987). Analisi della classe latente. Saggio.

Hagenaars JA e McCutcheon, AL (2009). Analisi di classe latente applicata. Cambridge University Press.

Vermunt, JK e Magidson, J. (2003). Modelli di classe latenti per la classificazione. Statistiche computazionali e analisi dei dati, 41 (3), 531-537.

Grün, B. e Leisch, F. (2007). Applicazioni di miscele finite di modelli di regressione. vignetta del pacchetto flexmix.

Grün, B., & Leisch, F. (2007). Adattamento di miscele finite di regressioni lineari generalizzate in R. Statistiche computazionali e analisi dei dati, 51 (11), 5247-5252.

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.