Метод Белсли

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

(Различия между версиями)
Перейти к: навигация, поиск
м (Разложение линейной модели)
Строка 4: Строка 4:
<tex>y=X \beta + \varepsilon.</tex> (1)<br />
<tex>y=X \beta + \varepsilon.</tex> (1)<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>\varepsilon</tex> - <tex>p</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>y</tex> - <tex>n</tex>-мерный ветор ответа(зависимой переменной), <tex>X</tex> - <tex>n \times p</tex> <tex>(n>p)</tex> матрица признаков <tex>\beta</tex> - <tex>p</tex>-мерный вектор неизвестных коэффициентов, <tex>\varepsilon</tex> - <tex>p</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>.
-
Если есть коллинеарность между признаками согласно Belsley имеет смысл использовать сингулярное разложение(SVD) чтобы определить вовлеченные переменные. Матрица сингулярного разложения <tex>X</tex> определяется как: <br/>
+
Если есть коллинеарность между признаками согласно Belsley имеет смысл использовать сингулярное разложение(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>D</tex> - <tex>p \times p</tex> верхняя диагональная матрица, чьи неотрицательные элементы являются сингулярными значениями <tex>X</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>V</tex> - <tex>p \times p</tex> ортогональная матрица, чьи колонки это собственные вектора <tex>X^T X</tex>. Если существует коллинеарная зависимоть, то
-
будут какие-либо сингулярные значения, скажем, <tex>(р - s)</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/>
Строка 14: Строка 14:
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>D_{s\times s}</tex>, или просто <tex>D_{S}</tex>, содержит достаточно большие сингулярные значения, а <tex>D_{(p-s)\times (p-s)}</tex>, или <tex>D_{N}</tex>, содержит близкие к нулю.
+
где <tex>D_{s\times s}</tex> и <tex>D_{(p-s)\times (p-s)}</tex> диагональные, и недиагональные блоки нулевые. <tex>D_{s\times s}</tex>, или просто <tex>D_{S}</tex>, содержит достаточно большие сингулярные значения, а <tex>D_{(p-s)\times (p-s)}</tex>, или <tex>D_{N}</tex>, содержит близкие к нулю.
Теперь разделим <tex>U</tex> и <tex>V</tex> соответственно: <br/>
Теперь разделим <tex>U</tex> и <tex>V</tex> соответственно: <br/>
<tex>
<tex>
Строка 22: Строка 22:
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> (4) <br/>
</tex> (4) <br/>
-
где <tex>U_{S}</tex> и <tex>V_{S}</tex> соответствуют первым s наибольших сингулярных значений, а <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/>
Строка 38: Строка 38:
<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/>
Заметим что получившиеся матрицы ортогональны, т.е :<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>n \times p</tex> и полагая что <tex>X</tex> имеет ранг <tex>p</tex>, <tex>X_{S}</tex> и <tex>X_{N}</tex> имеють ранг <tex>s</tex> и <tex>(p-s)</tex> соответственно. Тогда для разложения (2) :<br/>
Здесь все матрицы имеют размер <tex>n \times p</tex> и полагая что <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}
Строка 50: Строка 50:
и <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> которая свободна от коллинеарности связанной с остальными <tex>(p-s) </tex>собственными векторами.<br/>
+
Равенства в (12) и (13) получаются из (8) и (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_N</tex> содержит только информацию связанную с коллинеарностью делая прогноз на дополнительное пространство <tex> \mathbb R^{\mathrm (p-s)}</tex>. Это пространство связанное с элементами матрицы <tex>D_N</tex> близкими к нулю называется квази-нулевым пространством<br/>
Соответственно <tex>X_N</tex> содержит только информацию связанную с коллинеарностью делая прогноз на дополнительное пространство <tex> \mathbb R^{\mathrm (p-s)}</tex>. Это пространство связанное с элементами матрицы <tex>D_N</tex> близкими к нулю называется квази-нулевым пространством<br/>
Следовательно предложенное разложение подчеркивает <tex>X_S</tex> как часть <tex>X</tex> полученную из s основных компонентов которые в меньшей степени участвуют в коллинеарности. <tex>X^N</tex> же содержит информацию связанную с <tex>p-s</tex> компонентами которые участвую в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы <tex>V_N</tex>.
Следовательно предложенное разложение подчеркивает <tex>X_S</tex> как часть <tex>X</tex> полученную из s основных компонентов которые в меньшей степени участвуют в коллинеарности. <tex>X^N</tex> же содержит информацию связанную с <tex>p-s</tex> компонентами которые участвую в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы <tex>V_N</tex>.

Версия 08:30, 27 августа 2010

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

Содержание

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

Линейная регрессионная модель:
y=X \beta + \varepsilon. (1)
где y - n-мерный ветор ответа(зависимой переменной), X - n \times p (n>p) матрица признаков \beta - p-мерный вектор неизвестных коэффициентов, \varepsilon - p-мерный вектор случайного возмущения с нулевым матожиданием и ковариационной матрицей {\sigma}^2 I, где I это n \times n единичная матрица, а {\sigma}^2>0. Будем считать что X имеет ранг p. Если есть коллинеарность между признаками согласно Belsley имеет смысл использовать сингулярное разложение(SVD), чтобы определить вовлеченные переменные. Матрица сингулярного разложения X определяется как:
X=UDV^T. (2)
Здесь U - n \times p ортогональная матрица, D - p \times p верхняя диагональная матрица, чьи неотрицательные элементы являются сингулярными значениями X, V - p \times p ортогональная матрица, чьи колонки это собственные вектора X^T X. Если существует коллинеарная зависимоть, то некоторые сингулярные значения, скажем, (р - s), близки к нулю. Предположим, что d_{jj}, или просто d_{j}, элементы матрицы D упорядочены так, что
d_{1} \geq d_{2} \geq ...\geq d_{s} \geq ... \geq  d_{p} \geq 0
И рассмотрим разбиение

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},
(3) где 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})

V=(V_{p\times s}  V_{p \times (p-s)}) = (V_{S} V_{N}),
(4)
где 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)}
U^{T}_{N} U_{S}=O_{(p-s) \times s} (5)
Т.к 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)}
V^{T}_{N} V_{S}=O_{(p-s) \times s} (6)
Таким образом разложение нам дает:
X=UDV^T=U_{S} D_{S} V_{S}^T + U_{N} D_{N} V_{N}^T (7)
Обозначим слагаемые в правой части как
X_{S}=U_{S} D_{S} V_{S}^T

X_{N}=U_{N} D_{N} V_{N}^T (8)
Заметим что получившиеся матрицы ортогональны, т.е :
X_{S}^{T} X_{N} = O, (9)
что обеспечивает возможность ортогонального разложения X :
X=X_{S}+X_{N}. (10)
Здесь все матрицы имеют размер n \times p и полагая что X имеет ранг p, X_{S} и X_{N} имеють ранг s и (p-s) соответственно. Тогда для разложения (2) :
X(V_{S} V_{N})=(U_{S} U_{N}) \begin{pmatrix}
D_{S} & O \\
O & D_{N} \\
\end{pmatrix} (11)
Далее мы получаем
X V_{S}=X_{S} V_{S}=U_{S} D_{S} (12)
и
X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O (13)
Равенства в (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 минимизирующего ошибку в метода наименьших квадратов:
\beta=(X^T X)^{-1} X^T y = X^{+}y (14)
где X^{+} - псевдообратная матрица X и последнее равенство выполняется только если X имеет полный ранг. Используя предыдущее разложение может быть показано что:
(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)^{+} (15)
Последнее равенство получается из того что 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) получаем:
\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(16)
Окончательно модель:
y=(X_S + X_N)({\beta}_S + {\beta}_N) +e(17)
Где e это вектор остатков.
Из (15) получаем:
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)(18)
Элементы на главной диогонали (X^T_N X_N)^{-1} это VIF, которые могут быть разложены на компоненты соответствующие каждому {\beta}_{Si} и {\beta}_{Ni} (i=1,2,...,p).

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

Когда есть мультиколлинеарность одино или более собственных значений близко к нулю, и соответствующие им собственные вектора содержат информацию о зависимостях между признаками. Выведеное разложение помогает выявить какие переменные показывают наибольшую вовлеченность в зависимости.
Из (16) получаем:
{\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} (19)
где 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) \mathcal N по шагам используя разложение (7) и обычно мы будем наблюдать уменьшение абсолютных значений {\beta}_{Si} и увеличение {\beta}_{Ni}. Когда (p-s) соответствует числу индексов обусловленности показывающих существование зависимостей {\beta}_{Si} может рассматриваться как общие значения параметров метода наименьших квадратов. Это актуально, когда знак какого-либо параметра не является таким как ожидалось, и в целом это зависит от мультиколлинеарности.С помощью разложения, как уже отмечалось, мы можем получить что {\beta}_{Si} будет иметь нужный знак, в то время как часть значения перешедшего {\beta}_{Ni} (благодаря коллинеарности) будет иметь противоположный знак и большее абсолютное значение.
Чтобы исследовать влияние коллинеарности на параметры линейной регрессии лучше, ковариационная матрица может быть переписана:
 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) (20)
и
 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) (21)
Отклонение каждого {\beta}_{i} может быть выражено как
Var({\beta}_{i})= {\sigma}^2 \sum^{p}_{j=1} { \frac{{\upsilon}_{ij}^2}{d_j^2}} (22)
Из (18) мы можем разделить отклонение:
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}}(23)
Так как сингулярные значения  d_{s+1}...d_p близки к нулю,то если соответствующие {\upsilon}_{ij} не очень малы, второй член будет больше первого, т.к отклонение {\beta}_{Ni} будет больше чем {\beta}_{Si}.Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения Var({\beta}_{Si}) и увеличивать Var({\beta}_{Ni}).

Смотри также

Литература

Личные инструменты