Использование анализа основных компонентов (PCA) для выбора функций


54

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

Ответы:


75

Основная идея при использовании PCA в качестве инструмента для выбора признаков заключается в выборе переменных в соответствии с величиной (от наибольшего до наименьшего в абсолютных значениях) их коэффициентов ( нагрузок ). Вы можете вспомнить, что PCA стремится заменить (более или менее коррелированные) переменные на некоррелированных линейных комбинаций (проекций) исходных переменных. Давайте проигнорируем, как выбрать оптимальное для рассматриваемой задачи. Эти главных компонентов ранжируются по важности через их объясненную дисперсию, и каждая переменная вносит вклад с различной степенью для каждого компонента. Использование критерия наибольшей дисперсии сродни извлечению признаковpk<pkk где главный компонент используется как новые функции, а не исходные переменные. Тем не менее, мы можем решить оставить только первый компонент и выбрать переменные которые имеют самый высокий абсолютный коэффициент; число может быть основано на пропорции количества переменных (например, оставить только верхние 10% от переменных) или фиксированного среза (например, с учетом порога для нормализованных коэффициентов). Этот подход имеет некоторое сходство с оператором Лассо в регрессии (или регрессии PLS ). Однако ни значение , ни количество сохраняемых компонентов не являются очевидными вариантами.j<pjpj

Проблема с использованием PCA состоит в том, что (1) измерения от всех исходных переменных используются в проекции на нижнее размерное пространство, (2) рассматриваются только линейные отношения, и (3) методы, основанные на PCA или SVD, также в качестве одномерных методов скрининга (t-критерий, корреляция и т. д.) не учитывается потенциальная многомерная природа структуры данных (например, взаимодействие между переменными более высокого порядка).

Что касается пункта 1, были предложены некоторые более сложные методы скрининга, например, анализ основных признаков или ступенчатый метод, например, метод, используемый для « генного бритья » в исследованиях экспрессии генов. Кроме того, разреженный PCA может использоваться для выполнения уменьшения размера и выбора переменных на основе результирующих переменных нагрузок. Что касается пункта 2, то можно использовать ядро ​​PCA (используя трюк ядра ), если нужно встроить нелинейные отношения в пространство более низкого измерения. Деревья решений , или, лучше, алгоритм случайного леса , вероятно, лучше способны решить пункт 3. Последний позволяет вывести меры переменной Джини или перестановки переменной важности .

Последний пункт: если вы намереваетесь выполнить выбор объекта до применения модели классификации или регрессии, обязательно перекрестная проверка всего процесса (см. § 7.10.2 « Элементы статистического обучения» , или « Амбруаз и МакЛахлан», 2002 ).


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


1
Здесь много полезной информации, но я удивлен, что там нет упоминаний об ОДВ. Я считаю, что факторный анализ является подходящим для выбора характеристик / уменьшения размерности, а PCA - действительно подходящим только для повторного представления ваших данных таким образом, чтобы переменные были некоррелированными. Я полагаю, вы не согласны?
gung - Восстановить Монику

3
Я неохотно рекомендую EFA, не зная, с какими типами данных мы имеем дело: введение модели ошибок (чего нет у PCA), безусловно, имеет свои преимущества при работе с целевыми скрытыми переменными или, в более общем случае, при попытке обнаружить скрытые структуры, но PCA (с его оговорками) в основном используется для выполнения уменьшения размера или выбора объектов в большом измерении, AFAICT. В случае EFA будет неуместным, в то время как сложные методы для выбора переменных существуют. Я не знаю случая с ОП, поэтому не могу сказать больше, но это хорошее замечание. np
Chl

Это явно сложный нюанс. Поскольку вы знаете об этом намного больше, чем я, меня заинтересовало ваше мнение. +1, кстати.
gung - Восстановить Монику

2
Два комментария. Во-первых, вы упомянули kPCA как одно из возможных решений для вашей точки 2. Но как можно использовать kPCA для выбора признаков, когда собственные векторы / нагрузки там недоступны? Есть дополнительный вопрос по этому поводу, и я утверждал, что это невозможно . Во-вторых, ваш второй перед последним абзацем может сильно улучшиться, если вы упомянули LASSO, как предпочтительный (?) Способ выбора объектов в регрессии. Эта тема остается очень популярной, и многие вопросы закрываются как ее дубликаты, поэтому важно, чтобы ваш ответ был как можно лучше!
говорит амеба, восстанови Монику

@ CHL, спасибо за ваш информативный ответ. Вы говорите о «решили оставить только первый компонент». Почему только первый компонент? С одним компонентом легко ранжировать объекты / переменные. Как бы вы сделали это с несколькими компонентами, скажем, 3? Как вы ранжируете переменные по компонентам? Я полагаю, что вы могли бы пройти через каждый основной компонент и выбрать функцию с наибольшей загрузкой из этого основного компонента из набора функций, которые еще не были выбраны. Они снова могут быть выбраны числом (j) или порогом нормированных коэффициентов. Вы согласны?
Sother

6

Учитывая набор из N признаков, анализ PCA будет производить (1) линейную комбинацию признаков с наибольшей дисперсией (первый компонент PCA), (2) линейную комбинацию с наибольшей дисперсией в подпространстве, ортогональном первому компоненту PCA и т. Д. (при условии, что коэффициенты комбинации образуют вектор с единичной нормой) Является ли линейная комбинация с максимальной дисперсией «хорошей» характеристикой, действительно зависит от того, что вы пытаетесь предсказать. По этой причине я бы сказал, что быть компонентом PCA и быть «хорошими» функциями - это (в общем) два не связанных понятия.


(-1) Я не вижу, как это отвечает на исходный вопрос вообще.
говорит амеба: восстанови монику

-1

Нельзя упорядочить объекты в соответствии с их дисперсией, поскольку дисперсия, используемая в PCA, в основном является многомерной сущностью. Вы можете упорядочить объекты только путем проекции отклонения в определенном выбранном направлении (которое обычно является первой главной компнонетой). Другими словами, от того, будет ли объект больше дисперсии, чем другого, зависит от того, как вы выберете направление проекции.


2
Я не понимаю: у каждой исходной функции есть отклонение, и поэтому, безусловно, можно «упорядочить элементы в соответствии с их отклонением». Более того, я не понимаю, как их можно упорядочить «путем проекции дисперсии в определенном направлении, которое вы выберете». Что ты имеешь в виду?
говорит амеба: восстанови Монику

Вы действительно можете использовать дисперсию для заказа функций, только тогда это будет иметь какое-либо отношение к PCA, который рассматривает все функции вместе.
Джеймс Ли

О проекции: если у вас есть n объектов, вектор направления - это просто единичный вектор в n-мерном пространстве; проекция ваших m экземпляров-векторов - это масштабное произведение вектора экземпляра с этим единичным вектором, в результате чего получается размерный вектор. И дисперсия этого m-мерного вектора есть та «проекция» дисперсии набора данных на выбранное направление.
Джеймс Ли

1
-1. Я думаю, что каждое из трех предложений в вашем ответе либо неверно, либо настолько неясно, что вводит в заблуждение. Я согласен со всем, что вы написали в комментариях, но я понятия не имею, как ваш ответ может быть истолкован так. «Вы не можете заказать функции в соответствии с их дисперсией» - ?? «Вы можете заказать объекты только путем проекции отклонения в определенном направлении» - ?? "есть ли у особенности больше дисперсии ... зависит ..." - ?? Все это неправильно.
говорит амеба: восстанови Монику

2
Я не знал, что этот вопрос задавался так давно; и я согласен с большинством из этих ответов. Моя точка зрения: PCA не подходит для выбора функции. Просто здесь никто не хочет говорить это прямо.
Джеймс Ли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.