Метод Белсли

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Текущая версия (23:13, 19 февраля 2018) (править) (отменить)
м (Исправлен вывод формул)
 
Строка 17: Строка 17:
===Выявление части разложения ответственного за мультиколлинеарность===
===Выявление части разложения ответственного за мультиколлинеарность===
Рассмотрим разбиение<br/>
Рассмотрим разбиение<br/>
-
{{eqno|3}}<center><tex>
+
{{eqno|3}}<center>
-
D=\begin{pmatrix} D_{s\times s} & O_{s \times (p-s)} \\ O_{(p-s) \times s} & D_{(p-s)\times (p-s)} \end{pmatrix}.
+
<tex>D=\begin{pmatrix} D_{s\times s} & O_{s \times (p-s)} \\ O_{(p-s) \times s} & D_{(p-s)\times (p-s)} \end{pmatrix}.
</tex></center><br/>
</tex></center><br/>
Для такого разбиения <tex>D_{s\times s}</tex> и <tex>D_{(p-s)\times (p-s)}</tex> -- диагональные матрицы, а оставшиеся два недиагональных блока -- нулевые.
Для такого разбиения <tex>D_{s\times s}</tex> и <tex>D_{(p-s)\times (p-s)}</tex> -- диагональные матрицы, а оставшиеся два недиагональных блока -- нулевые.
Матрица <tex>D_{s\times s} = D_S</tex> содержит достаточно большие сингулярные значения, а <tex>D_{(p-s)\times (p-s)} = D_N</tex> содержит близкие к нулю сингулярные значения.
Матрица <tex>D_{s\times s} = D_S</tex> содержит достаточно большие сингулярные значения, а <tex>D_{(p-s)\times (p-s)} = D_N</tex> содержит близкие к нулю сингулярные значения.
Теперь разделим <tex>U</tex> и <tex>V</tex>: <br/>
Теперь разделим <tex>U</tex> и <tex>V</tex>: <br/>
-
<center><tex>
+
<center>
-
U=(U_{n\times s} U_{n \times (p-s)}) = (U_S U_N)
+
<tex>U=(U_{n\times s} U_{n \times (p-s)}) = (U_S U_N)
</tex></center><br/>
</tex></center><br/>
{{eqno|4}}
{{eqno|4}}
-
<center><tex>
+
<center>
-
V=(V_{p\times s} V_{p \times (p-s)}) = (V_S V_N),
+
<tex>V=(V_{p\times s} V_{p \times (p-s)}) = (V_S V_N),
</tex></center><br/>
</tex></center><br/>
где <tex>U_{S}</tex> и <tex>V_{S}</tex> соответствуют первым <tex>s</tex> наибольшим сингулярным значениям, а <tex>U_{N}</tex> и <tex>V_{N}</tex> содержат <tex>(p-s)</tex> векторов, соответствующих малым сингулярным значениям.
где <tex>U_{S}</tex> и <tex>V_{S}</tex> соответствуют первым <tex>s</tex> наибольшим сингулярным значениям, а <tex>U_{N}</tex> и <tex>V_{N}</tex> содержат <tex>(p-s)</tex> векторов, соответствующих малым сингулярным значениям.
Строка 82: Строка 82:
Она порождает дополнительное пространство <tex> \mathbb R^{\mathrm (p-s)}</tex>.
Она порождает дополнительное пространство <tex> \mathbb R^{\mathrm (p-s)}</tex>.
Это пространство, связанное с элементами матрицы <tex>D_N</tex> близкими к нулю, называется квази-нулевым пространством.<br/>
Это пространство, связанное с элементами матрицы <tex>D_N</tex> близкими к нулю, называется квази-нулевым пространством.<br/>
 +
===Получение выражения для ковариации параметров модели===
===Получение выражения для ковариации параметров модели===
Следовательно, предложенное разложение выделяет <tex>X_S</tex>, часть <tex>X</tex>, содержащую <tex>s</tex> основных компонентов, которые в меньшей степени коллинеарны.
Следовательно, предложенное разложение выделяет <tex>X_S</tex>, часть <tex>X</tex>, содержащую <tex>s</tex> основных компонентов, которые в меньшей степени коллинеарны.

Текущая версия

Belsley, Kuh и Welsch предложили метод анализа мультиколлинеарности основанный на индексах обусловленности(the scaled condition indexes) и дисперсионных долях(the variance-decomposition proportions).

Содержание

Разложение линейной модели

Рассматривается линейная регрессионная модель:

(1)
y=X \beta + \varepsilon,

где y -– n-мерный вектор зависимой переменной, X -- n \times p, (n>p) матрица признаков, \beta -- p-мерный вектор неизвестных коэффициентов, параметров линейной регрессионной модели. Предполагается, что n-мерный вектор случайного возмущения \varepsilon имеет нулевое матожидание и ковариационную матрицу {\sigma}^2 I, где I -- n \times n единичная матрица, а {\sigma}^2>0. Будем считать что X имеет ранг p.

Сингулярное разложение

Если есть коллинеарность между признаками согласно Бэлсли имеет смысл использовать сингулярное разложение(SVD), чтобы определить вовлеченные переменные. Матрица сингулярного разложения X определяется как:

(2)
X=UDV^T.

Здесь матрица U -- n \times p ортогональная. Матрица D -- p \times p диагональная прямоугольная, на диагонали которой стоят неотрицательные числа, сингулярными значениями X. Диагональной прямоугольной назовем матрицу, ненулевые элементы которой имеют координаты вида (i,i), i \in {1, \dots, p}. Матрица V -- p \times p ортогональная, ее столбцы -- собственные вектора X^T X. Существование коллинеарной зависимости влечет близость к нулю некоторых сингулярных значений. Будем считать, что (p - s) сингулярных значений близки к нулю. d_{jj}, или просто d_{j}, элементы матрицы D упорядочены так, что
d_{1} \geq d_{2} \geq ...\geq d_{s} \geq ... \geq  d_{p} \geq 0

Выявление части разложения ответственного за мультиколлинеарность

Рассмотрим разбиение

(3)

D=\begin{pmatrix} D_{s\times s} & O_{s \times (p-s)} \\ O_{(p-s) \times s} & D_{(p-s)\times (p-s)} \end{pmatrix}.
</p>


Для такого разбиения D_{s\times s} и D_{(p-s)\times (p-s)} -- диагональные матрицы, а оставшиеся два недиагональных блока -- нулевые. Матрица D_{s\times s} = D_S содержит достаточно большие сингулярные значения, а D_{(p-s)\times (p-s)} = D_N содержит близкие к нулю сингулярные значения. Теперь разделим U и V:

U=(U_{n\times s}  U_{n \times (p-s)}) = (U_S U_N)
</p>


(4)

V=(V_{p\times s}  V_{p \times (p-s)}) = (V_S V_N),
</p>


где U_{S} и V_{S} соответствуют первым s наибольшим сингулярным значениям, а U_{N} и V_{N} содержат (p-s) векторов, соответствующих малым сингулярным значениям. Матрица U ортогональна, т.е. U^T U=I_{p \times p}, так же как и U_{S} и U_{N}. Таким образом
выполнено

U^{T}_{S} U_{S}=I_{s \times s}
U^{T}_{N} U_{N}=I_{(p-s) \times (p-s)}
U^{T}_{S} U_{N}=O_{s \times (p-s)}

(5)

U^{T}_{N} U_{S}=O_{(p-s) \times s}

Так как V тоже ортогональная, то верно

V^{T}_{S} V_{S}=I_{s \times s}
V^{T}_{N} V_{N}=I_{(p-s) \times (p-s)}
V^{T}_{S} V_{N}=O_{s \times (p-s)}

(6)

V^{T}_{N} V_{S}=O_{(p-s) \times s}.

Здесь O_n -- нулевая матрица размера n. Таким образом, используя (2)-(6), запишем разложение:

(7)
X=UDV^T=U_{S} D_{S} V_{S}^T + U_{N} D_{N} V_{N}^T

Обозначим слагаемые в правой части как

X_{S}=U_{S} D_{S} V_{S}^T

(8)
X_{N}=U_{N} D_{N} V_{N}^T

Заметим что получившиеся матрицы ортогональны:

(9)
X_{S}^{T} X_{N} = O,

что обеспечивает возможность ортогонального разложения X :

(10)
X=X_{S}+X_{N}.

Согласно нашим предположениям X имеет ранг p, и, следовательно, X_{S} и X_{N} имеют ранг s и (p-s) соответственно. Тогда для разложения (2) :

(11)

X(V_{S} V_{N})=(U_{S} U_{N}) \begin{pmatrix}
D_{S} & O \\
O & D_{N} \\
</p>
\end{pmatrix}


Далее получаем

(12)
X V_{S}=X_{S} V_{S}=U_{S} D_{S}

и

(13)
X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O

Равенства в (12) и (13) получаются из (8) и (10), ссылаясь на то, что из ортогональности V следует V^T_N V_S = O. Это значит что полученная нами матрица X_S содержит всю информацию и только ее, входящую в X, и при этом свободна от коллинеарности, связанной с остальными (p-s) собственными векторами.
Соответственно X_N содержит только информацию связанную с коллинеарностью. Она порождает дополнительное пространство  \mathbb R^{\mathrm (p-s)}. Это пространство, связанное с элементами матрицы D_N близкими к нулю, называется квази-нулевым пространством.

Получение выражения для ковариации параметров модели

Следовательно, предложенное разложение выделяет X_S, часть X, содержащую s основных компонентов, которые в меньшей степени коллинеарны. X^N же содержит информацию связанную с p-s компонентами которые участвуют в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы V_N. Вектор \beta минимизирует ошибку методом наименьших квадратов:

(14)
\beta=(X^T X)^{-1} X^T y = X^{+}y

где X^{+} -- псевдообратная матрица X. Последнее равенство выполняется только если X имеет полный ранг. Используя предыдущее разложение может быть показано что:

(15)
(X^T X)^{-1}=V D^{-2} V^T =V_S D^{-2}_S V_S^T + V_N D^{-2}_N V_N^T= (X^T_S X_S)^{+} +(X^T_N X_N)^{+}.

Последнее равенство использует то, что X^T_S X_S=V_S D^{2}_S V_S^T -- сингулярное разложение X^T_S X_S и, следовательно, (X^T_S X_S)^{+}=V_S D^{-2}_S V_S^T. Для (X^T_N X_N)^{+} аналогично.
Подставляя (15) и (7) в (14) получаем выражение для параметров модели:

(16)
\beta=V_S D^{-1}_S U_S^T y + V_N D^{-1}_N U_N^T y=X^{+}_S y + X^{+}_N y = {\beta}_S + {\beta}_N

Окончательно модель:

(17)
y=(X_S + X_N)({\beta}_S + {\beta}_N) +e.

Здесь e -- вектор регрессионных остатков.
Из (15) получаем выражение для ковариации параметров модели:

(18)
Cov(\beta) = {\sigma}^2 (X^T X)^{-1}= {\sigma}^2 [V_S D^{-2}_S V_S^T + V_N D^{-2}_N V_N^T]={\sigma}^2 [(X^T_S X_S)^{+} +(X^T_N X_N)^{+} ] = Cov({\beta}_S) + Cov({\beta}_N)

Элементы на главной диагонали (X^T_N X_N)^{-1} это VIF, которые могут быть разложены на компоненты, соответствующие каждому {\beta}_{Si} и {\beta}_{Ni} (i=1,2,...,p).

D=\begin{pmatrix} D_{s\times s} & O_{s \times (p-s)} \\ O_{(p-s) \times s} & D_{(p-s)\times (p-s)} \end{pmatrix}.

Выявление мультиколлинеарности

Мы будем исследовать мультиколлинеарность, использую собственные значения признаков. Мультиколлинеарность влечет близость к нулю одного или более собственных значений, а соответствующие им собственные вектора содержат информацию о зависимостях между признаками. Предложенное разложение помогает выявить переменные, которые показывают наибольшую вовлеченность в зависимости.
Из (16) получаем:

(19)
{\beta}_i={\beta}_{Si}+{\beta}_{Ni}=\sum^{s}_{j=1} { \frac{{\upsilon}_{ij}}{d_j}} \sum^{n}_{l=1} { {u}_{lj}}{y_l} + \sum^{n}_{j=s+1} { \frac{{\upsilon}_{ij}}{d_j}} \sum^{n}_{l=1} { {u}_{lj}}{y_l}

где V=({\upsilon}_{ij}) и U=({u}_{ij}). Значения {\beta}_{Si} и {\beta}_{Ni} зависят от элементов U и y, и от соотношений \frac{{\upsilon}_{ij}}{d_j}, определяющих соотношения между признаками. Значения d_j всегда больше нуля (мы считаем что ранг X равен p), тогда как {\upsilon}_{ij} принимает значения от -1 до 1. Отрицательные значения {\upsilon}_{ij} могут привести к тому, что {\beta}_{Si} и {\beta}_{Ni} будут разных знаков. При этом один из параметров может иметь абсолютное значение больше \beta. Для собственных векторов, соответствующих очень маленьким собственным значениям, верно, что большие абсолютные значения {\upsilon}_{ij} означают вовлеченность соответствующих переменных в мультиколлинеарность. Если несколько собственных значений близки к нулю, то мы можем пересмотреть понятие близости к нулю. Тем самым, мы увеличим порядок (p-s). Это обычно приводит к уменьшению абсолютных значений {\beta}_{Si} и увеличению {\beta}_{Ni}. Если (p-s) соответствует числу индексов обусловленности, существование зависимостей {\beta}_{Si} может рассматриваться как общие значения параметров метода наименьших квадратов. Это позволяет избежать случая несоответствия знака параметра экспертной модели. С помощью разложения мы можем получить нужный знак {\beta}_{Si}, в то же время часть значений параметров {\beta}_{Ni} будет иметь противоположный знак и большее абсолютное значение.
Чтобы лучше исследовать влияние коллинеарности на параметры линейной регрессии, ковариационная матрица может быть переписана как:

(20)
 Cov({\beta}_{Si})={\sigma}^2 \left( \begin{array}{ccc}   \sum^{s}_{l=1} { \frac{{\upsilon}_{1l}^2}{d_l^2}}  & \sum^{s}_{l=1} { \frac{{\upsilon}_{1l} {\upsilon}_{2l}}{d_l^2}} & \cdots & \sum^{s}_{l=1} { \frac{{\upsilon}_{1l} {\upsilon}_{pl}}{d_l^2}}\\  \sum^{s}_{l=1} { \frac{{\upsilon}_{2l} {\upsilon}_{1l}}{d_l^2}}  & \sum^{s}_{l=1} { \frac{{\upsilon}_{2l}^2}{d_l^2}} & \cdots & \sum^{s}_{l=1}{ \frac{{\upsilon}_{2l} {\upsilon}_{pl}}{d_l^2}} \\   \cdots & \cdots & \cdots & \cdots \\  \sum^{s}_{l=1} { \frac{{\upsilon}_{pl} {\upsilon}_{1l}}{d_l^2}} & \sum^{s}_{l=1}{ \frac{{\upsilon}_{pl} {\upsilon}_{2l}}{d_l^2}} & \cdots & \sum^{s}_{l=1} { \frac{{\upsilon}_{pl}^2}{d_l^2}} \\ \end{array} \right)

и

(21)
 Cov({\beta}_{Ni})={\sigma}^2 \left( \begin{array}{ccc}   \sum^{p}_{l=s+1} { \frac{{\upsilon}_{1l}^2}{d_l^2}}  & \sum^{p}_{l=s+1} { \frac{{\upsilon}_{1l} {\upsilon}_{2l}}{d_l^2}} & \cdots & \sum^{p}_{l=s+1} { \frac{{\upsilon}_{1l} {\upsilon}_{pl}}{d_l^2}}\\  \sum^{p}_{l=s+1} { \frac{{\upsilon}_{2l} {\upsilon}_{1l}}{d_l^2}}  & \sum^{p}_{l=s+1} { \frac{{\upsilon}_{2l}^2}{d_l^2}} & \cdots & \sum^{p}_{l=s+1}{ \frac{{\upsilon}_{2l} {\upsilon}_{pl}}{d_l^2}} \\   \cdots & \cdots & \cdots & \cdots \\  \sum^{p}_{l=s+1} { \frac{{\upsilon}_{pl} {\upsilon}_{1l}}{d_l^2}} & \sum^{p}_{l=s+1}{ \frac{{\upsilon}_{pl} {\upsilon}_{2l}}{d_l^2}} & \cdots & \sum^{p}_{l=s+1} { \frac{{\upsilon}_{pl}^2}{d_l^2}} \\ \end{array} \right)

Отклонение каждого {\beta}_{i} может быть выражено как

(22)
Var({\beta}_{i})= {\sigma}^2 \sum^{p}_{j=1} { \frac{{\upsilon}_{ij}^2}{d_j^2}}

Из (18) мы можем разделить отклонение:

(23)
Var({\beta}_{i})=Var({\beta}_{Si})+Var({\beta}_{Ni})= {\sigma}^2 [{VIF}_{Si} +{VIF}_{Ni}]= {\sigma}^2 \sum^{s}_{j=1} { \frac{{\upsilon}_{ij}^2}{d_j^2}}+ {\sigma}^2  \sum^{p}_{j=s+1} { \frac{{\upsilon}_{ij}^2}{d_j^2}}

Так как сингулярные значения  d_{s+1}...d_p близки к нулю,то если соответствующие {\upsilon}_{ij} не очень малы, второй член будет больше первого, так как отклонение {\beta}_{Ni} будет больше чем {\beta}_{Si}. Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения Var({\beta}_{Si}) и увеличивать Var({\beta}_{Ni}).

Смотри также

Литература

  • Gianfranco Galmacci, Collinearity Detection in Linear Regression. Computational Economics 9:215-227, 1996.
Личные инструменты