Вопрос или проблема
У меня есть задача классификации на клинических данных, где у каждого пациента есть несколько образцов. Таким образом, образцы, относящиеся к одному пациенту, в какой-то степени зависимы друг от друга.
Я знаю, что невозможно заранее узнать оптимальное количество признаков для использования, но существуют некоторые эмпирические правила, которые работают во многих случаях.
Мой вопрос: действительны ли эти правила в моем случае? В частности, мне следует соотносить количество признаков с количеством экземпляров или с количеством групп?
Спасибо
Это действительно трудный вопрос для ответа. Я рекомендую вам немного поучиться, чтобы понять, что можно сделать, и в частности, что можно сделать для вашей конкретной задачи.
Эта статья незаменима. Но если вы предпочитаете более практический подход, посмотрите на эти два интересных источника:
a) ML Mastery, который также предоставляет дополнительные материалы для чтения
Удачи!
Мне жаль сообщать, что я не знаю простого “эмпирического правила”, так как это сильно зависит от природы проблемы. Но ниже вы найдете некоторые рекомендации, которые вы можете использовать для определения “оптимального” количества признаков для вашей задачи.
Прежде всего, вам следует использовать некоторые методы уменьшения размерности, чтобы уменьшить количество столбцов, которые вы собираетесь использовать в качестве входных данных. Методы уменьшения размерности делятся на 2 категории: преобразование признаков и отбор признаков.
-
Методы преобразования признаков перестраивают пространство признаков и создают новый набор признаков на основе старых. Очень популярным методом для уменьшения размерности является метод главных компонент (PCA), который использует ортогональные преобразования для создания набора линейно некоррелированных переменных на основе исходного набора переменных.
-
Методы отбора признаков фактически отбирают признаки с наивысшей “важностью”/влиянием на выходную переменную из существующего набора признаков. Некоторые популярные методы — это критерий Фишера (который присваивает веса признакам на основе некоторых “критериев важности”), рекурсивное исключение признаков (обычно обеспечивает довольно хорошие результаты в комбинации с классификатором SVM) и т.д.
Следующий материал может помочь вам выбрать подход по уменьшению размерности/отбору признаков.
- Обзорная статья по отбору признаков для классификации
- Довольно хороший обзор методов уменьшения размерности
Теперь следующим шагом после выбора правильного метода и подходящего алгоритма классификации является определение оптимального количества признаков для вашей задачи. Хорошей идеей было бы рекурсивно переизбирать классификацию, каждый раз добавляя один дополнительный признак и наблюдая за ошибкой классификации. Учитывая, что метод отбора признаков будет работать хорошо, вы должны наблюдать что-то такое:
Синяя пунктирная линия показывает точку, где ошибка классификации в наборе валидации достигает своего минимального значения. Эта точка указывает оптимальное количество признаков для вашей задачи. После этого ошибка валидационного набора начинает увеличиваться, в то время как ошибка в обучающем наборе продолжает снижаться – что является показателем переобучения. (скорее всего, кривые, которые вы получите из ваших реальных данных, не будут такими гладкими, могут быть некоторые колебания, и паттерн будет менее четким – но так или иначе, это будет общая схема)
Имейте в виду, что после определения оптимального количества признаков следует использовать отдельный тестовый набор для оценки финальной модели (поскольку вы использовали валидационный набор для расчета одного из параметров модели, вы не можете также использовать его для оценки).
Вам может понадобиться немного больше уточнить проблему. Я думаю, самая важная информация, которая поможет ответить на этот вопрос, — это то, пытаетесь ли вы классифицировать пациентов или состояние внутри пациентов (то есть: “Есть ли у пациента болезнь X?” против “Находится ли пациент в состоянии X?”)
Если вы создаете модель для определения, находится ли пациент в состоянии X, тогда я думаю, что отбор признаков — это не то, о чем вам следует задумываться. Я бы, вероятно, рассмотрел это как проблему партийного эффекта. Это имеет смысл в случае, если вы хотите использовать как можно больше образцов и, следовательно, имеете несколько образцов от каждого пациента, но каждый пациент может иметь разные базовые уровни или различающуюся изменчивость в своих измерениях. Поэтому определение изменений у пациента будет затруднено, если признаки не нормализованы в каждой партии.
Обычно партийные эффекты относятся к различиям в партиях, произведенных различным лабораторным оборудованием. Однако в этом случае, я думаю, вы могли бы рассматривать пациентов как партии. Поэтому вы можете проверить наличие партийных эффектов, проведя PCA и посмотрев на график P1 против P2 с окрашенными образцами по пациентам. Если образцы сгруппированы по цвету, тогда вам следует попытаться корректировать партийные эффекты, стандартизируя признаки для каждого пациента отдельно. Затем повторите PCA и посмотрите, были ли устранены партийные эффекты.
На этом этапе вы можете просто построить свою классификационную модель и использовать отбор признаков или регуляризацию, как обычно.
В случае, если вы классифицируете пациентов (то есть у пациента есть болезнь X или нет), очевидно, что различия между пациентами на самом деле то, что вам нужно для создания этой модели. Я сомневаюсь, что существует какое-либо эмпирическое правило относительно того, сколько признаков следует использовать в зависимости от количества групп или образцов в группе. Вы можете попробовать провести кросс-валидацию с рандомной выборкой по пациентам.
Ответ или решение
Вопрос, касающийся оптимального количества признаков при работе с сгруппированными данными, особенно в контексте клинических исследований, является сложным и многогранным. Давайте рассмотрим несколько ключевых аспектов, которые помогут вам выработать свои собственные рекомендации по выбору количества признаков в зависимости от особенностей вашей задачи.
1. Понимание задачи
Прежде всего, важно определить, что именно вы пытаетесь классифицировать: состояния пациента или самих пациентов. Например, если вы пытаетесь определить, есть ли у пациента болезнь X, то вы должны учитывать разнообразие между пациентами. В таком случае набор признаков должен отражать эту вариацию.
2. Принципы выбора количества признаков
Наиболее распространенным правилом при выборе количества признаков является разумная пропорция между количеством признаков и количеством экземпляров (примеров). В классической статистике часто рекомендуется иметь 5-10 экземпляров на каждый признак, чтобы избежать переобучения модели. Однако в вашем случае, когда у вас есть сгруппированные данные с несколькими образцами от одного пациента, вам следует учитывать не только общее количество экземпляров, но и количество групп (пациентов).
3. Влияние группировки данных
При наличии взаимозависимых экземпляров от одного пациента важно учесть, как это влияет на массив данных. Вместо того чтобы опираться только на общее количество экземпляров, учитывайте:
-
Количество групп (пациентов): Если у вас много признаков и мало пациентов, это может привести к проблемам с переобучением. Рассмотрите возможность снизить количество признаков до тех, которые наиболее важны для вашей задачи.
-
Структура данных: Сгруппированные данные могут подразумевать наличие дополнительных характеристик. Используйте методы, такие как PCA для предварительного анализа, чтобы визуализировать изменчивость данных и понять, насколько признаки важны.
4. Методы выбора признаков
Существует множество методов для выбора и снижения количества признаков, которые могут быть применены в вашей ситуации:
-
Выбор признаков (Feature Selection): Методы, такие как «Рекурсивное устранение признаков» (Recursive Feature Elimination, RFE) или критерий Фишера, помогают определить наиболее значимые признаки.
-
Снижение размерности (Dimensionality Reduction): Техники, такие как анализ основных компонентов (PCA), могут помочь сгруппировать признаки и уменьшить их количество, сохраняя при этом максимальную информацию.
5. Оценка производительности модели
После выбора признаков важно протестировать модели с использованием методов кросс-валидации. Вы можете попробовать разные наборы признаков, добавляя их по одному, и наблюдать за влиянием на ошибку классификации, чтобы определить оптимальное количество.
Заключение
Оптимальное количество признаков в задачах классификации с сгруппированными данными зависит от многих факторов, включая специфику задачи, количество групп и экземпляров, а также наличие искажающих эффектов, таких как "эффекты партии". Ваша задача состоит в том, чтобы использовать как методы выбора признаков, так и подходы к снижению размерности, и тщательно тестировать модели для определения наилучшей конфигурации.
Не забывайте также о необходимости проведения контроля качества полученных моделей с использованием отдельного тестового набора данных, чтобы избежать переобучения и убедиться в их обобщающей способности.