Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Анализ главных компонент (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»

Параметр

Возможные значения и ограничения

Описание

Название

Ручной ввод
Ограничений на значение нет

Название узла, которое будет отображаться в интерфейсе

Описание

Ручной ввод
Ограничений на значение нет

Описание узла

Метод определения количества компонент

Раскрывающийся список со следующими значениями:

  • full (по умолчанию)
  • number
  • variance
  • mle

Данный параметр задает метод определения количества компонент. Предусмотрены:

  • full
  • number
  • variance
  • mle

Количество компонент

Ручной ввод целочисленного значения
По умолчанию - 1

Актуален при выборе Метода определения количества компонент = number.
Задает ограничение на количество компонент, которые в конечном итоге будут отобраны алгоритмом.

Процент объясненной дисперсии

Ручной ввод
Значение больше 0 и меньше или равно 1
По умолчанию – 0,95

Актуален при выборе Метода определения количества компонент = variance.
Задает ограничение на процент объясненной дисперсии компонентами, которые в конечном итоге будут отобраны алгоритмом.

Нормализация компонент

Чекбокс

Данный чекбокс отвечает за преобразование числовых наблюдений с целью приведения их к общей шкале. Необходимость нормализации вызвана тем, что разные признаки из исходного набора могут быть представлены в разных масштабах и изменяться в разных диапазонах

Алгоритм главных компонент

Раскрывающийся список со следующими значениями:

  • auto (по умолчанию)
  • full
  • arpack
  • randomized

Данный параметр задает алгоритм главных компонент. Предусмотрены следующие варианты:

  • auto
  • full
  • arpack
  • randomized

Погрешность

Ручной ввод числового значения
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="33e8b73c-4ad0-443d-a3a3-d972bba56be9"><ac:plain-text-body><![CDATA[Значение должно быть в диапазоне [0.0, inf)
]]></ac:plain-text-body></ac:structured-macro>
По умолчанию – 0

Актуален при выборе Алгоритма главных компонент = arpack
Задает допустимую погрешность для сингулярных значений.

Задать количество итераций степенного метода

Чекбокс

Актуален при выборе Алгоритма главных компонент = randomized
Выбор данного чекбокса указывает, что необходимо задать количество итераций степенного метода

Количество итераций степенного метода

Ручной ввод числового значения
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3011d21e-ce4e-4177-b80a-1960ba19b735"><ac:plain-text-body><![CDATA[Значение должно быть в диапазоне [0, inf)
]]></ac:plain-text-body></ac:structured-macro>
По умолчанию – 10

Актуален при выборе Алгоритма главных компонент = randomized
Перед увеличением Количества итераций степенного метода следует увеличивать Количество дополнительных случайных векторов, поскольку принцип рандомизированного метода заключается в том, чтобы избежать использования этих более дорогостоящих шагов итерации.

Количество дополнительных случайных векторов

По умолчанию – 10

Актуален при выборе Алгоритма главных компонент = randomized
Задает дополнительное количество случайных векторов, что обеспечивает лучшую аппроксимацию сингулярных векторов и сингулярных значений.

Нормализация итераций

Раскрывающийся список со следующими значениями:

  • auto (по умолчанию)
  • QR
  • LU
  • randomized

Актуален при выборе Алгоритма главных компонент = randomized
Предусмотрены следующие методы:

  • auto – не применяет нормализацию, если Количество итераций степенного метода <=2, и переключается на LU разложение в противном случае
  • QR – пошаговое разложение матрицы. Самое медленное, но наиболее точное
  • LU – LU разложение матрицы. Численно стабильное, но может терять в точности
  • randomized – наиболее быстрый метод, но нестабильный, если Количество итераций степенного метода большое (5 и больше)

Seed

Ручной ввод числового значения
Значение больше 0
По умолчанию — 42

Начальное числовое значение для генератора случайных чисел.
Используется для воспроизведения результатов при повторном запуске

Исключить оригинальные предикторы

Чекбокс

Выбор данного чекбокса указывает, что необходимо удалить оригинальные предикторы


Результаты выполнения узла:

  • Таблица с примером данных (Рисунок 104). Отображаются первые 100 наблюдений.


Рисунок 104 – Таблица с примером данных
В данной таблице будут отображены вычисленные компоненты (переменные PC_1, PC_2 и т.д.).

  • Столбчатая диаграмма (Рисунок 105), на которой отображены компоненты (их номера) и значения объясненной ими дисперсии (какая доля общего разброса точек приходится на каждую из новых координат).


Рисунок 105 – Пример столбчатой диаграммы

  • Столбчатая диаграмма аналогичная первой, но с кумулятивной суммой (Рисунок 106).


Рисунок 106 – Пример столбчатой диаграммы с кумулятивной суммой

  • Нет меток