Метод Белсли

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

(Различия между версиями)
Перейти к: навигация, поиск
м (Выявление мультиколлинеарности)
Текущая версия (23:13, 19 февраля 2018) (править) (отменить)
м (Исправлен вывод формул)
 
(9 промежуточных версий не показаны.)
Строка 1: Строка 1:
Belsley, Kuh и Welsch предложили метод анализа мультиколлинеарности основанный на индексах обусловленности(the scaled condition indexes) и дисперсионных долях(the variance-decomposition proportions).
Belsley, Kuh и Welsch предложили метод анализа мультиколлинеарности основанный на индексах обусловленности(the scaled condition indexes) и дисперсионных долях(the variance-decomposition proportions).
-
{{tip|Коллеги, пожалуйста, сделайте пояснения к выкладкам. Статью трудно читать. Очень нужен список литературы: откуда взят этот материал? --[[Участник:Strijov|Strijov]] 18:53, 27 августа 2010 (MSD)}}
 
==Разложение линейной модели==
==Разложение линейной модели==
Рассматривается линейная регрессионная модель: <br />
Рассматривается линейная регрессионная модель: <br />
{{eqno|1}}
{{eqno|1}}
-
<tex>y=X \beta + \varepsilon,</tex><br />
+
<center><tex>y=X \beta + \varepsilon,</tex><br /> </center>
где <tex>y</tex> -– <tex>n</tex>-мерный вектор зависимой переменной, <tex>X</tex> -- <tex>n \times p</tex>, <tex>(n>p)</tex> матрица признаков, <tex>\beta</tex> -- <tex>p</tex>-мерный вектор неизвестных коэффициентов, параметров линейной регрессионной модели.
где <tex>y</tex> -– <tex>n</tex>-мерный вектор зависимой переменной, <tex>X</tex> -- <tex>n \times p</tex>, <tex>(n>p)</tex> матрица признаков, <tex>\beta</tex> -- <tex>p</tex>-мерный вектор неизвестных коэффициентов, параметров линейной регрессионной модели.
Предполагается, что <tex>n</tex>-мерный вектор случайного возмущения <tex>\varepsilon</tex> имеет нулевое матожидание и ковариационную матрицу <tex>{\sigma}^2 I</tex>, где <tex>I</tex> -- <tex>n \times n</tex> единичная матрица, а <tex>{\sigma}^2>0</tex>. Будем считать что <tex>X</tex> имеет ранг <tex>p</tex>.
Предполагается, что <tex>n</tex>-мерный вектор случайного возмущения <tex>\varepsilon</tex> имеет нулевое матожидание и ковариационную матрицу <tex>{\sigma}^2 I</tex>, где <tex>I</tex> -- <tex>n \times n</tex> единичная матрица, а <tex>{\sigma}^2>0</tex>. Будем считать что <tex>X</tex> имеет ранг <tex>p</tex>.
 +
===[[Сингулярное разложение]]===
Если есть коллинеарность между признаками согласно Бэлсли имеет смысл использовать [[сингулярное разложение]](SVD), чтобы определить вовлеченные переменные. Матрица сингулярного разложения <tex>X</tex> определяется как: <br/>
Если есть коллинеарность между признаками согласно Бэлсли имеет смысл использовать [[сингулярное разложение]](SVD), чтобы определить вовлеченные переменные. Матрица сингулярного разложения <tex>X</tex> определяется как: <br/>
{{eqno|2}}
{{eqno|2}}
-
<tex>X=UDV^T.</tex> <br/>
+
<center><tex>X=UDV^T.</tex> <br/></center>
Здесь матрица <tex>U</tex> -- <tex>n \times p</tex> ортогональная. Матрица <tex>D</tex> -- <tex>p \times p</tex> диагональная прямоугольная, на диагонали которой стоят неотрицательные числа, сингулярными значениями <tex>X</tex>. Диагональной прямоугольной назовем матрицу, ненулевые элементы которой имеют координаты вида <tex>(i,i), i \in {1, \dots, p}. </tex>Матрица <tex>V</tex> -- <tex>p \times p</tex> ортогональная, ее столбцы -- собственные вектора <tex>X^T X</tex>.
Здесь матрица <tex>U</tex> -- <tex>n \times p</tex> ортогональная. Матрица <tex>D</tex> -- <tex>p \times p</tex> диагональная прямоугольная, на диагонали которой стоят неотрицательные числа, сингулярными значениями <tex>X</tex>. Диагональной прямоугольной назовем матрицу, ненулевые элементы которой имеют координаты вида <tex>(i,i), i \in {1, \dots, p}. </tex>Матрица <tex>V</tex> -- <tex>p \times p</tex> ортогональная, ее столбцы -- собственные вектора <tex>X^T X</tex>.
Существование коллинеарной зависимости влечет близость к нулю некоторых сингулярных значений.
Существование коллинеарной зависимости влечет близость к нулю некоторых сингулярных значений.
-
Будем считать, что <tex>(р - s)</tex> сингулярных значений близки к нулю.
+
Будем считать, что <tex>(p - s)</tex> сингулярных значений близки к нулю.
-
Предположим, что <tex>d_{jj}</tex>, или просто <tex>d_{j}</tex>, элементы матрицы <tex>D</tex> упорядочены так, что <br/>
+
<tex>d_{jj}</tex>, или просто <tex>d_{j}</tex>, элементы матрицы <tex>D</tex> упорядочены так, что <br/>
<tex>d_{1} \geq d_{2} \geq ...\geq d_{s} \geq ... \geq d_{p} \geq 0 </tex><br/>
<tex>d_{1} \geq d_{2} \geq ...\geq d_{s} \geq ... \geq d_{p} \geq 0 </tex><br/>
 +
===Выявление части разложения ответственного за мультиколлинеарность===
Рассмотрим разбиение<br/>
Рассмотрим разбиение<br/>
-
{{eqno|3}}
+
{{eqno|3}}<center>
-
<tex>
+
<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}.
-
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><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/>
-
<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><br/>
+
</tex></center><br/>
{{eqno|4}}
{{eqno|4}}
-
<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><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> векторов, соответствующих малым сингулярным значениям.
Матрица <tex>U</tex> ортогональна, т.е. <tex>U^T U=I_{p \times p}</tex>, так же как и <tex>U_{S}</tex> и <tex>U_{N}</tex>. Таким образом <br/> выполнено
Матрица <tex>U</tex> ортогональна, т.е. <tex>U^T U=I_{p \times p}</tex>, так же как и <tex>U_{S}</tex> и <tex>U_{N}</tex>. Таким образом <br/> выполнено
 +
<center>
<tex>U^{T}_{S} U_{S}=I_{s \times s}</tex> <br/>
<tex>U^{T}_{S} U_{S}=I_{s \times s}</tex> <br/>
<tex>U^{T}_{N} U_{N}=I_{(p-s) \times (p-s)}</tex> <br/>
<tex>U^{T}_{N} U_{N}=I_{(p-s) \times (p-s)}</tex> <br/>
Строка 37: Строка 38:
{{eqno|5}}
{{eqno|5}}
<tex>U^{T}_{N} U_{S}=O_{(p-s) \times s}</tex><br/>
<tex>U^{T}_{N} U_{S}=O_{(p-s) \times s}</tex><br/>
 +
</center>
Так как <tex>V</tex> тоже ортогональная, то верно<br/>
Так как <tex>V</tex> тоже ортогональная, то верно<br/>
 +
<center>
<tex>V^{T}_{S} V_{S}=I_{s \times s}</tex> <br/>
<tex>V^{T}_{S} V_{S}=I_{s \times s}</tex> <br/>
<tex>V^{T}_{N} V_{N}=I_{(p-s) \times (p-s)}</tex> <br/>
<tex>V^{T}_{N} V_{N}=I_{(p-s) \times (p-s)}</tex> <br/>
Строка 43: Строка 46:
{{eqno|6}}
{{eqno|6}}
<tex>V^{T}_{N} V_{S}=O_{(p-s) \times s}.</tex><br/>
<tex>V^{T}_{N} V_{S}=O_{(p-s) \times s}.</tex><br/>
 +
</center>
Здесь <tex>O_n</tex> -- нулевая матрица размера <tex>n</tex>.
Здесь <tex>O_n</tex> -- нулевая матрица размера <tex>n</tex>.
-
Таким образом, используя (2)-(6), запишем разложение: <br/>
+
Таким образом, используя {{eqref|2}}-{{eqref|6}}, запишем разложение: <br/>
{{eqno|7}}
{{eqno|7}}
-
<tex>X=UDV^T=U_{S} D_{S} V_{S}^T + U_{N} D_{N} V_{N}^T</tex><br/>
+
<center><tex>X=UDV^T=U_{S} D_{S} V_{S}^T + U_{N} D_{N} V_{N}^T</tex></center><br/>
Обозначим слагаемые в правой части как <br/>
Обозначим слагаемые в правой части как <br/>
 +
<center>
<tex>X_{S}=U_{S} D_{S} V_{S}^T</tex><br/><br/>
<tex>X_{S}=U_{S} D_{S} V_{S}^T</tex><br/><br/>
{{eqno|8}}
{{eqno|8}}
-
<tex>X_{N}=U_{N} D_{N} V_{N}^T</tex><br/>
+
<tex>X_{N}=U_{N} D_{N} V_{N}^T</tex><br/></center>
Заметим что получившиеся матрицы ортогональны:<br/>
Заметим что получившиеся матрицы ортогональны:<br/>
{{eqno|9}}
{{eqno|9}}
-
<tex>X_{S}^{T} X_{N} = O, </tex><br/>
+
<center>
 +
<tex>X_{S}^{T} X_{N} = O, </tex></center><br/>
что обеспечивает возможность ортогонального разложения <tex>X</tex> :<br/>
что обеспечивает возможность ортогонального разложения <tex>X</tex> :<br/>
{{eqno|10}}
{{eqno|10}}
-
<tex>X=X_{S}+X_{N}.</tex><br/>
+
<center>
 +
<tex>X=X_{S}+X_{N}.</tex></center><br/>
Согласно нашим предположениям <tex>X</tex> имеет ранг <tex>p</tex>, и, следовательно, <tex>X_{S}</tex> и <tex>X_{N}</tex> имеют ранг <tex>s</tex> и <tex>(p-s)</tex> соответственно. Тогда для разложения (2) :<br/>
Согласно нашим предположениям <tex>X</tex> имеет ранг <tex>p</tex>, и, следовательно, <tex>X_{S}</tex> и <tex>X_{N}</tex> имеют ранг <tex>s</tex> и <tex>(p-s)</tex> соответственно. Тогда для разложения (2) :<br/>
{{eqno|11}}
{{eqno|11}}
 +
<center>
<tex>X(V_{S} V_{N})=(U_{S} U_{N}) \begin{pmatrix}
<tex>X(V_{S} V_{N})=(U_{S} U_{N}) \begin{pmatrix}
D_{S} & O \\
D_{S} & O \\
O & D_{N} \\
O & D_{N} \\
-
\end{pmatrix}</tex><br/>
+
\end{pmatrix}</tex></center><br/>
Далее получаем <br/>
Далее получаем <br/>
-
{{eqno|12}}
+
{{eqno|12}}<center>
-
<tex>X V_{S}=X_{S} V_{S}=U_{S} D_{S} </tex><br/>
+
<tex>X V_{S}=X_{S} V_{S}=U_{S} D_{S} </tex></center><br/>
и <br/>
и <br/>
-
{{eqno|13}}
+
{{eqno|13}}<center>
-
<tex>X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O </tex><br/>
+
<tex>X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O </tex></center><br/>
Равенства в {{eqref|12}} и {{eqref|13}} получаются из {{eqref|8}} и {{eqref|10}}, ссылаясь на то, что из ортогональности <tex>V</tex> следует <tex>V^T_N V_S = O</tex>.
Равенства в {{eqref|12}} и {{eqref|13}} получаются из {{eqref|8}} и {{eqref|10}}, ссылаясь на то, что из ортогональности <tex>V</tex> следует <tex>V^T_N V_S = O</tex>.
Это значит что полученная нами матрица <tex>X_S</tex> содержит всю информацию и только ее, входящую в <tex>X</tex>, и при этом свободна от коллинеарности, связанной с остальными <tex>(p-s) </tex> собственными векторами.<br/>
Это значит что полученная нами матрица <tex>X_S</tex> содержит всю информацию и только ее, входящую в <tex>X</tex>, и при этом свободна от коллинеарности, связанной с остальными <tex>(p-s) </tex> собственными векторами.<br/>
Строка 74: Строка 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> основных компонентов, которые в меньшей степени коллинеарны.
<tex>X^N</tex> же содержит информацию связанную с <tex>p-s</tex> компонентами которые участвуют в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы <tex>V_N</tex>.
<tex>X^N</tex> же содержит информацию связанную с <tex>p-s</tex> компонентами которые участвуют в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы <tex>V_N</tex>.
Вектор <tex>\beta</tex> минимизирует ошибку методом наименьших квадратов:<br/>
Вектор <tex>\beta</tex> минимизирует ошибку методом наименьших квадратов:<br/>
-
{{eqno|14}}
+
{{eqno|14}}<center>
-
<tex>\beta=(X^T X)^{-1} X^T y = X^{+}y</tex><br/>
+
<tex>\beta=(X^T X)^{-1} X^T y = X^{+}y</tex></center><br/>
где <tex>X^{+}</tex> -- псевдообратная матрица <tex>X</tex>. Последнее равенство выполняется только если <tex>X</tex> имеет полный ранг. Используя предыдущее разложение может быть показано что:<br/>
где <tex>X^{+}</tex> -- псевдообратная матрица <tex>X</tex>. Последнее равенство выполняется только если <tex>X</tex> имеет полный ранг. Используя предыдущее разложение может быть показано что:<br/>
-
{{eqno|15}}
+
{{eqno|15}}<center>
-
<tex>(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)^{+}. </tex><br/>
+
<tex>(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)^{+}. </tex></center><br/>
Последнее равенство использует то, что
Последнее равенство использует то, что
<tex>X^T_S X_S=V_S D^{2}_S V_S^T</tex> -- сингулярное разложение <tex>X^T_S X_S</tex> и, следовательно, <tex>(X^T_S X_S)^{+}=V_S D^{-2}_S V_S^T</tex>. Для <tex>(X^T_N X_N)^{+} </tex> аналогично.<br/>
<tex>X^T_S X_S=V_S D^{2}_S V_S^T</tex> -- сингулярное разложение <tex>X^T_S X_S</tex> и, следовательно, <tex>(X^T_S X_S)^{+}=V_S D^{-2}_S V_S^T</tex>. Для <tex>(X^T_N X_N)^{+} </tex> аналогично.<br/>
Подставляя {{eqref|15}} и {{eqref|7}} в {{eqref|14}} получаем выражение для параметров модели: <br/>
Подставляя {{eqref|15}} и {{eqref|7}} в {{eqref|14}} получаем выражение для параметров модели: <br/>
-
{{eqno|16}}
+
{{eqno|16}}<center>
-
<tex>\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</tex><br/>
+
<tex>\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</tex></center><br/>
Окончательно модель:<br/>
Окончательно модель:<br/>
-
{{eqno|17}}
+
{{eqno|17}}<center>
-
<tex>y=(X_S + X_N)({\beta}_S + {\beta}_N) +e.</tex><br/>
+
<tex>y=(X_S + X_N)({\beta}_S + {\beta}_N) +e.</tex></center><br/>
Здесь <tex>e</tex> -- вектор регрессионных остатков.<br/>
Здесь <tex>e</tex> -- вектор регрессионных остатков.<br/>
Из {{eqref|15}} получаем выражение для ковариации параметров модели:<br/>
Из {{eqref|15}} получаем выражение для ковариации параметров модели:<br/>
-
{{eqno|18}}
+
{{eqno|18}}<center>
-
<tex>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)</tex><br/>
+
<tex>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)</tex></center><br/>
Элементы на главной диагонали <tex>(X^T_N X_N)^{-1} </tex> это [[Фактор инфляции дисперсии|VIF]], которые могут быть разложены на компоненты, соответствующие каждому <tex>{\beta}_{Si}</tex> и <tex>{\beta}_{Ni} (i=1,2,...,p).</tex>
Элементы на главной диагонали <tex>(X^T_N X_N)^{-1} </tex> это [[Фактор инфляции дисперсии|VIF]], которые могут быть разложены на компоненты, соответствующие каждому <tex>{\beta}_{Si}</tex> и <tex>{\beta}_{Ni} (i=1,2,...,p).</tex>
 +
<br/>
 +
<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><br/>
==Выявление мультиколлинеарности==
==Выявление мультиколлинеарности==
Строка 100: Строка 114:
Предложенное разложение помогает выявить переменные, которые показывают наибольшую вовлеченность в зависимости.<br/>
Предложенное разложение помогает выявить переменные, которые показывают наибольшую вовлеченность в зависимости.<br/>
Из {{eqref|16}} получаем:<br/>
Из {{eqref|16}} получаем:<br/>
-
{{eqno|19}}
+
{{eqno|19}}<center>
-
<tex>{\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} </tex><br/>
+
<tex>{\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} </tex></center><br/>
где <tex>V=({\upsilon}_{ij})</tex> и <tex>U=({u}_{ij})</tex>.
где <tex>V=({\upsilon}_{ij})</tex> и <tex>U=({u}_{ij})</tex>.
Значения <tex>{\beta}_{Si}</tex> и <tex>{\beta}_{Ni}</tex> зависят от элементов <tex>U</tex> и <tex>y</tex>, и от соотношений <tex>\frac{{\upsilon}_{ij}}{d_j}</tex>, определяющих соотношения между признаками.
Значения <tex>{\beta}_{Si}</tex> и <tex>{\beta}_{Ni}</tex> зависят от элементов <tex>U</tex> и <tex>y</tex>, и от соотношений <tex>\frac{{\upsilon}_{ij}}{d_j}</tex>, определяющих соотношения между признаками.
Строка 114: Строка 128:
С помощью разложения мы можем получить нужный знак <tex>{\beta}_{Si}</tex>, в то же время часть значений параметров <tex>{\beta}_{Ni}</tex> будет иметь противоположный знак и большее абсолютное значение.<br/>
С помощью разложения мы можем получить нужный знак <tex>{\beta}_{Si}</tex>, в то же время часть значений параметров <tex>{\beta}_{Ni}</tex> будет иметь противоположный знак и большее абсолютное значение.<br/>
Чтобы лучше исследовать влияние коллинеарности на параметры линейной регрессии, ковариационная матрица может быть переписана как:<br/>
Чтобы лучше исследовать влияние коллинеарности на параметры линейной регрессии, ковариационная матрица может быть переписана как:<br/>
-
{{eqno|20}}
+
{{eqno|20}}<center>
-
<tex> 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) </tex><br/>
+
<tex> 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) </tex></center><br/>
и<br/>
и<br/>
-
{{eqno|21}}
+
{{eqno|21}}<center>
-
<tex> 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) </tex>.<br/>
+
<tex> 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) </tex></center><br/>
Отклонение каждого <tex>{\beta}_{i}</tex> может быть выражено как<br/>
Отклонение каждого <tex>{\beta}_{i}</tex> может быть выражено как<br/>
-
{{eqno|22}}
+
{{eqno|22}}<center>
-
<tex>Var({\beta}_{i})= {\sigma}^2 \sum^{p}_{j=1} { \frac{{\upsilon}_{ij}^2}{d_j^2}}</tex>.<br/>
+
<tex>Var({\beta}_{i})= {\sigma}^2 \sum^{p}_{j=1} { \frac{{\upsilon}_{ij}^2}{d_j^2}}</tex></center><br/>
Из {{eqref|18}} мы можем разделить отклонение:<br/>
Из {{eqref|18}} мы можем разделить отклонение:<br/>
-
{{eqno|23}}
+
{{eqno|23}}<center>
-
<tex>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}}</tex>.<br/>
+
<tex>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}}</tex></center><br/>
Так как сингулярные значения <tex> d_{s+1}...d_p</tex> близки к нулю,то если соответствующие <tex>{\upsilon}_{ij}</tex> не очень малы, второй член будет больше первого, так как отклонение <tex>{\beta}_{Ni}</tex> будет больше чем <tex>{\beta}_{Si}</tex>.
Так как сингулярные значения <tex> d_{s+1}...d_p</tex> близки к нулю,то если соответствующие <tex>{\upsilon}_{ij}</tex> не очень малы, второй член будет больше первого, так как отклонение <tex>{\beta}_{Ni}</tex> будет больше чем <tex>{\beta}_{Si}</tex>.
Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения <tex>Var({\beta}_{Si})</tex> и увеличивать <tex>Var({\beta}_{Ni})</tex>.<br/>
Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения <tex>Var({\beta}_{Si})</tex> и увеличивать <tex>Var({\beta}_{Ni})</tex>.<br/>
Строка 131: Строка 145:
* [[Мультиколлинеарность]]
* [[Мультиколлинеарность]]
* [[Фактор инфляции дисперсии]]
* [[Фактор инфляции дисперсии]]
 +
* [[Анализ мультиколлинеарности (пример)]]
* [[Анализ регрессионных остатков (пример)]]
* [[Анализ регрессионных остатков (пример)]]
 +
== Литература ==
== Литература ==
 +
* Gianfranco Galmacci, Collinearity Detection in Linear Regression. Computational Economics 9:215-227, 1996.
 +
[[Категория:Линейная регрессия]]
 +
[[Категория:Регрессионный анализ]]
 +
[[Категория:Энциклопедия анализа данных]]

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

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.
Личные инструменты