Анализ мультиколлинеарности (пример)
Материал из MachineLearning.
м (→Методика Belsley, Kuh, и Welsch (BKW)) |
(→Исходный код) |
||
(9 промежуточных версий не показаны.) | |||
Строка 3: | Строка 3: | ||
Задана выборка <tex>D = \{ y_i,\mathbf{x}_i\}_{i=1}^n</tex> признаков и зависимой переменной. Рассматривается [[Линейная регрессия (пример)|линейная регрессионная модель]] вида: | Задана выборка <tex>D = \{ y_i,\mathbf{x}_i\}_{i=1}^n</tex> признаков и зависимой переменной. Рассматривается [[Линейная регрессия (пример)|линейная регрессионная модель]] вида: | ||
- | <tex>y_i=\sum_{j=1}^m | + | <tex>y_i=\sum_{j=1}^m b_j x_{ij} + \varepsilon_i, i=1,\dots,n</tex> |
Предполагается, что вектор регрессионных невязок имеет нулевое математическое ожидание и дисперсию <tex>\sigma^2</tex>. | Предполагается, что вектор регрессионных невязок имеет нулевое математическое ожидание и дисперсию <tex>\sigma^2</tex>. | ||
Требуется создать инструмент исследования мультиколлинеарности признаков (методики VIF, Belsley) и проверить его работу на модельных данных. | Требуется создать инструмент исследования мультиколлинеарности признаков (методики VIF, Belsley) и проверить его работу на модельных данных. | ||
Строка 9: | Строка 9: | ||
== Описание алгоритма == | == Описание алгоритма == | ||
=== [[Фактор инфляции дисперсии|Фактор инфляции дисперсии (VIF)]] === | === [[Фактор инфляции дисперсии|Фактор инфляции дисперсии (VIF)]] === | ||
- | |||
- | |||
- | + | === [[Метод Белсли|Методика Belsley, Kuh, и Welsch (BKW) ]]=== | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | === [[ | + | |
Диагностика коллинеарности BKW основана на двух элементах, относящихся к <tex> n \times p</tex> матрице данных <tex>X </tex> использующейся в линейной регрессии <tex> y = X \beta + \epsilon</tex> : индексы обусловленности(the scaled condition indexes) и дисперсионные доли(the variance-decomposition proportions). Оба этих диагностических элемента могут быть получены из сингулярного разложения (SVD) матрицы <tex>X</tex>: <tex> X=UD{V^{T}}</tex>, где <tex>{U}^{T}U={V}^{T}V={I}_{p}</tex> и <tex>D</tex> - диагональная с неотрицательными элементами <tex>{\mu}_{1},...,{\mu}_{p}</tex> называющимися сингулярными числами <tex>X</tex>. Индексы обусловленности это:<br /> | Диагностика коллинеарности BKW основана на двух элементах, относящихся к <tex> n \times p</tex> матрице данных <tex>X </tex> использующейся в линейной регрессии <tex> y = X \beta + \epsilon</tex> : индексы обусловленности(the scaled condition indexes) и дисперсионные доли(the variance-decomposition proportions). Оба этих диагностических элемента могут быть получены из сингулярного разложения (SVD) матрицы <tex>X</tex>: <tex> X=UD{V^{T}}</tex>, где <tex>{U}^{T}U={V}^{T}V={I}_{p}</tex> и <tex>D</tex> - диагональная с неотрицательными элементами <tex>{\mu}_{1},...,{\mu}_{p}</tex> называющимися сингулярными числами <tex>X</tex>. Индексы обусловленности это:<br /> | ||
<tex>{\eta}_{k}\equiv\frac{{\mu}_{max}}{{\mu}_{k}}</tex>, <tex>k=1,...,p</tex> <br /> | <tex>{\eta}_{k}\equiv\frac{{\mu}_{max}}{{\mu}_{k}}</tex>, <tex>k=1,...,p</tex> <br /> | ||
Строка 29: | Строка 16: | ||
{{eqno|3}} | {{eqno|3}} | ||
<tex> V(b)={\sigma}^{2}(X^{T}X)^{-1} = {\sigma}^{2}V D^{-2} V^{T}</tex><br /> | <tex> V(b)={\sigma}^{2}(X^{T}X)^{-1} = {\sigma}^{2}V D^{-2} V^{T}</tex><br /> | ||
- | где <tex>{\sigma}^{2}</tex> это дисперсия возмущения <tex>\varepsilon</tex>. Таким образом дисперсия <tex>k</tex>-го регрессионного коэффициента <tex>{b}_{k}</tex> это <tex>k</tex>-й | + | где <tex>{\sigma}^{2}</tex> это дисперсия возмущения <tex>\varepsilon</tex>. Таким образом дисперсия <tex>k</tex>-го регрессионного коэффициента <tex>{b}_{k}</tex> это <tex>k</tex>-й диагональный элемент {{eqref|3}}: <br /> |
{{eqno|4}} | {{eqno|4}} | ||
<tex>\mbox{var}({b}_{k})={\sigma}^{2} \sum_{j} {\frac{{\upsilon}^{2}_{kj}}{{\mu}^{2}_{j}}}</tex><br/> | <tex>\mbox{var}({b}_{k})={\sigma}^{2} \sum_{j} {\frac{{\upsilon}^{2}_{kj}}{{\mu}^{2}_{j}}}</tex><br/> | ||
Строка 168: | Строка 155: | ||
== Исходный код == | == Исходный код == | ||
- | *Cкачать листинги алгоритмов можно здесь [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/ | + | *Cкачать листинги алгоритмов можно здесь [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group774/Sungurov2010Multicollinearity/] |
== Смотри также == | == Смотри также == | ||
Строка 176: | Строка 163: | ||
* [[Линейная регрессия (пример)]] | * [[Линейная регрессия (пример)]] | ||
* [[Сингулярное разложение]] | * [[Сингулярное разложение]] | ||
- | * [[ | + | * [[Метод Белсли]] |
== Литература == | == Литература == | ||
Строка 182: | Строка 169: | ||
* D. A. Belsley, A Guide to Using the Collinearity Diagnostics. Computer Science in Economics and Management 4: 33-50, 1991. | * D. A. Belsley, A Guide to Using the Collinearity Diagnostics. Computer Science in Economics and Management 4: 33-50, 1991. | ||
* Karen Callaghan and Jie Chen, Revisiting the Collinear Data Problem: An Assessment of Estimator 'Ill-Conditioning' in Linear Regression. Practical Assessment, Research & Evaluation, 2008, 13. | * Karen Callaghan and Jie Chen, Revisiting the Collinear Data Problem: An Assessment of Estimator 'Ill-Conditioning' in Linear Regression. Practical Assessment, Research & Evaluation, 2008, 13. | ||
- | {{ | + | {{ЗаданиеВыполнено|Сунгуров Дмитрий|В.В.Стрижов|28 мая 2010|e1ekt|strijov}} |
[[Категория:Практика и вычислительные эксперименты]] | [[Категория:Практика и вычислительные эксперименты]] | ||
[[Категория:Линейная регрессия]] | [[Категория:Линейная регрессия]] |
Текущая версия
Мультиколлинеарность — тесная корреляционная взаимосвязь между отбираемыми для анализа факторами, совместно воздействующими на общий результат, которая затрудняет оценивание регрессионных параметров.
Содержание |
Постановка задачи
Задана выборка признаков и зависимой переменной. Рассматривается линейная регрессионная модель вида:
Предполагается, что вектор регрессионных невязок имеет нулевое математическое ожидание и дисперсию . Требуется создать инструмент исследования мультиколлинеарности признаков (методики VIF, Belsley) и проверить его работу на модельных данных.
Описание алгоритма
Фактор инфляции дисперсии (VIF)
Методика Belsley, Kuh, и Welsch (BKW)
Диагностика коллинеарности BKW основана на двух элементах, относящихся к матрице данных использующейся в линейной регрессии : индексы обусловленности(the scaled condition indexes) и дисперсионные доли(the variance-decomposition proportions). Оба этих диагностических элемента могут быть получены из сингулярного разложения (SVD) матрицы : , где и - диагональная с неотрицательными элементами называющимися сингулярными числами . Индексы обусловленности это:
,
для всех . Наибольший из индексов обусловленности это число обусловленности матрицы . Большое значение указывает на зависимость близкую к линейной между признаками и чем больше тем сильнее зависимость. Дисперсионные доли находятся из того факта, что используя SVD ковариационная матрица метода наименьших квадратов может записана как:
где это дисперсия возмущения . Таким образом дисперсия -го регрессионного коэффициента это -й диагональный элемент (3):
где - сингулярные значения и .
Определим -е дисперсионное соотношение как долю дисперсии -го регрессионного коэффициента связанная с -м компонентом его разложения (4). Доля считается как:
,
,
Дисперсионное соотношение:
,
Данные удобно представить в виде таблицы:
Condition index | ||||
---|---|---|---|---|
... | ||||
... | ... | |||
. | . | . | . | |
. | . | . | . | |
. | . | . | . | |
... |
Перед использованием BKW необходимо отмасштабировать матрицу . Стандартно применяется приведение столбцов к одинаковой длинне(норму). Будем рассматривать отмасштабированные индексы обусловленности :
,
Алгоритм BKW
1. Стандартизация столбцов матрицы.
2. Вычисление индексов обусловленности и дисперсионных долей.
3. Определение количества зависимостей.
Превышение индексом обусловленности выбраного заранее порога означает наличие зависимости между признаками.
Относительная сила зависимости определяется положение значения индекса обусловленности в прогресии 1, 3, 10, 30, 100, 300, 1000 итд.
4. Определение признаков участвующих в зависимости.
2 случая :
1) Только один достаточно большой индекс обусловленности - тогда возможно определение участвующих в зависимости признаков из дисперсионных долей: признак считается вовлеченным если его дисперсионная доля связанная с этим индексом превышает выбранный порог (обычно 0.25).
2) Есть несколько больших индексов обусловленности. В этом случае вовлеченность признака в зависимость определяется по сумме его дисперсионных долей отвечающих большим значениям индекса обусловленности - когда сумма превышает порог признак участвует как минимум в одной линейной зависимости.
Вычислительный эксперимент
В эксперименте используются модельные данные, для которых вычисляется VIF и матрица Belsley в зависимоти от параметра определяющего степень коллинеарности между признаками. Зависимость VIF и индексов обусловленности показана на графиках. Остальная часть таблицы BKW раскрашивалась (от темно-синего для 0 к темно-красному для 1) и создавалось видео показывающее ее изменение при параметре от 0 до 1.
Пример 1
Используются два ортогональных признака , и третий признак зависящий от параметра . При все признаки ортогональны, при увеличении зависимый признак приближается к , вплоть до полной коллинеарности при .
Зависимость VIF от параметра:
Как видно из графика VIF и растет вплоть до бесконечности при , VIF при этом не изменен и равен 1.
Зависимость индексов обусловленности от :
Таблица дисперсионных долей:
Видно что признаки и связаны усиляющейся зависимостью, и что других связей нет.
Пример 2
Используется неизменные признаки , и зависящие от параметра признаки ,,. При все признаки ортогональны, при увеличении признаки , приближаются к , а - к вплоть до полной коллинеарности при .
Зависимость VIF от параметра:
Зависимость индексов обусловленности от :
Таблица дисперсионных долей:
Наблюдается две основных зависимости - первая зависимость между признаками , , и вторая между признаками , .
Пример 3
Используются реальные данные. На них был проведен эксперимент по вычислению VIF и таблицы BKW.
# | VIF | # | VIF |
---|---|---|---|
1 | 1.21 | 7 | 3.82 |
2 | 1.31 | 8 | 7.43 |
3 | 1.69 | 9 | 3.46 |
4 | 1.51 | 10 | 1.47 |
5 | 19.27 | 11 | 1.97 |
6 | 16.37 |
У двух признаков значение фактора инфляции дисперсии больше 10, еще у одного больше 5. Такой результат — следствие их мультиколлинеарности относительно остальных признаков нашего набора.
Condition index | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 0.0004 | 0.0006 | 0.0001 | 0.0001 | 0.0000 | 0.0000 | 0.0001 | 0.0001 | 0.0000 | 0.0000 | 0.0008 |
7.12 | 0.0031 | 0.0016 | 0.00016 | 0.0002 | 0.0001 | 0.0000 | 0.0251 | 0.0043 | 0.0000 | 0.0002 | 0.2885 |
9.03 | 0.0003 | 0.2262 | 0.0013 | 0.0007 | 0.0000 | 0.0010 | 0.0284 | 0.0154 | 0.0000 | 0.0001 | 0.1557 |
10.88 | 0.0149 | 0.3400 | 0.0003 | 0.0035 | 0.0022 | 0.01285 | 0.0007 | 0.0179 | 0.0000 | 0.0003 | 0.0380 |
14.14 | 0.9113 | 0.0819 | 0.0036 | 0.0003 | 0.0001 | 0.0001 | 0.0179 | 0.0001 | 0.0003 | 0.0004 | 0.0158 |
18.83 | 0.0233 | 0.2490 | 0.1015 | 0.0240 | 0.0032 | 0.0238 | 0.0240 | 0.0325 | 0.0105 | 0.0398 | 0.3721 |
26.77 | 0.0032 | 0.0063 | 0.6467 | 0.0012 | 0.0004 | 0.0268 | 0.0326 | 0.0897 | 0.0318 | 0.0296 | 0.0324 |
29.44 | 0.0316 | 0.0509 | 0.1138 | 0.9072 | 0.0000 | 0.0075 | 0.0504 | 0.0163 | 0.0073 | 0.0040 | 0.0128 |
34.04 | 0.0065 | 0.0026 | 0.0337 | 0.0310 | 0.0014 | 0.0211 | 0.0472 | 0.0863 | 0.0322 | 0.8635 | 0.0105 |
46.73 | 0.0043 | 0.0048 | 0.0009 | 0.0124 | 0.0460 | 0.0027 | 0.5990 | 0.7163 | 0.3045 | 0.0003 | 0.0468 |
101.67 | 0.0006 | 0.03557 | 0.0974 | 0.0190 | 0.9462 | 0.9036 | 0.1742 | 0.0207 | 0.613 | 0.0612 | 0.0261 |
Из таблицы видно что самому большому индексу обусловленности соответствует связь между 5, 6 и 9 признаками которым соответсвуют 19, 16 и 3 значения VIF. Также видна зависимость между 7 и 8 признаками - со значениями 3 и 7 VIF соответственно.
Исходный код
- Cкачать листинги алгоритмов можно здесь [1]
Смотри также
- Фактор инфляции дисперсии
- Мультиколлинеарность
- Метод наименьших квадратов
- Линейная регрессия (пример)
- Сингулярное разложение
- Метод Белсли
Литература
- Gianfranco Galmacci, Collinearity Detection in Linear Regression. Computational Economics 9:215-227, 1996.
- D. A. Belsley, A Guide to Using the Collinearity Diagnostics. Computer Science in Economics and Management 4: 33-50, 1991.
- Karen Callaghan and Jie Chen, Revisiting the Collinear Data Problem: An Assessment of Estimator 'Ill-Conditioning' in Linear Regression. Practical Assessment, Research & Evaluation, 2008, 13.
Данная статья была создана в рамках учебного задания.
См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |