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