Кластерный анализ модели. Зачем вообще это всё
У нас много показателей (фич/факторов/индикторов). Мы хотим:
- понять, какие из них похожи и дублируют друг друга;
- выбрать минимальный, но информативный набор для прогноза;
- объяснить, почему оставили/убрали каждый показатель.
Для этого мы смотрим на три независимые проекции/кластеризации - PCA, UMAP и t-SNE - и собираем сводную оценку важности.
Варианты кластеризации: зачем три и чем отличаются
1) PCA (Principal Component Analysis)
- Что делает: раскладывает признаки на «скрытые факторы» (главные компоненты).
- Как читать: если у нескольких признаков одинаковый
pca_component, они “живут” в одном факторе → вероятно, частично дублируют друг друга. Все главные компоненты нумеруются с 1 и далее. Самый сильный компонент с номером 1, самый слабый (маловлияющий) с самым большим номером. - Плюсы: быстро, стабильно, хорошо ловит линейные связи.
- Минусы: может не увидеть сложные нелинейные отношения.
2) UMAP
- Что делает: раскладывает признаки по похожести их временных профилей, учитывая нелинейные связи.
- Как читать: близкие точки = похожие траектории во времени, кластеры - группы “одинаково ведущих себя” признаков.
- Особая метка:
umap_cluster_id = -1- это «шум»: алгоритм не смог уверенно отнести показатель ни к одному кластеру (редкий/особенный).
3) t-SNE
- Что делает: ещё один «нелинейный» взгляд на похожесть профилей.
- Как читать: как у UMAP. Хорош для визуального выявления «островков» похожих показателей.
- Примечание: на очень маленьком числе признаков t-SNE может вести себя капризно.
Почему три? Если один метод ошибётся или не заметит структуру, два других подстрахуют. Совпадение групп во всех трёх - сильный сигнал.
Что означают колонки/метрики
Идентификаторы и описания
indr_id- ID показателя.alias- человекочитаемый код показателя, указывается на элементах графиков.name- имя/описание покзателя, показывается в тултипе.
PCA-метрики
pca_component- номер фактора, где показатель «сильнее всего» проявляется. Признаки с одинаковым номером часто дублируют друг друга. Чем меньше номер, тем сильнее влияния признака на всю модель.pca_loading- сила и направление связи с этим фактором. Чем |значение| больше, тем показатель “типичнее” для фактора.pca_cluster_id- номер кластера признаков в PCA-пространстве.pca_cluster_representative(0/1) - “представитель” кластера (самый типичный). Т.е. он отражает поведение всех остальных признаков кластера.pca_coords={x,y}- координаты для графика (по 1-й и 2-й компонентам).
UMAP-метрики
umap_coords={x,y}- координаты на плоскости (для графика).umap_cluster_id- номер кластера (−1 = шум/особняк).umap_cluster_representative- представитель кластера (0/1). Т.е. он отражает поведение всех остальных признаков кластера.
t-SNE-метрики
tsne_coords={x,y}- координаты на плоскости (для графика).tsne_cluster_id- номер кластера (−1 = шум/особняк).tsne_cluster_representative- представитель кластера (0/1). Т.е. он отражает поведение всех остальных признаков кластера.
Сводная важность и решение
-
importance_score- состав метрик, на основании которых делаются выводы:score_pca- вклад признака по PCA (0..1);rep_umap,rep_tsne- флаги «представитель кластера» по UMAP/t-SNE (усиливают важность);weights- веса, с которыми собираем итог;combined- итоговый балл (0..1), чем выше - тем нужнее показатель.
reduction_decision- 1: оставить; 0: кандидат к удалению. (Учитываем и «родителей» в графе связей - их не удаляем.)reduction_reason- текстовое объяснение «почему так» (топ-факторы: на каком PC высокая загрузка, представитель кластера ли он и т. п.).
Зачем нужны графики и как их читать
Общая идея
Мы рисуем 3 интерактивных рассеяния (скаттера) - по PCA, UMAP, t-SNE. Каждая точка - показатель. Близкие точки - похожие показатели.
Единые правила отображения
- Цвет = номер кластера (для −1 - серый).
- Размер = важность (
importance_score.combined). - Прозрачность: если
reduction_decision = 0, делаем точку полупрозрачной - это кандидат к удалению. - Контур/иконка: если
*_cluster_representative = 1, рисуем обводку/значок - это “эталон” кластера. - Подсказка (hover): показываем
alias,name,indr_id, короткое описание, важность, решение, «топ-факторы» изreduction_reason.
Как пошагово анализировать
-
Сначала PCA-панель. Посмотрите, какие признаки попали в один и тот же
pca_componentи/или PCA-кластер. Это “группы общего фактора”.- Вывод: из каждой такой группы можно оставить 1–2 «представителя».
-
Сверьте UMAP и t-SNE. Совпадают ли группы? Если да - очень вероятно, что это действительно взаимозаменяемые показатели. Если нет - признак может вести себя похоже лишь в линейном смысле (PCA), а во времени - иначе.
-
Ищите «особняков». В UMAP/t-SNE метка
-1(серый) = «особенные» ряды. Часто они полезны как уникальные сигналы и их не стоит удалять бездумно. -
Смотрите на размер точки. Крупные точки = высокая итоговая важность → это кандидаты «оставить».
-
Читай обоснование. В
reduction_reasonнаписано человеческими словами: “PCA: высокая загрузка в PC3 (0.41), UMAP: представитель кластера 2, t-SNE: непериферийный”- это готовый текст для отчёта.
-
Фильтры упрощают жизнь. Включите фильтр “показывать только kept/representatives” - это даст быстрый список «ядра» признаков.
Частые вопросы
Q: Почему у разных признаков одинаковый pca_component? A: Нормально. Они «живут» в одном факторе и часто дублируют друг друга.
Q: Что значит cluster_id = −1 в UMAP/t-SNE? A: Алгоритм отнёс признак к «шуму» - он не похож ни на один кластер. Это не плохо: такой показатель может давать уникальную информацию.
Q: Почему кластеризация разная у PCA и UMAP/t-SNE? A: PCA ловит линейные факторы; UMAP/t-SNE - нелинейную схожесть в динамике. Разное = дополнительная перспектива.
Q: Можно ли по графику решать, что удалить? A: Да, но всегда сверяйтесь со сводной важностью, причинно-следственными связями (влиящие признаки не удаляются) и с предметной логикой (важность для бизнеса).
Какие выводы можно делать
- Неприкасаемые признаки: признаки, которые обозначены, как целевые или как импульсные удалить невозможно, так как они необходимы для моделирования прогнозов на последующих шагах.
- Сокращение признаков: в каждой группе оставьте 1–2 представителя (крупные точки в кластере).
- Выявление дублей: близкие точки с одинаковым поведением → можно смело урезать до одного.
- Поиск уникальных сигналов: одиночные серые точки (−1) часто ценны - сохраняйте, если у них есть смысл.
- Обоснование решений: сводная важность + «топ-факторы» дают объяснимость «почему оставили/удалили».
Короткий чек-лист перед финальным решением
- Совпадает ли кластеры в двух и более методах?
- Представители кластеров отмечены и логически понятны?
- Крупные по важности точки не попали в «удаление» случайно (проверьте причины)?
- Нет ли «родителей» среди кандидатов на удаление?
- Уникальные (−1) ряды - проверены и осознанно оставлены/удалены?