1.8. Кросс-разложение ¶
Модуль кросс-декомпозиции содержит контролируемые оценки для уменьшения размерности и регрессии, принадлежащие к семейству «частичных наименьших квадратов».
Алгоритмы кросс-декомпозиции находят фундаментальные отношения между двумя матрицами (X и Y). Это скрытые вариативные подходы к моделированию ковариационных структур в этих двух пространствах. Они попытаются найти многомерное направление в пространстве X, которое объясняет направление максимальной многомерной дисперсии в пространстве Y. Другими словами, PLS проецирует и X
и Y
в подпространство меньшей размерности, так что ковариация между transformed(X)
и transformed(Y)
максимальна.
PLS имеет сходство с регрессией главных компонентов (PCR), где образцы сначала проецируются в подпространство более низкой размерности, а цели y
прогнозируются с использованием transformed(X)
. Одна из проблем с PCR заключается в том, что уменьшение размерности происходит без присмотра и может привести к потере некоторых важных переменных: PCR сохранит функции с наибольшим отклонением, но возможно, что функции с небольшими отклонениями важны для прогнозирования цели. В некотором смысле PLS позволяет добиться такого же уменьшения размерности, но с учетом целей y
. Иллюстрация этого факта дается в следующем примере: * Регрессия главных компонентов против регрессии частичных наименьших квадратов .
Помимо CCA, оценщики PLS особенно подходят, когда матрица предикторов содержит больше переменных, чем наблюдений, и когда есть мультиколлинеарность между функциями. Напротив, стандартная линейная регрессия в этих случаях потерпит неудачу, если она не регуляризована.
Классы , включенные в этом модуле являются PLSRegression
, PLSCanonical
, CCA
и 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 (множественные цели). Так же, как Lasso
, PLSRegression
является формой регуляризированной линейной регрессии , где число компонентов контролирует силу регуляризации.
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$, эта оценка может быть нестабильной, если количество функций или целей превышает количество выборок.
Справка:
1 Обзор методов частичных наименьших квадратов (PLS) с акцентом на двухблочном случае JA Wegelin