Анализ главных компонент (PCA – Principal component analysis) – это метод, который преобразует большой набор переменных в меньший с минимальными потерями информативности. Использование PCA позволяет ускорить расчет модели за счет уменьшения количества входных переменных.
PCA используется для разложения многомерного набора данных на набор последовательных ортогональных компонентов, которые объясняют максимальную величину дисперсии (дисперсия – степень разброса данных).
Снижение размерности достигается с помощью SVD (Singular Value Decomposition, сингулярное разложение).
В узле предусмотрены следующие Алгоритмы главных компонент:
- auto – алгоритм подбирается автоматически исходя из числа переменных и количества наблюдений в наборе данных: если входные данные больше 500x500, а количество извлекаемых компонентов меньше 80% наименьшего размера данных, то будет выбран метод randomized. В остальных случаях будет выбран full.
- full – точный полный SVD (стандартный решатель LAPACK) и отбор компонент с помощью постобработки (параметр Методы определения количества компонент)
- arpack – SVD, усеченный количеством компонент в пределе строго больше 0 и строго меньше min(количество наблюдений, количество переменных) (решатель ARPACK).
- randomized – алгоритм находит приближенное усеченное SVD, используя рандомизацию для ускорения вычислений (по методу Halko).
Рекомендуется нормализовать данные перед использованием PCA, иначе можно получить вводящие в заблуждение компоненты (чекбокс Нормализация компонент).
PCA работает c числовыми данными. Поэтому если в наборе данных присутствует категориальная переменная, то она кодируется методом One-hot encoding и количество рассчитанных главных компонент будет равно (исходное кол-во некатегориальных атрибутов) + (столбцы One-hot encoding).
Пример: изначально было 14 атрибутов один из которых категориальный (с 3 категориями), то в результатах получится 15 (подробнее про One-hot encoding в описании одноименного узла).
Для отбора компонент предусмотрены следующие Методы определения количества компонент:
- full – отбирается количество компонент в соответствии с формулой min(количество наблюдений, количество переменных) – 1.
- number – отбираемое количество компонент задается вручную.
- variance – будут отобраны компоненты, которые равны или превышают заданный процент объясненной дисперсии.
- mle –для отбора компонентов используется MLE Минка.
Список параметров узла представлен в таблице (Таблица 22).
Таблица 22 — Параметры узла «PCA»
Параметр |
Возможные значения и ограничения |
Описание |
---|---|---|
Название |
Ручной ввод |
Название узла, которое будет отображаться в интерфейсе |
Описание |
Ручной ввод |
Описание узла |
Метод определения количества компонент |
Раскрывающийся список со следующими значениями:
|
Данный параметр задает метод определения количества компонент. Предусмотрены:
|
Количество компонент |
Ручной ввод целочисленного значения |
Актуален при выборе Метода определения количества компонент = number. |
Процент объясненной дисперсии |
Ручной ввод |
Актуален при выборе Метода определения количества компонент = variance. |
Нормализация компонент |
Чекбокс |
Данный чекбокс отвечает за преобразование числовых наблюдений с целью приведения их к общей шкале. Необходимость нормализации вызвана тем, что разные признаки из исходного набора могут быть представлены в разных масштабах и изменяться в разных диапазонах |
Алгоритм главных компонент |
Раскрывающийся список со следующими значениями:
|
Данный параметр задает алгоритм главных компонент. Предусмотрены следующие варианты:
|
Погрешность |
Ручной ввод числового значения |
Актуален при выборе Алгоритма главных компонент = arpack |
Задать количество итераций степенного метода |
Чекбокс |
Актуален при выборе Алгоритма главных компонент = randomized |
Количество итераций степенного метода |
Ручной ввод числового значения |
Актуален при выборе Алгоритма главных компонент = randomized |
Количество дополнительных случайных векторов |
По умолчанию – 10 |
Актуален при выборе Алгоритма главных компонент = randomized |
Нормализация итераций |
Раскрывающийся список со следующими значениями:
|
Актуален при выборе Алгоритма главных компонент = randomized
|
Seed |
Ручной ввод числового значения |
Начальное числовое значение для генератора случайных чисел. |
Исключить оригинальные предикторы |
Чекбокс |
Выбор данного чекбокса указывает, что необходимо удалить оригинальные предикторы |
Результаты выполнения узла:
- Таблица с примером данных (Рисунок 104). Отображаются первые 100 наблюдений.
Рисунок 104 – Таблица с примером данных
В данной таблице будут отображены вычисленные компоненты (переменные PC_1, PC_2 и т.д.).
- Столбчатая диаграмма (Рисунок 105), на которой отображены компоненты (их номера) и значения объясненной ими дисперсии (какая доля общего разброса точек приходится на каждую из новых координат).
Рисунок 105 – Пример столбчатой диаграммы
- Столбчатая диаграмма аналогичная первой, но с кумулятивной суммой (Рисунок 106).
Рисунок 106 – Пример столбчатой диаграммы с кумулятивной суммой