Метод Белсли

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

Перейти к: навигация, поиск

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

Содержание

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

Линейная регрессионная модель:
y=X \beta + \varepsilon. (1)
где y - n-мерный ветор ответа(зависимой переменной), X - n x p (n>p) матрица признаков \beta - p-мерный вектор неизвестных коэффициентов, \varepsilon - p-мерный вектор случайного возмущения с нулевым матожиданием и ковариационной матрицей {\sigma}^2 I, где I это n x n единичная матрица, а {\sigma}^2>0. Будем считать что X имеет ранг p. Если есть коллинеарность между признаками согласно Belsley имеет смысл использовать сингулярное разложение(SVD) чтобы определить вовлеченные переменные. Матрица сингулярного разложения X определяется как:
X=UDV^T. (2)
Где U - n x p ортогональная матрица, D - p x p верхняя диагональная матрица, чьи неотрицательные элементы являются сингулярными значениями X, V - p x 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},
где 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=(U_{p\times s}  V_{p \times (p-s)}) = (V_{S} V_{N}),
где 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}
Т.к 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}
Таким образом разложение нам дает:
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

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 близкими к 0 называется квази-нулевым пространством
Следовательно предложенное разложение подчеркивает X_S как часть X полученную из s основных компонентов которые в меньшей степени участвуют в коллинеарности. X^N же содержит информацию связанную с p-s компонентами которые участвую в коллинеарных зависимостях. Переменные, входящие в коллинеарности, это те, которые имеют наибольшие координаты в столбцах матрицы V_N. Вектор \beta минимизирующего ошибку в метода наименьших квадратов:
\beta=(X^T X)^{-1} X^T y = X^{+}y
где 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)^{+}
Последнее равенство получается из того что 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
Окончательно модель:
y=(X_S + X_N)({\beta}_S + {\beta}_N) +e
Где 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)
Элементы на главной диогонали (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}
где 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)
и
 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} может быть выражено как
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}}
Так как сингулярные значения  d_{s+1}...d_p близки к нулю, если соответствующие {\upsilon}_{ij} не очень малы, второй член будет больше первого, т.к отклонение {\beta}_{Ni} будет больше чем {\beta}_{Si}.Тогда по мере увеличения размерности квази-нуль пространства, мы можем ожидать, что переменные, которые более активно участвовуют в коллинеарных отношениях, связанных с собственными векторами принадлежащими этому пространству должны будут уменьшать значения Var({\beta}_{Si}) и увеличивать Var({\beta}_{Ni}).
По другому определить поведение параметров в присутствии коллинеарности можно через корреляционную матрицу {\beta}
<Cor(\beta)=Q^{-1/2}Cov(\beta)Q^{-1/2)=Q^{-1/2}(V D^{-2} V^T) Q^{-1/2}</tex>
где Q=diag(V D^{-2} V^T) - диагональная матрица чьи элементы совпадают с диагональными элементами (X^T X)^{-1} . Эта корреляционная матрица может быть разложена аналогично (18):
Cor({\beta}_S)=Q^{-1/2}_S(V_S D^{-2}_S V^T_S)   Q^{-1/2}_S
Cor({\beta}_N)=Q^{-1/2}_N(V_N D^{-2}_N V^T_N)   Q^{-1/2}_N (25)
Определим 2 новые матрицы:
S-Cor({\beta}_S)=Q^{-1/2}(V_S D^{-2}_S V^T_S)   Q^{-1/2}
S-Cor({\beta}_N)=Q^{-1/2}(V_N D^{-2}_N V^T_N)   Q^{-1/2}(26)
сумма которых равна Cor({\beta}. Основные диагональные элементы S-Cor({\beta}_N) это мера отклонения каждого параметра связанная с (p-s) зависимостями. Недиагональные элементы - мера корреляции между 2-мя признаками. (i,j) элементы матрицы это:

S-Cor({\beta}_{iN}{\beta}_{jN})= \frac {\sum^{p}_{l=s+1} { \frac{{\upsilon}_{il} {\upsilon}_{jl}}{d_l^2}}} {\sqrt{\sum^{p}_{l=1} { \frac{{\upsilon}_{il}^2}{d_l^2} \sum^{p}_{l=1} { \frac{{\upsilon}_{jl}^2}{d_l^2}}}

Смотри также

Литература

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