Метод Белсли

Материал из 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
Заметим что получившиеся матрицы ортогональны, т.е :
X_{S}^{T} X_{N} = O
что обеспечивает возможность ортогонального разложения X :
X=X_{S}+X_{N}
Здесь все матрицы имеют размер 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}
Далее мы получаем
X V_{S}=X_{S} V_{S}=U_{S} D_{S}
и
X V_{N}=X_{N} V_{N}=U_{N} D_{N} \approx O


\beta=(X^T X)^{-1} X^T y = X^{+}y 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)^{+}=V_S D^{-2}_S V_S^T (X^T_N X_N)^{+} \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

Анализ полученных данных

Смотри также

Литература

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