Я пытаюсь предсказать успех или неудачу студентов, основываясь на некоторых особенностях модели логистической регрессии. Чтобы улучшить производительность модели, я уже думал о том, чтобы разделить учащихся на разные группы на основе очевидных различий и создать отдельные модели для каждой группы. Но я думаю, что может быть сложно определить эти группы по экзамену, поэтому я подумал о том, чтобы разделить учащихся на группы по их особенностям. Это обычная практика в построении таких моделей? Не могли бы вы предложить разбить его на явные группы (например, студенты первого семестра или возвращающиеся студенты), а затем выполнить кластеризацию по этим группам или кластеризацию с самого начала?
Чтобы попытаться уточнить:Я имею в виду, что я рассматриваю возможность использования алгоритма кластеризации, чтобы разбить мой тренировочный набор для логистической регрессии на группы. Затем я бы сделал отдельные логистические регрессии для каждой из этих групп. Затем, используя логистическую регрессию для прогнозирования результата для студента, я выбирал, какую модель использовать в зависимости от того, в какую группу он лучше всего подходит.
Возможно, я мог бы сделать то же самое, включив идентификатор группы, например, 1, если ученик возвращается, и 0, если нет.
Теперь вы заставили меня задуматься о том, может ли быть выгодным кластеризовать набор обучающих данных и использовать их метку кластера в качестве функции логистической регрессии, а не создавать отдельные модели логистической регрессии для каждой популяции.
Если полезно включить идентификатор группы для тех, кто возвращает учеников против новых учеников, возможно, было бы также полезно расширить список групп? Кластеризация кажется естественным способом сделать это.
Надеюсь, это понятно ...
Ответы:
Я считаю, что если у вас есть существенная разница в зависимой переменной между вашими кластерами, тогда подход кластеризации в первую очередь будет ОПРЕДЕЛЕННО полезным. Независимо от выбранного вами алгоритма обучения.
По моему мнению, использование алгоритма обучения на всей базе может скрыть значимые различия на более низком уровне агрегации.
Любой, кто слышал о парадоксе Симпсона, это трудный случай более глубокой проблемы, когда у вас есть разные корреляции в разных группах, которые покрыты большим шумом выборки и / или более слабыми корреляциями большей группы.
источник
Предложенный вами общий подход - использование скрытых разделов для назначения разных точек данных различным базовым классификаторам - является хорошо изученным подходом к классификации.
Причина, по которой эти методы не используются широко, вероятно, потому что они относительно сложны и имеют более длительное время выполнения, чем логистическая регрессия или SVM. Во многих случаях кажется, что они могут привести к лучшей производительности классификации.
Вот несколько ссылок:
Шахбаба Б. и Нил Р. "Нелинейные модели с использованием технологических смесей Дирихле"
Чжу Дж., Чен Н. и Син Е.П. «Бесконечный латентный SVM для классификации и многозадачного обучения»
Расмуссен, CE и Ghahramani, Z. "Бесконечные смеси экспертов Гаусса процесса"
Мидс, Э. и Осиндеро, С. "Альтернативная бесконечная смесь экспертов по гауссовскому процессу"
источник
Я хочу с самого начала признать, что я относительно мало знаю о кластеризации. Однако я не вижу смысла описываемой вами процедуры. Например, если вы думаете, что первый семестр и возвращающиеся студенты могут отличаться, почему бы не включить ковариату, которая индексирует это? Точно так же, если вы считаете, что важна другая особенность учащихся, вы можете включить ее. Если вы обеспокоены тем, что отношения между вашим основным предиктором интереса и вероятностью успеха могут отличаться, вы также можете включить взаимодействие между этим предиктором и первым слагаемым в сравнении с возвращением и т. Д. Логистическая регрессия хорошо подготовлена для решения этих вопросов посредством включения таких условия в модели.
С другой стороны, пока вы только кластеризуете эти функции и делаете это сначала (не глядя на ответ), я не вижу никаких проблем. Я подозреваю, что этот подход был бы неэффективным, так как каждая модель имеет более низкую мощность, потому что она подходит только для подмножества данных, но я не думаю, что это сместит параметры или сделает тесты недействительными. Итак, я полагаю, вы можете попробовать это, если вы действительно хотите.
Обновить:
Я предполагаю, что было бы лучше (то есть, наиболее эффективно) соответствовать одной модели со всеми данными. Вы можете включить некоторые дополнительные ковариаты (например, возвращение или не возвращение) вне вашего основного интереса и индикатор группировки, который вы обнаружили, предварительно запустив кластерный анализ. Однако, если ковариаты, вошедшие в кластерный анализ, также становятся доступными для модели логистической регрессии, я не уверен, смогу ли я увидеть, что получится за счет простого включения всех ковариат в модель LR безиндикатор кластера. В этом может быть преимущество, с которым я не знаком, так как я не эксперт в кластерном анализе, но я не знаю, что это будет. Мне кажется, что CA не будет генерировать дополнительную информацию, которой еще не было в ковариатах, и, таким образом, не добавит ничего к модели LR. Вы можете попробовать это; может я ошибаюсь Но я думаю, что вы просто сожгли бы несколько дополнительных степеней свободы.
Другой подход состоял бы в том, чтобы ввести кластерный индикатор в модель LR вместо ковариат, на которых он основан. Я сомневаюсь, что это было бы полезно. ЦС не будет идеальным, как и любой другой анализ, и поэтому переход от исходных ковариат к производному кластерному индикатору может повлечь за собой некоторую потерю информации . (Опять же, я не знаю этого, но я сильно подозреваю, что это правда.) Опять же, вы можете попробовать это обоими способами и сравнить как академическое упражнение, хотя просто пробуете много вещей и выбираете результат, который выглядит лучше всего, нахмурился если вы хотите серьезно относиться к своим результатам.
Я не хочу просто придираться к кластерному анализу. В общем, их может быть много, и здесь они могут быть полезны. Тем не менее, насколько я понимаю вашу ситуацию, я думаю, что просто построить модель LR с ковариатами, которые, по вашему мнению, могут иметь значение, - это путь.
источник
Если вы не привязаны к логистической регрессии, я бы предложил вам использовать классификатор случайных лесов, поскольку он имеет своего рода встроенную кластеризацию. Идея состоит в том, чтобы использовать матрицу близости к кластеру. Матрица близости - это матрица N_Obs by N_Obs для доли деревьев вне мешка, где наблюдения находятся в одном и том же терминальном узле. Затем вы можете агрегировать это в уровень объекта по матрице уровня объекта, где элементы представляют собой среднее значение доли в матрице близости. Затем вы объедините все уровни вместе, когда они достигнут порогового значения, и посмотрите, улучшит ли это ваш прогноз. Вероятно, лучше всего использовать пошаговый итеративный подход, чтобы найти оптимальную кластеризацию, но вы можете выбрать порог другими способами. Когда эта кластеризация завершена, вы можете заменить функцию метками кластера или добавить метки кластера в качестве новой функции. Я полагаю, что в этот момент вы можете вернуться к логистической регрессии, если вы действительно этого хотите.
источник
При создании многосегментных моделей я думаю, что лучший подход - это создавать сегменты, которые говорят о реальных различиях в базовых дистрибутивах. Первоклассники против вернувшихся студентов - отличный пример, поскольку распределение предикторов, вероятно, будет сильно отличаться для этих двух групп населения. Что еще более важно, эти различия имеют интуитивное объяснение.
источник