Как я могу сказать, что в результатах PCA нет закономерностей?


9

У меня есть 1000+ выборок из 19 переменных. Моя цель состоит в том, чтобы предсказать двоичную переменную на основе других 18 переменных (двоичной и непрерывной). Я вполне уверен, что 6 из прогнозирующих переменных связаны с двоичным ответом, однако я хотел бы дополнительно проанализировать набор данных и найти другие ассоциации или структуры, которые я мог бы пропустить. Для этого я решил использовать PCA и кластеризацию.

При запуске PCA для нормализованных данных оказывается, что необходимо сохранить 11 компонентов, чтобы сохранить 85% отклонения. введите описание изображения здесь При построении парных участков я получаю это: введите описание изображения здесь

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

Как вы, вероятно, можете сказать, я не эксперт по PCA, но видел некоторые учебные пособия и то, как это может быть полезным, чтобы увидеть структуры в многомерном пространстве. С известными наборами цифр MNIST (или IRIS) он отлично работает. У меня вопрос: что мне теперь делать, чтобы сделать PCA более понятным? Похоже, что кластеризация не дает ничего полезного, как я могу сказать, что в PCA нет шаблона или что мне следует попробовать, чтобы найти шаблоны в данных PCA?


Почему вы делаете PCA, чтобы найти предикторов? Почему бы не использовать какой-то другой метод? например, вы могли бы включить их всех в логистический регистр, вы могли бы использовать LASSO, вы могли бы построить модель дерева, есть мешки, бустинг и т. д.
Питер Флом

Что конкретно вы имеете в виду под «паттерном», на котором хорошо раскрывается PCA?
ttnphns

@ttnphns Я пытаюсь найти некоторую подгруппу наблюдений, которая может иметь что-то общее, чтобы лучше объяснить результат бинарного отклика, который я пытаюсь предсказать (это было частично вдохновлено каждодневной аналитикой .ca/2014/ 06 /… ). Также используя pca и кластеризацию в наборе данных радужной оболочки, полезно выделить виды ( scikit-learn.org/stable/auto_examples/decomposition/… ), хотя это очень просто, так как мы уже знаем количество кластеров.
Миккк

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

Ответы:


7

Вы объяснили, что график отклонений говорит мне, что PCA здесь бессмысленна. 11/18 составляет 61%, поэтому вам нужно 61% ваших переменных, чтобы объяснить 85% дисперсии. На мой взгляд, дело не в PCA. Я использую PCA, когда 3-5 факторов из 18 объясняют 95% или около того дисперсии.

ОБНОВЛЕНИЕ: Посмотрите на график кумулятивного процента дисперсии, объясняемой количеством компьютеров. Это из области моделирования структуры срочной процентной ставки. Вы видите, как 3 компонента объясняют более 99% общей дисперсии. Это может выглядеть как вымышленный пример для рекламы PCA :) Однако это реальная вещь. Теноры процентных ставок настолько сильно коррелируют, поэтому PCA очень естественна в этом приложении. Вместо того, чтобы иметь дело с парой десятков теноров, вы имеете дело только с 3 компонентами.

введите описание изображения здесь


Это то, что я подозревал в первую очередь. Я не указал на это прямо, потому что я не знаю так много о PCA, чтобы сделать такое смелое заявление. Можно ли с уверенностью сказать, что когда требуется более x% компонентов, PCA не очень помогает? Я имею в виду, что в примерах приложений, которые я видел, обычно несколько компонентов объясняют наибольшую разницу.
Миккк

@mickkk, нет твердого правила. Для меня указанием является выпуклость, объяснение дисперсии графика. Если вы нарисуете его как совокупный процент от общей дисперсии, объясняемой количеством компьютеров, то вы захотите увидеть очень вогнутый график. Вы были бы близки к линейному: кажется, что каждый компонент несет примерно одинаковую информацию о данных, в этом случае зачем вообще использовать PCA вместо исходных данных?
Аксакал

Редактирование с новым примером было очень полезным.
Миккк

5

Если у вас выборок и только предикторов, было бы разумно просто использовать все предикторы в модели. В этом случае шаг PCA вполне может быть ненужным.р = 19N>1000p=19

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

Кроме того, интерпретация результатов PCA с использованием входных данных смешанного типа (двоичные и действительные, различные шкалы и т. Д., См. Здесь вопрос CV ) не так проста, и вы можете избежать этого, если для этого нет явной причины.


4

Я собираюсь объяснить ваш вопрос так кратко, как только смогу. Дайте мне знать, если это изменит ваше значение.

Я вполне уверен, что 6 из прогнозирующих переменных связаны с двоичным ответом [но] я не вижу значительного паттерна в ПКП

Я также не вижу никакой "существенной модели", кроме последовательности в ваших парных участках. Они все просто круглые капли. Мне любопытно, что вы ожидали увидеть. Ясно разделить точечные кластеры некоторые из парных участков? Несколько участков очень близки к линейным?

Результаты вашего PCA - блобоподобные парные диаграммы и только 85% дисперсии, зафиксированные в 11 главных компонентах, - не исключают, что ваши догадки о 6 переменных достаточны для прогнозирования бинарного отклика.

Представьте себе такие ситуации:

  1. Скажем, результаты вашего PCA показывают, что 99% дисперсии охватываются 6 основными компонентами.

    Может показаться, что это поддерживает вашу догадку о 6 переменных предиктора - возможно, вы могли бы определить плоскость или некоторую другую поверхность в этом 6-мерном пространстве, которая очень хорошо классифицирует точки, и вы могли бы использовать эту поверхность в качестве двоичного предиктора. Что подводит меня к номеру 2 ...

  2. Скажем, у 6 ваших главных компонентов есть парные участки, которые выглядят так

    «Узор» на парных участках.

    Но давайте раскрасим произвольный двоичный ответ

    «Узор» бесполезен.

    Даже несмотря на то, что вам удалось собрать почти все (99%) дисперсии в 6 переменных, вам все равно не гарантируется пространственное разделение для прогнозирования вашего двоичного отклика.

На самом деле вам могут понадобиться несколько числовых порогов (которые могут быть нанесены в виде поверхностей в этом 6-мерном пространстве), и принадлежность точки к вашей двоичной классификации может зависеть от сложного условного выражения, составленного из отношения этой точки к каждому из этих порогов. Но это всего лишь пример того, как двоичный класс может быть предсказан. Существует множество структур данных и методов для представления, обучения и прогнозирования. Это тизер. Цитировать,

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


1
Улыбающееся лицо на самом деле хорошо, потому что оно не связано ! Мне нравится.
амеба

@amoeba, у тебя может быть смайлик от некоррелированных ПК?
Аксакал

@Aksakal, да, график рассеивания смайликов, кажется, показывает нулевую корреляцию. Kdbanman, я ценю обновление, +1.
амеба

@amoeba, хорошо, вы имеете в виду линейную корреляцию.
Аксакал
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.