Метод Белсли
Материал из 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)
Так как сингулярные значения близки к нулю,то если соответствующие не очень малы, второй член будет больше первого, т.к отклонение будет больше чем .Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения и увеличивать .