Анализ мультиколлинеарности (пример)
Материал из MachineLearning.
м (→Фактор инфляции дисперсии (VIF)) |
м (→Вычислительный эксперимент) |
||
Строка 90: | Строка 90: | ||
===Пример 2=== | ===Пример 2=== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
Используется неизменные признаки <tex>x_1</tex>, <tex>x_2</tex> и зависящие от параметра <tex>k</tex> признаки <tex>y_1</tex>,<tex>y_2</tex>,<tex>y_3</tex>. При <tex>k=0</tex> все признаки ортогональны, при увеличении <tex>k</tex> признаки <tex>y_1</tex>, <tex>y_2</tex> приближаются к <tex>x_1</tex>, а <tex>y_3</tex> - к <tex>x_2</tex> вплоть до полной коллинеарности при <tex>k=1</tex>.<br/> | Используется неизменные признаки <tex>x_1</tex>, <tex>x_2</tex> и зависящие от параметра <tex>k</tex> признаки <tex>y_1</tex>,<tex>y_2</tex>,<tex>y_3</tex>. При <tex>k=0</tex> все признаки ортогональны, при увеличении <tex>k</tex> признаки <tex>y_1</tex>, <tex>y_2</tex> приближаются к <tex>x_1</tex>, а <tex>y_3</tex> - к <tex>x_2</tex> вплоть до полной коллинеарности при <tex>k=1</tex>.<br/> | ||
Зависимость VIF от параметра:<br/> | Зависимость VIF от параметра:<br/> | ||
Строка 112: | Строка 100: | ||
|}<br/> | |}<br/> | ||
Наблюдается две основных зависимости - первая зависимость между признаками <tex>x_1</tex>, <tex>y_1</tex>, <tex>y_2</tex> и вторая между признаками <tex>x_2</tex>, <tex>y_3</tex>. | Наблюдается две основных зависимости - первая зависимость между признаками <tex>x_1</tex>, <tex>y_1</tex>, <tex>y_2</tex> и вторая между признаками <tex>x_2</tex>, <tex>y_3</tex>. | ||
+ | |||
+ | ===Пример 3=== | ||
+ | Используются [http://www-stat.stanford.edu/~hastie/Papers/LARS/ реальные данные]. На них был проведен эксперимент по вычислению VIF и таблицы BKW. | ||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |- bgcolor="#ccccc" | ||
+ | ! width=30 % |# | ||
+ | ! width=40 % |VIF | ||
+ | ! width=30 % |# | ||
+ | ! width=40 % |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. Такой результат — следствие их мультиколлинеарности относительно остальных признаков нашего набора. | ||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |- bgcolor="#ccccc" | ||
+ | ! width=70 % |Condition index | ||
+ | ! width=50 % |<tex>var({b}_{1}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{2}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{3}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{4}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{5}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{6}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{7}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{8}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{9}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{10}) </tex> | ||
+ | ! width=50 % |<tex>var({b}_{11}) </tex> | ||
+ | |- | ||
+ | | 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 соответственно. | ||
== Исходный код == | == Исходный код == |
Версия 07:26, 24 ноября 2010
Мультиколлинеарность — тесная корреляционная взаимосвязь между отбираемыми для анализа факторами, совместно воздействующими на общий результат, которая затрудняет оценивание регрессионных параметров.
Содержание |
Постановка задачи
Задана выборка признаков и зависимой переменной. Рассматривается линейная регрессионная модель вида:
Предполагается, что вектор регрессионных невязок имеет нулевое математическое ожидание и дисперсию . Требуется создать инструмент исследования мультиколлинеарности признаков (методики VIF, Belsley) и проверить его работу на модельных данных.
Описание алгоритма
Фактор инфляции дисперсии (VIF)
В задаче восстановления регрессии фактор инфляции дисперсии (VIF) — мера мультиколлинеарности. Он позволяет оценить увеличение дисперсии заданного коэффициента регрессии, происходящее из-за высокой корреляции данных. Дисперсия может быть выражена как:
Первая дробь связана с дисперсией невязок и дисперсией векторов признаков. Вторая — фактор инфляции дисперсии, связанный с корреляцей данного признака с другими:
где — коэффициент детерминации j-го признака относительно остальных - фактически он содержит информацию о том, насколько точно можно построить регрессию для j-го признака относительно остальных, т.е его зависимость от них.
Равенство единице фактора инфляции дисперсии говорит об ортогональности вектора значений признака остальным. Если значение велико, то — мало, то есть близко к 1. Большие значения фактора инфляции дисперсии соответствуют почти линейной зависимости j-го столбца от остальных.
Методика 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]
Смотри также
- Фактор инфляции дисперсии
- Мультиколлинеарность
- Метод наименьших квадратов
- Линейная регрессия (пример)
- Сингулярное разложение
- Методика Belsley
Литература
- 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.
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |