Анализ мультиколлинеарности (пример)

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

(Различия между версиями)
Перейти к: навигация, поиск
м (Методика Belsley, Kuh, и Welsch (BKW))
м (Методика Belsley, Kuh, и Welsch (BKW))
Строка 60: Строка 60:
Перед использованием BKW необходимо отмасштабировать матрицу <tex>X</tex>. Стандартно применяется приведение столбцов к одинаковой длинне(норму). Будем рассматривать отмасштабированные индексы соотношений <tex>\stackrel{\sim}{{\eta}_{i}}(X)</tex> :<br/>
Перед использованием BKW необходимо отмасштабировать матрицу <tex>X</tex>. Стандартно применяется приведение столбцов к одинаковой длинне(норму). Будем рассматривать отмасштабированные индексы соотношений <tex>\stackrel{\sim}{{\eta}_{i}}(X)</tex> :<br/>
<tex>X=[{X}_{1}\cdot\cdot\cdot{X}_{p}]<tex><br/> <tex>{s}_{i}\equiv{({X}^{T}_{i}{X}_{i})}^{-1/2}</tex><br/> <tex>S\equiv \mbox{diag}({s}_{1},...,{s}_{p})</tex><br/>
<tex>X=[{X}_{1}\cdot\cdot\cdot{X}_{p}]<tex><br/> <tex>{s}_{i}\equiv{({X}^{T}_{i}{X}_{i})}^{-1/2}</tex><br/> <tex>S\equiv \mbox{diag}({s}_{1},...,{s}_{p})</tex><br/>
-
<tex>\stackrel{\sim}{\eta}\equiv {\eta}_{i}(XS)</tex>, <tex>i=1,...,p</tex>
+
<tex>\stackrel{\sim}{\eta}\equiv {\eta}_{i}(XS)</tex>, <tex>i=1,...,p</tex><br/>
 +
Алгоритм BKW : <br/>
 +
1. Создание матрицы данных <tex>X</tex>.<br/>
 +
2. Приведение столбцов матрицы к одинаковой длинне.<br/>
 +
3. Вычисление индексов соотношений и дисперсионных соотношений.<br/>
 +
4. Определение зависимых признаков.
== Вычислительный эксперимент ==
== Вычислительный эксперимент ==

Версия 12:24, 7 июня 2010

Мультиколлинеарность — тесная корреляционная взаимосвязь между отбираемыми для анализа факторами, совместно воздействующими на общий результат, которая затрудняет оценивание регрессионных параметров.

Содержание

Постановка задачи

Задана выборка D = \{ y_i,\mathbf{x}_i\}_{i=1}^n откликов и признаков. Рассматривается множество линейных регрессионных моделей вида:

y_i=\sum_{j=1}^m w_j x_{ij} + \varepsilon_i, i=1,\dots,n Предполагается, что вектор регрессионных невязок имеет нулевое математическое ожидание и дисперсию \sigma^2. Требуется создать инструмент исследования мультиколлинеарности признаков (методики VIF, Belsley) и исследовать устойчивость модели на зависимость параметров модели от дисперсии случайной переменной и выбросов в выборке.

Описание алгоритма

Фактор инфляции дисперсии (VIF)

Дисперсия w_i:

D\hat{w}_j=\frac{\sigma^2}{(n-1)D x_j}\frac{1}{1-R_j^2}.

Первая дробь связана с дисперсией невязок и дисперсией векторов признаков. Вторая — фактор инфляции дисперсии, связанный с корреляцей данного признака с другими:

VIF_j=\frac{1}{1-R_j^2},

где R_j^2коэффициент детерминации j-го признака относительно остальных:

R_j^2 \equiv 1-{\sum_{i=1}^n (x_{ij} - \hat{x}_{ij})^2 \over \sum_{i=1}^n (x_{ij}-\bar{\mathbf{x}}_j)^2},\.

Равенство единице фактора инфляции дисперсии говорит об ортогональности вектора значений признака остальным. Если значение VIF_j велико, то 1-R^2_j — мало, то есть R_j^2 близко к 1. Большие значения фактора инфляции дисперсии соответствуют почти линейной зависимости j-го столбца от остальных.

Методика Belsley, Kuh, и Welsch (BKW)

Диагностика Коллинеарности BKW основана на двух элементах, относящихся к  n \times p матрице данных X использующейся в линейной регрессии  y = X \beta + \epsilon : индексы состояния(the scaled condition indexes) и the variance-decomposition proportions. Оба этих диагностических элемента могут быть получены из сингулярного разложения (SVD) матрицы X:  X=UD{V^{T}}, где {U}^{T}U={V}^{T}V={I}_{p} и D - диогональная с неотрицательными элементами {\mu}_{1},...,{\mu}_{p} называющимися сингулярными значениями X. Индексы состояния это: {\eta}_{k}\equiv\frac{{\mu}_{max}}{{\mu}_{k}}, k=1,...,p
{\eta}_{k} \geq 0 для всех k. Большое значение {\eta}_{k} указывает на зависимость близкую к линейной между признаками и чем больше {\eta}_{k} тем сильнее зависимость. Дисперсионные соотношения разложения проистекают из того факта, что используя SVD ковариационная матрица метода наименьших квадратов  b=(X^{T}X)^{-1}X^{T}y может записана как:
 V(b)={\sigma}^{2}(X^{T}X)^{-1} = {\sigma}^{2}V D^{-2} V^{T} (3)
где {\sigma}^{2} это дисперсия возмущения \varepsilon. Таким образом дисперсия k-го регрессионного коэффициента {b}_{k} это k-й диогональный элемент (3):

\mbox{var}({b}_{k})={\sigma}^{2}	\sum_{j} {\frac{{\upsilon}^{2}_{kj}}{{\mu}^{2}_{j}}} (4)
где {\mu}_{j} - сингулярные значения X и V\equiv({\upsilon}_{ij}). Определим k, j-е дисперсионное соотношение как долю дисперсии k-го регрессионного коэффициента связанная с j-м компонентом его разложения (4). Доля считается как:
{\phi}_{kj}\equiv\frac{{\upsilon}^{2}_{kj}}{{\mu}^{2}_{j}}, {\phi}_{k}\equiv\sum^{p}_{j=1} {\phi}_{kj}, k=1,...,p
Дисперсионное соотношение:
{\pi}_{jk}\equiv\frac{{\phi}_{kj}}{{\phi}_{k}}, k,j=1,...,p
Данные удобно представить в виде таблицы: X=[{X}_{1}\cdot\cdot\cdot{X}_{p}]<tex>, <tex>{s}_{i}\equiv{({X}^{T}_{i}{X}_{i})}^{-1/2}, S\equiv \mbox{diag}({s}_{1},...,{s}_{p}), \stackrel{\sim}{\eta}\equiv {\eta}_{i}(XS), i=1,...,p

Condition index var({b}_{1}) var({b}_{2}) ... var({b}_{p})
{\eta}_{1} {\pi}_{11} {\pi}_{12} ... {\pi}_{1p}
{\eta}_{2} {\pi}_{11} ... ... {\pi}_{2p}
. . . .
. . . .
. . . .
{\eta}_{p} {\pi}_{p1} {\pi}_{11} ... {\pi}_{pp}

Перед использованием BKW необходимо отмасштабировать матрицу X. Стандартно применяется приведение столбцов к одинаковой длинне(норму). Будем рассматривать отмасштабированные индексы соотношений \stackrel{\sim}{{\eta}_{i}}(X) :
X=[{X}_{1}\cdot\cdot\cdot{X}_{p}]<tex><br/> <tex>{s}_{i}\equiv{({X}^{T}_{i}{X}_{i})}^{-1/2}
S\equiv \mbox{diag}({s}_{1},...,{s}_{p})
\stackrel{\sim}{\eta}\equiv {\eta}_{i}(XS), i=1,...,p
Алгоритм BKW :
1. Создание матрицы данных X.
2. Приведение столбцов матрицы к одинаковой длинне.
3. Вычисление индексов соотношений и дисперсионных соотношений.
4. Определение зависимых признаков.

Вычислительный эксперимент

Исходный код

Смотри также

Литература

Данная статья является непроверенным учебным заданием.
Студент: Участник:Сунгуров Дмитрий
Преподаватель: Участник:В.В.Стрижов
Срок: 28 мая 2010

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.

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