Existe-t-il un algorithme combinant classification et régression?

25

Je me demande s'il y a un algorithme qui pourrait faire la classification et la régression en même temps. Par exemple, je voudrais laisser l'algorithme apprendre un classificateur, et en même temps dans chaque étiquette, il apprend également une cible continue. Ainsi, pour chaque exemple de formation, il a une étiquette catégorielle et une valeur continue.

Je pourrais d'abord former un classificateur, puis former un régresseur dans chaque étiquette, mais je pense simplement que s'il y a un algorithme qui pourrait faire les deux, ce serait merveilleux.

Shudong
la source
Jetez un œil au partitionnement récursif sans
biais
@Tim, [finite-fixture-model] (une balise que vous avez utilisée ici) n'a pas d'extrait. Voulez-vous en fournir un?
amibe dit Réintégrer Monica
Shudong, vouliez-vous dire «classification» ou vouliez-vous dire «regroupement»? Vous avez posé des questions sur la classification, mais avez ensuite accepté la réponse de Tim qui concerne le regroupement.
amibe dit Réintégrer Monica
@amoeba fait, ce n'est pas parfait, peut-être que quelqu'un améliorera un jour l'extrait.
Tim
@amoeba je veux dire la classification. La réponse de Tims est quelque chose de proche. Il n'y a pas d'autre réponse. Peut-être que je devrais attendre un peu?
Shudong

Réponses:

35

Le problème que vous décrivez peut être résolu par la régression de classe latente , ou la régression par cluster , ou son mélange d' extension de modèles linéaires généralisés qui sont tous membres d'une famille plus large de modèles de mélange fini , ou modèles de classe latente .

Ce n'est pas une combinaison de classification (apprentissage supervisé) et de régression en soi , mais plutôt de regroupement (apprentissage non supervisé) et de régression. L'approche de base peut être étendue afin que vous puissiez prédire l'appartenance à la classe à l'aide de variables concomitantes, ce qui le rend encore plus proche de ce que vous recherchez. En fait, l'utilisation de modèles de classes latentes pour la classification a été décrite par Vermunt et Magidson (2003) qui le recommandent à cette fin.

Régression de classe latente

Cette approche est essentiellement un modèle de mélange fini (ou analyse de classe latente ) sous forme

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

où est un vecteur de tous les paramètres et sont des composants de mélange paramétrés par , et chaque composant apparaît avec des proportions latentes . L'idée est donc que la distribution de vos données est un mélange de composants, chacun pouvant être décrit par un modèle de régression apparaissant avec probabilité . Les modèles à mélange fini sont très flexibles dans le choix des composants et peuvent être étendus à d'autres formes et mélanges de différentes classes de modèles (par exemple, mélanges d'analyseurs de facteurs).f k ϑ k π k K f k π k f kψ=(π,ϑ)fkϑkπkKfkπkfk

Prédire la probabilité d'appartenance à une classe sur la base de variables concomitantes

Le modèle de régression de classe latente simple peut être étendu pour inclure des variables concomitantes qui prédisent les adhésions à la classe (Dayton et Macready, 1998; voir aussi: Linzer et Lewis, 2011; Grun et Leisch, 2008; McCutcheon, 1987; Hagenaars et McCutcheon, 2009) , dans ce cas, le modèle devient

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

où encore est un vecteur de tous les paramètres, mais nous incluons également des variables concomitantes et une fonction (par exemple logistique) qui est utilisée pour prédire les proportions latentes basées sur les variables concomitantes. Ainsi, vous pouvez d'abord prédire la probabilité d'appartenance à une classe et estimer la régression par grappes dans un modèle unique.w π k ( w , α )ψwπk(w,α)

Avantages et inconvénients

Ce qui est bien, c'est que c'est une technique de clustering basée sur un modèle , ce qui signifie que vous ajustez des modèles à vos données, et ces modèles peuvent être comparés en utilisant différentes méthodes pour la comparaison de modèles (tests de rapport de vraisemblance, BIC, AIC etc. ), le choix du modèle final n'est donc pas aussi subjectif que pour l'analyse de grappes en général. Le fait de freiner le problème en deux problèmes indépendants de clustering puis d'appliquer la régression peut conduire à des résultats biaisés et tout estimer dans un même modèle vous permet d'utiliser vos données plus efficacement.

L'inconvénient est que vous devez faire un certain nombre d'hypothèses sur votre modèle et y réfléchir, donc ce n'est pas une méthode de boîte noire qui prendra simplement les données et retournera un résultat sans vous déranger. Avec des données bruyantes et des modèles compliqués, vous pouvez également rencontrer des problèmes d'identification des modèles. De plus, comme ces modèles ne sont pas si populaires, ils ne sont pas largement mis en œuvre (vous pouvez vérifier d'excellents packages R flexmixet poLCA, pour autant que je sache, ils sont également implémentés dans SAS et Mplus dans une certaine mesure), ce qui vous rend dépendant du logiciel.

Exemple

Ci-dessous, vous pouvez voir un exemple d'un tel modèle de la flexmixbibliothèque (Leisch, 2004; Grun et Leisch, 2008), vignette ajustant un mélange de deux modèles de régression à des données composées.

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

Il est visualisé sur les graphiques suivants (les formes de points sont les vraies classes, les couleurs sont les classifications).

Exemple de régression de classe latente

Références et ressources supplémentaires

Pour plus de détails, vous pouvez consulter les livres et articles suivants:

Wedel, M. et DeSarbo, WS (1995). Une approche de vraisemblance de mélange pour les modèles linéaires généralisés. Journal of Classification, 12 , 21–55.

Wedel, M. et Kamakura, WA (2001). Segmentation du marché - Fondements conceptuels et méthodologiques. Éditeurs universitaires Kluwer.

Leisch, F. (2004). Flexmix: A general framework for finite mixture models and latent glass regression in R. Journal of Statistical Software, 11 (8) , 1-18.

Grun, B. et Leisch, F. (2008). FlexMix version 2: mélanges finis avec variables concomitantes et paramètres variables et constants. Journal of Statistical Software, 28 (1) , 1-35.

McLachlan, G. et Peel, D. (2000). Modèles de mélanges finis. John Wiley & Sons.

Dayton, CM et Macready, GB (1988). Modèles à classe latente à variable concomitante. Journal de l'American Statistical Association, 83 (401), 173-178.

Linzer, DA et Lewis, JB (2011). poLCA: Un package R pour l'analyse de classe latente variable polytomique. Journal of Statistical Software, 42 (10), 1-29.

McCutcheon, AL (1987). Analyse de classe latente. Sauge.

Le juge Hagenaars et McCutcheon, AL (2009). Analyse de classe latente appliquée. La presse de l'Universite de Cambridge.

Vermunt, JK et Magidson, J. (2003). Modèles de classes latentes pour la classification. Statistiques computationnelles et analyse des données, 41 (3), 531-537.

Grün, B. et Leisch, F. (2007). Applications de mélanges finis de modèles de régression. vignette du package flexmix.

Grün, B. et Leisch, F. (2007). Ajustement de mélanges finis de régressions linéaires généralisées dans R. Computational Statistics & Data Analysis, 51 (11), 5247-5252.

Tim
la source