Корреляция между непрерывными и категориальными переменными и отбор признаков

Вопрос или проблема

Я хочу создать модель классификации, и для этого в конце моего предобработки и создания признаков я получаю 167 непрерывных признаков и дискретную цель (5 модальностей).
Я хотел бы уменьшить количество признаков, так как оно кажется слишком большим. Но как я могу это сделать? Я провел некоторый анализ, но я немного ограничен. Вот различные подходы, которые я пробовал:

  • Я сделал Пирсоновскую корреляцию между X, чтобы убрать избыточные переменные. Когда я нахожу слишком коррелированную пару, я хочу убрать признак с наименьшей корреляцией с моей целью (но как я могу это оценить?). Моя цель дискретна, так что я не думаю, что могу рассчитывать Пирсона между X и Y).
  • Я также изучил ANOVA, но, судя по найденной информации в интернете, это применимо, когда X категориальный, а Y непрерывный, так что не думаю, что могу применить это в моем случае.
  • Что касается моделей, я использовал PCA, и это кажется мне хорошим подходом. Я также провел Случайный лес и использовал функцию .feature_importance из Scikit для выбора переменных, которые уменьшают нечистоту больше всего. Могу ли я также сделать мультиномиальную логистическую регрессию?
    Я также видел другие тесты, такие как Спирмен, Краскел-Уоллис и Эта², но у меня есть ощущение, что они не подходят для моего проекта.

Если кто-то может помочь мне найти метод для уменьшения размера моего X-пространства, пожалуйста, дайте знать.

  • Не следует рассчитывать Пирсоновскую корреляцию между X и Y.
  • Вы правы, что для расчета ANOVA X должен быть категориальным, а Y непрерывным. Но всё же я думаю, что мы могли бы использовать ANOVA в этом случае, рассчитывая его для пары (Y,X). ANOVA тестирует гипотезу о существовании значимой разницы между средними групп, рассчитывая значение F = variance_between_groups/variance_within_groups. Это полезно для классификации, потому что, если значение F маленькое, то группы имеют схожие средние значения, что указывает на то, что признак не так полезен для классификации. В противном случае, если значение F велико, то есть разница в среднем значении групп, и признак кажется полезным для классификации. Думаю, что отбор признаков с топ k значениями F — это метод, стоящий внимания. (Я не использовал ANOVA прежде, так что не воспринимайте это как гарантированное мнение, но после прочтения об этом это кажется хорошей идеей, которая могла бы помочь. Мне показалось, что это объяснение ANOVA очень полезное https://datatab.net/tutorial/anova.)
  • Вы также можете использовать это для исключения признака с более низким значением F из пары признаков, которые слишком коррелированы, как вы написали.
  • Использование PCA и оценки значимости признаков, основанной на Случайном лесе, кажется хорошей идеей.

.

Ответ или решение

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

Теория:

  1. Корреляция между количественными и категориальными переменными: Одной из основных целей анализа корреляции является определение степенной связи между переменными. Однако классическая корреляция Пирсона не подходит для ваших данных, поскольку она оценивает линейную связь между двумя количественными переменными, тогда как ваша целевая переменная является категориальной.

  2. Дисперсионный анализ (ANOVA): Хотя стандартный ANOVA используется для сравнения групп по количественному признаку, ваш случай можно адаптировать. ANOVA позволяет оценивать значимость различия между средними значениями групп, и вы можете применить его, чтобы определить, есть ли статистически значимое влияние каждого признака на распределение классов вашей целевой переменной.

  3. Важность признаков (Feature Importance): Это метод оценки вклада каждого признака в модели. Благодаря алгоритмам вроде случайного леса (Random Forest) можно узнать, какие признаки вносят наибольший вклад в снижение неопределённости (impurity) в модели классификации.

  4. Анализ главных компонентов (PCA): PCA — это метод снижения размерности, преобразующий исходное пространство признаков в новое пространство с меньшим числом признаков, сохраняя при этом максимально возможное количество информации. Это может быть полезно для устранения избыточности данных и выявления скрытых зависимостей.

Пример:

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

Применение:

  1. Примените дисперсионный анализ (ANOVA), чтобы оценить F-значения для каждого признака в контексте целевой переменной. Высокие F-значения указывают на значительную зависимость признака от переменной, что помогает определить важные признаки.

  2. Используйте метод важности признаков, например, .featureimportances в Random Forest, чтобы дополнительно оценить вклад каждого признака.

  3. Для характеристик, имеющих сильную корреляцию, можно оставлять только те, которые имеют более высокий F-показатель или большую важность в модели.

  4. PCA может быть применён как последний шаг для преобразования данных в менее избыточную форму или как предварительный шаг к более сложным моделям на основе ансамблей.

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

Оцените материал
Добавить комментарий

Капча загружается...