В следующей статье я собираюсь использовать очень базовую терминологию и определения для описания анализа главных компонентов. Я всего лишь пытаюсь дать четкую визуализацию того, что на самом деле 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. Если будут ошибки, дайте мне известить.