Existe algum algoritmo que combina classificação e regressão?

25

Gostaria de saber se existe algum algoritmo que possa fazer classificação e regressão ao mesmo tempo. Por exemplo, eu gostaria de deixar o algoritmo aprender um classificador e, ao mesmo tempo, em cada rótulo, ele também aprende um alvo contínuo. Assim, para cada exemplo de treinamento, ele possui um rótulo categórico e um valor contínuo.

Eu poderia treinar um classificador primeiro e depois treinar um regressor em cada rótulo, mas só estou pensando que, se houver um algoritmo que possa fazer as duas coisas, seria maravilhoso.

Shudong
fonte
Dê uma olhada no Particionamento recursivo imparcial
#
@ Tim, [modelo de fixação finita] (uma tag que você usou aqui) não possui um trecho. Gostaria de fornecer um?
Ameba diz Reinstate Monica
Shudong, você quis dizer "classificação" ou "agrupamento"? Você perguntou sobre classificação, mas aceitou a resposta de Tim, que é sobre agrupamento.
Ameba diz Reinstate Monica
@amoeba, não é perfeito, talvez alguém, algum dia irá melhorar o trecho.
Tim
@amoeba Quero dizer classificação. A resposta do Tims é algo próximo. Não há outras respostas. Talvez eu deva esperar um pouco?
Shudong

Respostas:

35

O problema que você está descrevendo pode ser resolvido por regressão de classe latente , ou regressão em cluster , ou é uma mistura de extensão de modelos lineares generalizados que são todos membros de uma família mais ampla de modelos de mistura finita ou modelos de classe latente .

Não é uma combinação de classificação (aprendizado supervisionado) e regressão em si , mas de agrupamento (aprendizado não supervisionado) e regressão. A abordagem básica pode ser estendida para que você preveja a associação da classe usando variáveis ​​concomitantes, o que a torna ainda mais próxima do que você está procurando. De fato, o uso de modelos de classes latentes para classificação foi descrito por Vermunt e Magidson (2003), que o recomendam para esse objetivo.

Regressão de classe latente

Essa abordagem é basicamente um modelo de mistura finita (ou análise de classe latente ) na forma

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

onde é um vetor de todos os parâmetros ef k são componentes da mistura parametrizados por ϑ k , e cada componente aparece com proporções latentes π k . Portanto, a ideia é que a distribuição de seus dados seja uma mistura de componentes K , cada um que possa ser descrito por um modelo de regressão f k aparecendo com probabilidade π k . Modelos de mistura finita são muito flexíveis na escolha de f kψ=(π,ϑ)fkϑkπkKfkπkfk componentes e pode ser estendido a outras formas e misturas de diferentes classes de modelos (por exemplo, misturas de analisadores de fatores).

Previsão da probabilidade de participação em turmas com base em variáveis ​​concomitantes

O modelo simples de regressão de classe latente pode ser estendido para incluir variáveis ​​concomitantes que preveem a participação na turma (Dayton e Macready, 1998; ver também: Linzer e Lewis, 2011; Grun e Leisch, 2008; McCutcheon, 1987; Hagenaars e McCutcheon, 2009) , nesse caso, o modelo se torna

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

ψWπk(W,α)

Prós e contras

O que é interessante nisso é que é uma técnica de clustering baseada em modelo , o que significa que você ajusta modelos aos seus dados e esses modelos podem ser comparados usando métodos diferentes para comparação de modelos (testes de razão de verossimilhança, BIC, AIC etc.) ), portanto, a escolha do modelo final não é tão subjetiva quanto na análise de cluster em geral. Travar o problema em dois problemas independentes de agrupamento e, em seguida, aplicar a regressão pode levar a resultados tendenciosos e estimar tudo em um único modelo permite que você use seus dados com mais eficiência.

A desvantagem é que você precisa fazer uma série de suposições sobre o seu modelo e pensar um pouco, por isso não é um método de caixa preta que simplesmente pegue os dados e retorne algum resultado sem incomodá-lo. Com dados ruidosos e modelos complicados, você também pode ter problemas de identificação de modelo. Além disso, como esses modelos não são tão populares, não são amplamente implementados (você pode verificar ótimos pacotes R flexmixe poLCA, tanto quanto sei, também são implementados no SAS e no Mplus em certa medida), o que o torna dependente de software.

Exemplo

Abaixo, você pode ver um exemplo desse modelo a partir da combinação de vinheta da flexmixbiblioteca (Leisch, 2004; Grun e Leisch, 2008) de dois modelos de regressão para dados inventados.

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

É visualizado nos seguintes gráficos (as formas de pontos são as classes verdadeiras, as cores são as classificações).

Exemplo de regressão de classe latente

Referências e recursos adicionais

Para mais detalhes, consulte os seguintes livros e documentos:

Wedel, M. e DeSarbo, WS (1995). Uma abordagem de probabilidade de mistura para modelos lineares generalizados. Journal of Classification, 12 , 21–55.

Wedel, M. e Kamakura, WA (2001). Segmentação de Mercado - Fundamentos Conceituais e Metodológicos. Editores acadêmicos da Kluwer.

Leisch, F. (2004). Flexmix: Uma estrutura geral para modelos de mistura finita e regressão de vidro latente em R. Journal of Statistical Software, 11 (8) , 1-18.

Grun, B. e Leisch, F. (2008). FlexMix versão 2: misturas finitas com variáveis ​​concomitantes e parâmetros variáveis ​​e constantes. Journal of Statistical Software, 28 (1) , 1-35.

McLachlan, G. e Peel, D. (2000). Modelos de Mistura Finita. John Wiley & Sons.

Dayton, CM e Macready, GB (1988). Modelos de classe latente com variável concomitante. Jornal da Associação Estatística Americana, 83 (401), 173-178.

Linzer, DA e Lewis, JB (2011). poLCA: Um pacote R para análise de classe latente de variáveis ​​politômicas. Journal of Statistical Software, 42 (10), 1-29.

McCutcheon, AL (1987). Análise de Classe Latente. Sábio.

Hagenaars JA e McCutcheon, AL (2009). Análise de Classe Latente Aplicada. Cambridge University Press.

Vermunt, JK e Magidson, J. (2003). Modelos de classes latentes para classificação. Estatística Computacional e Análise de Dados, 41 (3), 531-537.

Grün, B. e Leisch, F. (2007). Aplicações de misturas finitas de modelos de regressão. vinheta do pacote flexmix.

Grün, B. & Leisch, F. (2007). Ajustando misturas finitas de regressões lineares generalizadas em R. Computational Statistics & Data Analysis, 51 (11), 5247-5252.

Tim
fonte