Метод главных компонент ⇔ PCA ⇔ Principal Component Analysis - метод понижения размерности данных и удаления линейных зависимостей путем перевода данных в декартову систему координат, где базисные вектора - собственные вектора.
Реализация для собственных чисел:
1. Стандартизируем данные
2. Вычисляем ков. матрицу
3. Находим собственные значения и вектора ков. матрицы
4. Сортируем по невозростанию собственных значений. Собственные значения показывают какая у компоненты (пара собственное значение/вектор) дисперсия. Чем больше дисперсия компоненты, тем она важнее.
5. Выбираем k первых компонент, они называются главными.
6. Проецируем исходные данные в систему, где базисные вектора - главные компоненты - собственные вектора, T - спроецированные данные
Реализация через SVD:
1. Центрируем данные
2. Вычисляем SVD
3. Находим собственные значения ков. матрицы - сингулярное значение, - собственное значение ковариационной матрицы; Вектора для компонент - V из разложения SVD
4. Сортируем по невозростанию собственных значений. Собственные значения показывают какая у компоненты (пара собственное значение/вектор) дисперсия. Чем больше дисперсия компоненты, тем она важнее.
5. Выбираем k первых компонент, они называются главными.
6. Проецируем исходные данные в систему, где базисные вектора - главные компоненты - собственные вектора, T - спроецированные данные
Через SVD устойчивее, потому что не вычисляется - если X имеет малый ранг или содержит маленькие числа значения будут сравнимы с ошибками округления
Выбор k количества компонент:
Обычно выбирают n так, чтобы во включенных компонентах было не меньше 95% дисперсии: