В следующей статье я собираюсь использовать очень базовую терминологию и определения для описания анализа главных компонентов. Я всего лишь пытаюсь дать четкую визуализацию того, что на самом деле PCA делает с данными. Я не буду углубляться в математику и другие теоретические вещи. Существуют различные другие источники для изучения математики, лежащие в основе PCA. Также поделюсь полезной ссылкой в ​​конце статьи. Итак, не теряя времени, перейдем к нашей сегодняшней теме.

Анализ главных компонентов

Что такое анализ главных компонентов (PCA)?

Согласно Википедии

Анализ главных компонентов (PCA) - это статистическая процедура, которая использует« ортогональное преобразование для преобразования набора наблюдений возможно коррелированных переменных в набор значений линейно некоррелированных переменных, называемых главными компонентами».

Простыми словами можно сказать, что

«Проекция данных большой размерности в данные низкой размерности - это суть PCA».

Пример:

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

Предположим, вы щелкнули изображение трехмерного блока.

На изображении вы не можете увидеть все его размеры. Тем не менее, вы можете догадываться о примерных размерах коробки.

«Изображение представляет многомерные данные в двумерные данные за счет потери некоторой информации».

То же самое делает и PCA. Он пытается представить многомерную информацию в более низких измерениях, теряя некоторую ненужную (более подходящую «не очень важную») информацию.

PCA пытается уловить все вариации данных в своих компонентах. Для изменения см. Следующий график:

Простое определение вариации: «Как переменная распространяется по всей плоскости».

На приведенной выше диаграмме вариации происходят в двух направлениях. Первый представлен «Первым главным компонентом», а второй - «Анализом второго главного компонента». Отсюда также ясно, что большая часть вариаций захватывается Первым ПК, а вторая по величине вариациями - Вторым ПК и так далее.

Используя следующую визуализацию, я попытаюсь объяснить, что делает PCA.

Для визуализации я создал свои собственные данные для объяснения. В сгенерированных данных я начинаю только с двух кластеров данных и увеличиваю количество кластеров.

Я сделал это с помощью R. Вы также можете воссоздать это на любом другом языке:

Предположим, у вас есть следующие двумерные данные.

У нас есть два кластера данных. Теперь я рассчитал основные компоненты, и сводка PCA выглядит следующим образом:

Важность компонентов:

Это означает, что дисперсия, объясняемая первыми основными компонентами, составляет около 91%, т.е. если мы будем использовать ПК1 для представления информации, то только 9% информации мы потеряем. Мы можем проверить это, используя следующий график.

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

Теперь увеличим количество кластеров до 3.

Теперь у нас есть три кластера в наших данных:

Резюме СПС:

Важность компонентов:

По мере увеличения вариативности мы видим, что сохранение информации в одном компоненте становится сложным. На этот раз PC1 объясняет только 70% всех вариаций. Тем не менее, это не так уж и плохо.

Мы можем видеть, используя график PC1

Мы видим, что есть еще три кластера, представленные PC1, но не так ясно, как в случае двух кластеров. Это логично, ведь мы потеряли 30% информации данных, используя единственный ПК1.

Теперь количество кластеров увеличивается до 4.

Вы можете ясно видеть, что в наших данных 4 кластера. Выполнение PCA и резюме PCA заключается в следующем:

Важность компонентов:

ПК1 не может объяснить 48% разброса данных. Нетрудно догадаться, что если мы построим график PC1, он не даст соответствующей информации о данных. Видеть

Он только дает информацию о том, что в данных есть два / три кластера. Но истинное количество кластеров в наших данных - 4. Теперь вопрос, который возникает у нас в голове. Где эта информация? Т.е. где информация о других кластерах? Эта информация (вариация) была объяснена ПК2. Если мы построим ПК2 на ПК1. Мы можем объяснить все вариации.

Вы можете убедиться, используя следующие цифры:

На приведенном выше рисунке я сопоставил ПК1 и ПК2. И мы видим, что в наших данных четыре кластера.

Таким образом, чем больше вариаций в наших данных, тем сложнее объяснить это в рамках одного компонента. Я говорил только о двумерных данных. Вы можете легко обобщить это для более высоких измерений.

Одно следует помнить. «Увеличение количества кластеров не означает увеличения вариативности».

Я создал приведенный выше набор данных, чтобы легко это объяснить. Попробуйте увеличить количество кластеров в данных и увидите удивительные результаты.

(Примечание: пожалуйста, не путайте с цветом точек. Это только для демонстрации)

Я попытался объяснить, что я понимаю о PCA. Если будут ошибки, дайте мне известить.