PCA видит паттерны которых нет и пропускает те что есть
Статья поднимает важный вопрос который многие игнорируют: простейший метод не всегда лучший.
PCA — один из самых популярных методов снижения размерности. Но у него есть системная проблема: он оптимизирует под дисперсию, а не под структуру данных.
⚠️ Три сценария где PCA ошибается
Данные гауссовы → PCA работает идеально, всё хорошо.
Данные — смесь гауссиан → PCA «видит» измерения которых нет. Проблема в ограничении ортогональности.
Данные нелинейно структурированы (например, динозавр из точек) → PCA не находит реальную структуру (1D-многообразие), зато находит «структуру» которой нет.
🎵 Phantom oscillations
Особенно коварный случай: если данные плавно меняются во времени (что почти всегда верно в реальном мире), PCA извлекает осциллирующие компоненты. Не потому что они есть в данных — а потому что PCA применён к гладким сигналам.
Это называется phantom oscillations.
🔧 Что делать
Альтернативы которые снимают ограничения PCA:
· ICA — убирает ограничение гауссовости
· NMF — убирает отрицательные значения, даёт parts-based представление
· Isomap, UMAP — работают с нелинейными многообразиями
· jPCA, GPFA — для временных рядов с динамикой
Но осторожно: более сложные модели тоже могут галлюцинировать. jPCA находит ротационную динамику даже там где её нет.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст
Post #7586
1.69K

- ❤ 5
- 👍 3