1.8. Кросс-разложение

Модуль кросс-декомпозиции содержит контролируемые оценки для уменьшения размерности и регрессии, принадлежащие к семейству «частичных наименьших квадратов».

Алгоритмы кросс-декомпозиции находят фундаментальные отношения между двумя матрицами (X и Y). Это скрытые вариативные подходы к моделированию ковариационных структур в этих двух пространствах. Они попытаются найти многомерное направление в пространстве X, которое объясняет направление максимальной многомерной дисперсии в пространстве Y. Другими словами, PLS проецирует и X и Y в подпространство меньшей размерности, так что ковариация между transformed(X) и transformed(Y) максимальна.

PLS имеет сходство с регрессией главных компонентов (PCR), где образцы сначала проецируются в подпространство более низкой размерности, а цели y прогнозируются с использованием transformed(X). Одна из проблем с PCR заключается в том, что уменьшение размерности происходит без присмотра и может привести к потере некоторых важных переменных: PCR сохранит функции с наибольшим отклонением, но возможно, что функции с небольшими отклонениями важны для прогнозирования цели. В некотором смысле PLS позволяет добиться такого же уменьшения размерности, но с учетом целей y. Иллюстрация этого факта дается в следующем примере: * Регрессия главных компонентов против регрессии частичных наименьших квадратов .

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

Классы , включенные в этом модуле являются PLSRegressionPLSCanonicalCCA и PLSSVD

1.8.1. PLSCanonical

Здесь мы описываем алгоритм, используемый в PLSCanonical. Другие оценщики используют варианты этого алгоритма, которые подробно описаны ниже. Мы рекомендуем раздел 1 для получения более подробной информации и сравнений между этими алгоритмами. В 1 , PLSCanonical соответствует «PLSW2A».

Учитывая две центрированные матрицы $X \in \mathbb{R}^{n \times d}$ а также $Y \in \mathbb{R}^{n \times t}$ и ряд компонентов $K$, PLSCanonical происходит следующим образом:

Набор $X_1$ к $X$ а также $Y_1$ к $Y$. Затем для каждого $k \in [1, K]$:

  • а) вычислить $u_k \in \mathbb{R}^d$ а также $v_k \in \mathbb{R}^t$, первые левый и правый сингулярные векторы кросс-ковариационной матрицы $C = X_k^T Y_k$ а также $v_k$ называются весами . По определению, $u_k$ а также $v_k$ выбираются так, чтобы максимизировать ковариацию между проецируемыми $X_k$ и прогнозируемая цель, то есть $\text{Cov}(X_k u_k,Y_k v_k)$.
  • б) Проект $X_k$ а также $Y_k$ по сингулярным векторам для получения оценок $\xi_k = X_k u_k$ а также $\omega_k = Y_k v_k$
  • в) Регресс $X_k$ на $\xi_k$, т.е. найти вектор $\gamma_k\in \mathbb{R}^d$ такая, что матрица ранга 1 $\xi_k \gamma_k^T$ как можно ближе к $X_k$. Сделайте то же самое на$Y_k$ с участием $\omega_k$ чтобы получить $\delta_k$. Векторы $\gamma_k$ а также $\delta_k$ называются нагрузками .
  • г) сдувать $X_k$ а также $Y_k$, т.е. вычтите приближения ранга 1: $X_{k+1} = X_k — \xi_k \gamma_k^T$, а также $Y_{k + 1} = Y_k — \omega_k \delta_k^T$.

В итоге мы приблизили $X$ как сумма матриц ранга 1: $X = \Xi \Gamma^T$ где $\Xi \in \mathbb{R}^{n \times K}$ содержит оценки в своих столбцах, и $\Gamma^T \in \mathbb{R}^{K\times d}$ содержит нагрузки в своих строках. Аналогично для $Y$, у нас есть $Y = \Omega \Delta^T$.

Обратите внимание, что матрицы оценок $\Xi$ а также $\Omega$ соответствуют проекциям обучающих данных $X$ а также $Y$, соответственно.

Шаг а) может быть выполнен двумя способами: либо путем вычисления всего SVD $C$ и сохранять только сингулярные векторы с наибольшими сингулярными значениями или путем прямого вычисления сингулярных векторов с использованием метода мощности (см. раздел 11.3 в 1 ), что соответствует 'nipals' варианту algorithm параметра.

1.8.1.1. Преобразование данных

Преобразовывать $X$ в $\bar{X}$, нам нужно найти матрицу проекции $P$ такой, что $\bar{X} = XP$. Мы знаем, что для обучающих данных $\Xi = XP$, а также $X = \Xi \Gamma^T$. Параметр $P = U(\Gamma^T U)^{-1}$ где $U$ матрица с $u_k$ в столбцах у нас есть $XP = X U(\Gamma^T U)^{-1} = \Xi(\Gamma^T U) (\Gamma^T U)^{-1} = \Xi$ по желанию. Матрица вращения $P$ можно получить доступ из x_rotations_ атрибута.

По аналогии, $Y$ можно преобразовать с помощью матрицы вращения $V(\Delta^T V)^{-1}$, доступ к которому осуществляется через y_rotations_ атрибут.

1.8.1.2. Прогнозирование целей Y

Предсказать цели некоторых данных $X$, ищем матрицу коэффициентов $\beta \in R^{d \times t}$ такой, что $Y=X\beta$.

Идея состоит в том, чтобы попытаться предсказать преобразованные цели $\Omega$ как функция преобразованных выборок $\Xi$, вычисляя $\alpha\in \mathbb{R}$ такой, что $\Omega = \alpha \Xi$.

Тогда у нас есть $Y = \Omega \Delta^T = \alpha \Xi \Delta^T$, и с тех пор $\Xi$ это преобразованные обучающие данные, которые у нас есть, $Y = X \alpha P \Delta^T$, и, как следствие, матрица коэффициентов $\beta = {\alpha} P \Delta^T$.

$\beta$ можно получить через coef_ атрибут.

1.8.2. PLSSVD

PLSSVD — это упрощенная версия PLSCanonical описанного ранее: вместо итеративного дефлятирования матриц $X_k$ а также $Y_k$, PLSSVD вычисляет SVD $C=X^{T}Y$ только один раз , и хранит n_components сингулярные векторы , соответствующие больших сингулярных значений в матрицах U и V, что соответствует x_weights_ и y_weights_ атрибутов. Здесь преобразованные данные — это просто и .;transformed(X) = XUtransformed(Y) = YV

Если n_components == 1, PLSSVD и PLSCanonical строго эквивалентны.

1.8.3. PLSRegression

Оценка PLSRegression аналогична PLSCanonical с algorithm='nipals', 2 существенных отличий:

  • на шаге а) в степенном методе для вычисления $u_k$ и $v_k$, $v_k$ никогда не нормализуется.
  • на шаге c) цели $Y_k$ аппроксимируются с помощью проекции $X_k$ (т.е. $\xi_k$) вместо проекции $Y_k$ (т.е. $\omega_k$). Другими словами, расчет нагрузок другой. В результате это также повлияет на дефляцию на этапе d).

Эти две модификации влияют на вывод predict и transform, что не то же самое, что и для PLSCanonical. Кроме того, хотя количество компонентов ограничено величиной min(n_samples, n_features, n_targets) в PLSCanonical, здесь пределом является ранг $X^{T}X$, то есть min(n_samples, n_features).

PLSRegression также известен как PLS1 (одиночные цели) и PLS2 (множественные цели). Так же, как LassoPLSRegression является формой регуляризированной линейной регрессии , где число компонентов контролирует силу регуляризации.

1.8.4. Канонический корреляционный анализ

Канонический корреляционный анализ был разработан ранее и независимо от PLS. Но оказывается, что CCA это частный случай PLS, который соответствует PLS в «Режиме B» в литературе.

CCA отличается от PLSCanonical того, как вес $u_k$ а также $v_k$ вычисляются в степенном методе шага а). Подробности можно найти в разделе 10 из 1 .

Поскольку CCA предполагает обращение $X_k^{T}X_k$ а также $Y_k^{T}Y_k$, эта оценка может быть нестабильной, если количество функций или целей превышает количество выборок.