Метод Белсли
Материал из MachineLearning.
 (→Разложение линейной модели:  переработка)  | 
			|||
| Строка 4: | Строка 4: | ||
Рассматривается линейная регрессионная модель: <br />  | Рассматривается линейная регрессионная модель: <br />  | ||
<tex>y=X \beta + \varepsilon,</tex>       (1)<br />   | <tex>y=X \beta + \varepsilon,</tex>       (1)<br />   | ||
| - | где <tex>y</tex> -– <tex>n</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>.  | 
| + | Если есть коллинеарность между признаками согласно Бэлсли имеет смысл использовать [[сингулярное разложение]](SVD), чтобы определить вовлеченные переменные. Матрица сингулярного разложения <tex>X</tex> определяется как: <br/>  | ||
<tex>X=UDV^T.</tex>      (2)<br/>  | <tex>X=UDV^T.</tex>      (2)<br/>  | ||
| - | Здесь <tex>U</tex> -- <tex>n \times p</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>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/>  | |
<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> (3)  | </tex> (3)  | ||
| - | + | Для такого разбиения <tex>D_{s\times s}</tex> и <tex>D_{(p-s)\times (p-s)}</tex>  -- диагональные матрицы, а оставшиеся два недиагональных блока -- нулевые.   | |
| - | Теперь разделим <tex>U</tex> и <tex>V</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>  | <tex>  | ||
| - | U=(U_{n\times s}  U_{n \times (p-s)}) = (  | + | U=(U_{n\times s}  U_{n \times (p-s)}) = (U_S U_N)  | 
</tex><br/>  | </tex><br/>  | ||
<tex>  | <tex>  | ||
| - | V=(V_{p\times s}  V_{p \times (p-s)}) = (  | + | V=(V_{p\times s}  V_{p \times (p-s)}) = (V_S V_N),  | 
</tex> (4) <br/>  | </tex> (4) <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^{T}_{S} U_{S}=I_{s \times s}</tex> <br/>  | + | Матрица <tex>U</tex>  ортогональна, т.е. <tex>U^T U=I_{p \times p}</tex>, так же как и <tex>U_{S}</tex> и <tex>U_{N}</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/>   | ||
<tex>U^{T}_{S} U_{N}=O_{s \times (p-s)}</tex> <br/>   | <tex>U^{T}_{S} U_{N}=O_{s \times (p-s)}</tex> <br/>   | ||
<tex>U^{T}_{N} U_{S}=O_{(p-s) \times s}</tex> (5)<br/>  | <tex>U^{T}_{N} U_{S}=O_{(p-s) \times s}</tex> (5)<br/>  | ||
| - | + | Так как <tex>V</tex> тоже ортогональная, то верно<br/>  | |
<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/>   | ||
<tex>V^{T}_{S} V_{N}=O_{s \times (p-s)}</tex> <br/>   | <tex>V^{T}_{S} V_{N}=O_{s \times (p-s)}</tex> <br/>   | ||
| - | <tex>V^{T}_{N} V_{S}=O_{(p-s) \times s}</tex> (6)<br/>  | + | <tex>V^{T}_{N} V_{S}=O_{(p-s) \times s}.</tex> (6)<br/>  | 
| - | Таким образом разложение   | + | Здесь <tex>O_n</tex> -- нулевая матрица размера <tex>n</tex>.  | 
| + | Таким образом, используя (2)-(6), запишем разложение: <br/>  | ||
<tex>X=UDV^T=U_{S} D_{S} V_{S}^T + U_{N} D_{N} V_{N}^T</tex> (7)<br/>  | <tex>X=UDV^T=U_{S} D_{S} V_{S}^T + U_{N} D_{N} V_{N}^T</tex> (7)<br/>  | ||
Обозначим слагаемые в правой части как <br/>  | Обозначим слагаемые в правой части как <br/>  | ||
<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/>  | ||
<tex>X_{N}=U_{N} D_{N} V_{N}^T</tex> (8)<br/>  | <tex>X_{N}=U_{N} D_{N} V_{N}^T</tex> (8)<br/>  | ||
| - | Заметим что получившиеся матрицы ортогональны  | + | Заметим что получившиеся матрицы ортогональны:<br/>  | 
<tex>X_{S}^{T} X_{N} = O, </tex>(9) <br/>  | <tex>X_{S}^{T} X_{N} = O, </tex>(9) <br/>  | ||
что обеспечивает возможность ортогонального разложения <tex>X</tex> :<br/>  | что обеспечивает возможность ортогонального разложения <tex>X</tex> :<br/>  | ||
<tex>X=X_{S}+X_{N}.</tex> (10)<br/>  | <tex>X=X_{S}+X_{N}.</tex> (10)<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(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> (11)<br/>  | \end{pmatrix}</tex> (11)<br/>  | ||
| - | Далее   | + | Далее получаем <br/>  | 
<tex>X V_{S}=X_{S} V_{S}=U_{S} D_{S} </tex> (12)<br/>  | <tex>X V_{S}=X_{S} V_{S}=U_{S} D_{S} </tex> (12)<br/>  | ||
и <br/>  | и <br/>  | ||
<tex>X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O </tex> (13)<br/>  | <tex>X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O </tex> (13)<br/>  | ||
| - | Равенства в (12) и (13) получаются из (8) и (10), ссылаясь на то, что из ортогональности <tex>V</tex> следует <tex>V^T_N V_S = O</tex>. Это значит что <tex>X_S</tex> содержит всю информацию и только ее, входящую в <tex>X</tex>,   | + | Равенства в (12) и (13) получаются из (8) и (10), ссылаясь на то, что из ортогональности <tex>V</tex> следует <tex>V^T_N V_S = O</tex>.   | 
| - | Соответственно <tex>X_N</tex> содержит только информацию связанную с коллинеарностью   | + | Это значит что полученная нами матрица <tex>X_S</tex> содержит всю информацию и только ее, входящую в <tex>X</tex>, и при этом свободна от коллинеарности, связанной с остальными <tex>(p-s) </tex> собственными векторами.<br/>  | 
| - | Следовательно, предложенное разложение   | + | Соответственно <tex>X_N</tex> содержит только информацию связанную с коллинеарностью.  | 
| - | Вектор <tex>\beta</tex>   | + | Она порождает дополнительное пространство <tex> \mathbb R^{\mathrm (p-s)}</tex>.   | 
| + | Это пространство, связанное с элементами матрицы <tex>D_N</tex> близкими к нулю, называется квази-нулевым пространством.<br/>  | ||
| + | Следовательно, предложенное разложение выделяет <tex>X_S</tex>, часть <tex>X</tex>, содержащую <tex>s</tex> основных компонентов, которые в меньшей степени коллинеарны.   | ||
| + | <tex>X^N</tex> же содержит информацию связанную с <tex>p-s</tex> компонентами которые участвуют в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы <tex>V_N</tex>.  | ||
| + | Вектор <tex>\beta</tex> минимизирует ошибку методом наименьших квадратов:<br/>  | ||
<tex>\beta=(X^T X)^{-1} X^T y = X^{+}y</tex> (14)<br/>  | <tex>\beta=(X^T X)^{-1} X^T y = X^{+}y</tex> (14)<br/>  | ||
| - | где <tex>X^{+}</tex> -- псевдообратная матрица <tex>X</tex>  | + | где <tex>X^{+}</tex> -- псевдообратная матрица <tex>X</tex>. Последнее равенство выполняется только если <tex>X</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>(15)<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>(15)<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/>  | 
| - | Подставляя (15) и (7) в (14) получаем: <br/>  | + | Подставляя (15) и (7) в (14) получаем выражение для параметров модели: <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>(16)<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>(16)<br/>  | ||
Окончательно модель:<br/>  | Окончательно модель:<br/>  | ||
| - | <tex>y=(X_S + X_N)({\beta}_S + {\beta}_N) +e</tex>(17)<br/>  | + | <tex>y=(X_S + X_N)({\beta}_S + {\beta}_N) +e.</tex>(17)<br/>  | 
| - | + | Здесь <tex>e</tex> -- вектор регрессионных остатков.<br/>  | |
| - | Из (15) получаем:<br/>  | + | Из (15) получаем выражение для ковариации параметров модели:<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>(18)<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>(18)<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>  | 
==Выявление мультиколлинеарности==  | ==Выявление мультиколлинеарности==  | ||
Версия 15:27, 28 августа 2010
Belsley, Kuh и Welsch предложили метод анализа мультиколлинеарности основанный на индексах обусловленности(the scaled condition indexes) и дисперсионных долях(the variance-decomposition proportions).
|   | Коллеги, пожалуйста, сделайте пояснения к выкладкам. Статью трудно читать. Очень нужен список литературы: откуда взят этот материал? --Strijov 18:53, 27 августа 2010 (MSD) | 
Содержание | 
Разложение линейной модели
Рассматривается линейная регрессионная модель: 
       (1)
 
где  -– 
-мерный вектор зависимой переменной, 
 -- 
, 
 матрица признаков, 
 -- 
-мерный вектор неизвестных коэффициентов, параметров линейной регрессионной модели. 
Предполагается, что 
-мерный вектор  случайного возмущения 
 имеет нулевое матожидание и ковариационную матрицу 
, где 
 -- 
 единичная матрица, а 
. Будем считать что 
 имеет ранг 
.
Если есть коллинеарность между признаками согласно Бэлсли имеет смысл использовать сингулярное разложение(SVD), чтобы определить вовлеченные переменные. Матрица сингулярного разложения 
 определяется как: 
      (2)
Здесь матрица  -- 
 ортогональная. Матрица 
 -- 
 диагональная прямоугольная, на диагонали которой стоят неотрицательные числа,  сингулярными значениями 
. Диагональной прямоугольной назовем матрицу, ненулевые элементы  которой имеют координаты вида 
Матрица 
 -- 
 ортогональная, ее столбцы -- собственные вектора 
. 
Существование коллинеарной зависимости влечет близость к нулю некоторых сингулярных значений. 
Будем считать, что 
 сингулярных значений близки к нулю.
Предположим, что 
, или просто 
, элементы матрицы 
 упорядочены так, что 
Рассмотрим разбиение
 (3)
Для такого разбиения 
 и 
  -- диагональные матрицы, а оставшиеся два недиагональных блока -- нулевые. 
Матрица 
 содержит достаточно большие сингулярные значения, а 
 содержит близкие к нулю сингулярные значения. 
Теперь разделим 
 и 
: 
 (4) 
где  и 
 соответствуют первым 
 наибольшим сингулярным значениям, а 
 и 
 содержат 
 векторов, соответствующих малым сингулярным значениям.
Матрица 
  ортогональна, т.е. 
, так же как и 
 и 
. Таким образом 
 выполнено
 
 
 
 
 
 (5)
Так как  тоже ортогональная, то верно
 
 
 
 
 
 (6)
Здесь  -- нулевая матрица размера 
.
Таким образом, используя (2)-(6), запишем разложение: 
 (7)
Обозначим слагаемые в правой части как 
 (8)
Заметим что получившиеся матрицы ортогональны:
(9) 
что обеспечивает возможность ортогонального разложения  :
 (10)
Согласно нашим предположениям  имеет ранг 
, и, следовательно, 
 и 
 имеют ранг 
 и 
 соответственно. Тогда для разложения (2) :
 (11)
Далее получаем 
 (12)
и 
 (13)
Равенства в (12) и (13) получаются из (8) и (10), ссылаясь на то, что из ортогональности  следует 
. 
Это значит что полученная нами матрица 
 содержит всю информацию и только ее, входящую в 
, и при этом свободна от коллинеарности, связанной с остальными 
 собственными векторами.
Соответственно  содержит только информацию связанную с коллинеарностью.
Она порождает дополнительное пространство 
. 
Это пространство, связанное с элементами матрицы 
 близкими к нулю, называется квази-нулевым пространством.
Следовательно, предложенное разложение выделяет , часть 
, содержащую 
 основных компонентов, которые в меньшей степени коллинеарны. 
 же содержит информацию связанную с 
 компонентами которые участвуют в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы 
.
Вектор 
 минимизирует ошибку методом наименьших квадратов:
 (14)
где  -- псевдообратная матрица 
. Последнее равенство выполняется только если 
 имеет полный ранг. Используя предыдущее разложение может быть показано что:
(15)
Последнее равенство использует то, что 
 -- сингулярное разложение 
 и, следовательно, 
. Для 
 аналогично.
Подставляя (15) и (7) в (14) получаем выражение для параметров модели: 
(16)
Окончательно модель:
(17)
Здесь  -- вектор регрессионных остатков.
Из (15) получаем выражение для ковариации параметров модели:
(18)
Элементы на главной диагонали  это VIF, которые могут быть разложены на компоненты, соответствующие каждому 
 и 
Выявление мультиколлинеарности
Когда есть мультиколлинеарность одино или более собственных значений близко к нулю, и соответствующие им собственные вектора содержат информацию о зависимостях между признаками. Выведеное разложение помогает выявить какие переменные показывают наибольшую вовлеченность в зависимости.
Из (16) получаем:
(19)
где  и 
. Значения 
 и 
 зависят от элементов 
 и 
, и от соотношений 
 которые играют основную роль в объяснении соотношений между признаками. 
 всегда больше нуля(мы считаем что ранг 
 равен p), тогда как 
 принимает значения от -1 до 1. Отрицательные значения 
 могут вести к 
 и 
 разных знаков, и один из них может иметь абсолютное значение больше 
. Что касается собственных векторов соответствующих очень малым значениям собственных значений, то известно, что 
 с большими абсолютными значениями озночают что соответствующие переменные сильно вовлечены в мультиколлинеарность. Если несколько собственных значений близки к нулю, то мы можем увеличить порядок (p-s) 
 по шагам используя разложение (7) и обычно мы будем наблюдать уменьшение абсолютных значений 
 и увеличение 
. Когда (p-s) соответствует числу индексов обусловленности показывающих существование зависимостей 
 может рассматриваться как общие значения параметров метода наименьших квадратов. Это актуально, когда знак какого-либо параметра не является таким как ожидалось, и в целом это зависит от мультиколлинеарности.С помощью разложения, как уже отмечалось, мы можем получить что 
 будет иметь нужный знак, в то время как часть значения перешедшего 
 (благодаря коллинеарности) будет иметь противоположный знак и большее абсолютное значение.
Чтобы исследовать влияние коллинеарности на параметры линейной регрессии лучше, ковариационная матрица может быть переписана:
 (20) 
и
 (21) 
Отклонение каждого  может быть выражено как
 (22)
Из (18) мы можем разделить отклонение:
(23)
Так как сингулярные значения  близки к нулю,то если соответствующие 
 не очень малы, второй член будет больше первого, т.к отклонение 
 будет больше чем 
.Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения 
 и увеличивать 
.

