Есть ли алгоритм, сочетающий классификацию и регрессию?

25

Мне интересно, если какой-либо алгоритм может сделать классификацию и регрессию одновременно. Например, я бы хотел, чтобы алгоритм изучал классификатор, и в то же время внутри каждой метки он также изучал непрерывную цель. Таким образом, для каждого примера обучения он имеет категориальную метку и непрерывное значение.

Я мог бы сначала подготовить классификатор, а затем обучить регрессор для каждого ярлыка, но я просто думаю, что если бы существовал алгоритм, который мог бы выполнять оба этих действия, это было бы замечательно.

Shudong
источник
Посмотрите на беспристрастное рекурсивное разбиение
adrian1121
@Tim, [finite-fixture-model] (тег, который вы здесь использовали) не имеет выдержки. Хотите предоставить один?
говорит амеба: восстанови монику
Шудонг, ты имел в виду «классификацию» или «кластеризацию»? Вы спрашивали о классификации, но затем приняли ответ Тима о кластеризации.
говорит амеба: восстанови монику
@amoeba сделано, это не идеально, может быть, кто-то когда-нибудь улучшит выдержку.
Тим
@amoeba Я имею в виду классификацию. Тим отвечает, что-то близко. Там нет других ответов. Может мне стоит немного подождать?
Шудонг

Ответы:

35

Проблема, которую вы описываете, может быть решена с помощью латентной регрессии классов , или кластерной регрессии , или ее смеси расширений линейных обобщенных моделей, которые являются членами более широкого семейства моделей конечных смесей , или моделей латентных классов .

Это не комбинация классификации (контролируемого обучения) и регрессии как таковой , а скорее кластеризация (неконтролируемое обучение) и регрессии. Базовый подход может быть расширен, так что вы можете предсказать членство в классе, используя сопутствующие переменные, что делает его еще ближе к тому, что вы ищете. На самом деле, использование моделей скрытого класса для классификации было описано Vermunt и Magidson (2003), которые рекомендуют его для такого использования.

Латентная регрессия классов

Этот подход в основном представляет собой модель конечной смеси (или анализ скрытого класса ) в форме

е(Y|Икс,ψ)знак равноΣКзнак равно1КπКеК(Y|Икс,θК)

ψзнак равно(π,θ)еКθКπККеКπКеК

Прогнозирование вероятности членства в классе на основе сопутствующих переменных

Простую модель регрессии латентного класса можно расширить, включив в нее сопутствующие переменные, которые предсказывают членство в классе (Dayton and Macready, 1998; см. Также: Linzer and Lewis, 2011; Grun and Leisch, 2008; McCutcheon, 1987; Hagenaars and McCutcheon, 2009) в таком случае модель становится

е(Y|Икс,вес,ψ)знак равноΣКзнак равно1КπК(вес,α)еК(Y|Икс,θК)

где снова является вектором всех параметров, но мы также включаем сопутствующие переменные и функцию (например, логистическую), которая используется для прогнозирования скрытых пропорций на основе сопутствующих переменных. Таким образом, вы можете сначала предсказать вероятность членства в классе и оценить кластерную регрессию в рамках одной модели.ψвесπК(вес,α)

Плюсы и минусы

Что приятно, так это то, что это метод кластеризации на основе моделей, что означает, что вы подгоняете модели к своим данным, и такие модели можно сравнивать, используя различные методы сравнения моделей (тесты отношения правдоподобия, BIC, AIC и т. Д. ), поэтому выбор конечной модели не так субъективен, как в случае кластерного анализа в целом. Если разбить проблему на две независимые проблемы кластеризации, а затем применить регрессию, это может привести к смещенным результатам, а оценка всего в одной модели позволит вам более эффективно использовать ваши данные.

Недостатком является то, что вам нужно сделать ряд предположений о вашей модели и подумать об этом, так что это не метод черного ящика, который просто берет данные и возвращает некоторый результат, не беспокоя вас об этом. С шумными данными и сложными моделями у вас также могут возникнуть проблемы с идентификацией моделей. Кроме того, поскольку такие модели не так популярны, они широко не применяются (вы можете проверить отличные пакеты R flexmixи poLCA, насколько я знаю, они также в некоторой степени реализованы в SAS и Mplus), что делает вас зависимым от программного обеспечения.

пример

Ниже вы можете увидеть пример такой модели из flexmixбиблиотеки (Leisch, 2004; Grun and Leisch, 2008), в которой смесь двух регрессионных моделей подобрана к составным данным.

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

Он визуализируется на следующих графиках (формы точек - это истинные классы, цвета - классификации).

Пример скрытой регрессии классов

Ссылки и дополнительные ресурсы

Для получения дополнительной информации вы можете проверить следующие книги и документы:

Wedel, M. and DeSarbo, WS (1995). Смешанный подход к вероятности для обобщенных линейных моделей. Журнал классификации, 12 , 21–55.

Ведель М. и Камакура В. А. (2001). Сегментация рынка - концептуальные и методологические основы. Kluwer Academic Publishers.

Лейш Ф. (2004). Flexmix: общая структура для моделей конечных смесей и регрессии латентного стекла в R. Journal of Statistical Software, 11 (8) , 1-18.

Грун Б. и Лейш Ф. (2008). FlexMix версия 2: конечные смеси с сопутствующими переменными и переменными и постоянными параметрами. Журнал статистического программного обеспечения, 28 (1) , 1-35.

McLachlan G. и Peel D. (2000). Модели конечных смесей. Джон Вили и сыновья.

Дейтон, СМ и Макриди, Великобритания (1988). Модели сопутствующего переменного латентного класса. Журнал Американской статистической ассоциации, 83 (401), 173-178.

Линцер Д.А. и Льюис Д.Б. (2011). poLCA: пакет R для анализа скрытых классов политомных переменных. Журнал статистического программного обеспечения, 42 (10), 1-29.

McCutcheon, AL (1987). Анализ латентного класса. Sage.

Hagenaars JA и McCutcheon, AL (2009). Прикладной анализ латентного класса. Издательство Кембриджского университета.

Vermunt, JK, и Magidson, J. (2003). Модели латентного класса для классификации. Вычислительная статистика и анализ данных, 41 (3), 531-537.

Grün B. and Leisch F. (2007). Приложения конечных смесей регрессионных моделей. пакет виньетка flexmix.

Grün B. & Leisch F. (2007). Подгонка конечных смесей обобщенных линейных регрессий в R. Вычислительная статистика и анализ данных, 51 (11), 5247-5252.

Тим
источник