Как вы можете обрабатывать нестабильные оценки в линейной регрессии с высокой мультиколлинеарностью, не выбрасывая переменные?

13

Бета-стабильность в линейной регрессии с высокой мультиколлинеарностью?

Скажем, в линейной регрессии переменные и имеют высокую мультиколлинеарность (корреляция составляет около 0,9).х 2x1x2

Мы обеспокоены стабильностью коэффициента поэтому мы должны рассмотреть мультиколлинеарность.β

Решение учебника было бы просто выбросить одну из переменных.

Но мы не хотим терять полезную информацию, просто отбрасывая переменные.

Какие-либо предложения?

Luna
источник
5
Вы пробовали какую-то схему регуляризации (например, регрессию гребня)?
Нестор

Ответы:

11

Вы можете попробовать метод гребневой регрессии в случае, когда матрица корреляции близка к единственной (т.е. переменные имеют высокую корреляцию). Это даст вам надежную оценку .β

Вопрос только в том, как выбрать параметр регуляризации . Это не простая проблема, хотя я предлагаю попробовать разные значения.λ

Надеюсь это поможет!

Павел
источник
2
Перекрестная проверка - обычная вещь для выбора ;-). λ
Нестор
действительно (+1 для ответа и комментария Нестора), и если вы выполняете вычисления в «канонической форме» (используя собственную декомпозицию , вы можете найти минимизирующую ошибку перекрестной проверки, оставляя один выход) по методу Ньютона очень дешевоλXTXλ
Дикран Marsupial
большое спасибо! Любой учебник / заметки о том, как это сделать, включая перекрестную проверку в R?
Луна
Проверьте главу 3 в этой книге: stanford.edu/~hastie/local.ftp/Springer/ESLII_print5.pdf . Внедрение регрессии гребня сделано в R некоторыми авторами (Google - ваш друг!).
Нестор
2
Вы можете использовать lm.ridgeпроцедуру в пакете MASS. Если вы передадите ему диапазон значений для , например, для вызова, например , вы получите обратно обобщенную статистику перекрестной проверки и можете построить ее для : для выбора минимума. λλfoo <- lm.ridge(y~x1+x2,lambda=seq(0,10,by=0.1))fooλplot(foo$GCV~foo$lambda)
Jbowman
10

Ну, есть один специальный метод, который я использовал раньше. Я не уверен, что у этой процедуры есть имя, но она имеет смысл интуитивно.

Предположим, ваша цель - соответствовать модели

Yi=β0+β1Xi+β2Zi+εi

где два предиктора - - сильно коррелированы. Как вы указали, использование их обоих в одной модели может сделать странные вещи с оценками коэффициентов и . Альтернатива - соответствовать модели pXi,Zip

Zi=α0+α1Xi+ηi

Тогда невязка будет некоррелирована с и в некотором смысле может рассматриваться как часть , не включенная в ее линейную связь с . Затем вы можете перейти к моделиX i Z i X iηiXiZiXi

Yi=θ0+θ1Xi+θ2ηi+νi

который уловит все эффекты первой модели (и, действительно, будет иметь точно такой же что и первая модель), но предикторы больше не будут коллинеарными.R2

Редактировать: OP попросил объяснить, почему у остатков, по определению, нет выборочной корреляции нуля с предиктором, когда вы пропускаете перехват, как они делают, когда перехват включен. Это слишком долго, чтобы оставлять в комментариях, поэтому я внес изменения здесь. Этот вывод не особенно поучителен (к сожалению, я не смог придумать разумный интуитивный аргумент), но он показывает, что запросил OP :

Когда перехват в простой линейной регрессии опущен , , поэтому . Выборочная корреляция между и пропорциональна где обозначает среднее значение выборки для количества под столбцом. Сейчас я покажу, что это не обязательно равно нулю. ei=yi-xixiyiβ^=xiyixi2 xiei ¯ x e - ¯ x ¯ e ¯ ei=yixixiyixi2xiei

xe¯x¯e¯
¯

Сначала мы имеем

xe¯=1n(xiyixi2xiyixi2)=xy¯(1xi2xi2)=0

но

x¯e¯=x¯(y¯x¯xy¯x2¯)=x¯y¯x¯2xy¯x2¯

поэтому, чтобы и имели выборочную корреляцию ровно 0, нам нужно, чтобы был равен . То есть нам нужноx i ¯ x ¯ e 0 ¯ y = ¯ x¯ x yeixix¯e¯0

y¯=x¯xy¯x2¯

что в общем случае не выполняется для двух произвольных наборов данных .x,y

макрос
источник
Это напоминает мне о графиках частичной регрессии .
Энди W
3
Это звучит как приближение к замене их основными компонентами. (X,Z)
whuber
3
Я имел в виду одну вещь: PCA легко обобщает более двух переменных. Другое заключается в том, что он обрабатывает и симметрично, в то время как ваше предложение появляется произвольно, чтобы выделить одну из этих переменных. Другая мысль заключалась в том, что PCA обеспечивает дисциплинированный способ уменьшения количества переменных (хотя следует быть осторожным с этим, поскольку небольшой главный компонент может быть сильно коррелирован с зависимой переменной). ZXZ
whuber
1
Привет Макро, Спасибо за отличное доказательство. Да, теперь я понимаю это. Когда мы говорим о выборочной корреляции между x и невязками, требуется, чтобы член перехвата был включен для выборочной корреляции, равной 0. С другой стороны, когда мы говорим об ортогональности между x и невязками, он не требует термина «перехват» быть включенным, чтобы ортогональность сохранялась.
Луна
1
@Luna, я не особенно не согласен с использованием регрессии гребня - это было только то, что сначала пришло мне в голову (я ответил, прежде чем это было предложено). Одно могу сказать, что оценки регрессии гребня являются предвзятыми, поэтому в некотором смысле вы на самом деле оцениваете немного другое (уменьшенное) количество, чем при обычной регрессии, что делает интерпретацию коэффициентов, возможно, более сложной (как для банды) намекает на). Кроме того, то, что я здесь описал, требует только понимания базовой линейной регрессии и может быть более интуитивно привлекательным для некоторых.
Макро
4

Мне нравятся оба ответа, данные до сих пор. Позвольте мне добавить несколько вещей.

Другой вариант заключается в том, что вы также можете комбинировать переменные. Это делается путем стандартизации обоих (т. Е. Превращения их в z-оценки), их усреднения, а затем подгонки вашей модели только к составной переменной. Это будет хорошим подходом, если вы считаете, что это две разные меры одной и той же базовой конструкции. В этом случае у вас есть два измерения, которые загрязнены ошибкой. Наиболее вероятное истинное значение для переменной, которую вы действительноЗабота о них находится между ними, поэтому их усреднение дает более точную оценку. Сначала вы стандартизируете их, чтобы поместить их в одну шкалу, чтобы номинальные проблемы не загрязняли результат (например, вам не хотелось бы усреднять несколько измерений температуры, если некоторые из них являются градусами Фаренгейта, а некоторые - градусами Цельсия). Конечно, если они уже находятся в одном масштабе (например, несколько высоко коррелированных опросов общественного мнения), вы можете пропустить этот шаг. Если вы думаете, что одна из ваших переменных может быть более точной, чем другая, вы можете сделать средневзвешенное значение (возможно, используя обратную величину ошибок измерения).

Если ваши переменные являются просто разными мерами одной и той же конструкции и достаточно сильно коррелированы, вы действительно можете просто выбросить одну из них, не теряя много информации. Например, однажды я действительно находился в ситуации, когда я хотел использовать ковариату, чтобы поглотить некоторую дисперсию ошибок и повысить мощность, но там, где я не заботился об этом ковариате - это было не совсем по существу. У меня было несколько вариантов и все они коррелируют друг с другом . Я выбрал один наугад и пошел дальше, и он работал нормально. Я подозреваю, что потерял бы силу, сжигая две дополнительные степени свободы, если бы я включил и другие, используя другую стратегию. Конечно, я мог бы объединить их, но зачем? r>.98Однако это критически зависит от того факта, что ваши переменные коррелированы, потому что это две разные версии одной и той же вещи; если есть другая причина, по которой они коррелируют, это может быть совершенно неуместно.

Поскольку это подразумевает, я предлагаю вам подумать о том, что скрывается за вашими коррелированными переменными. То есть вам нужна теория о том, почему они так сильно коррелированы, чтобы лучше всего выбирать, какую стратегию использовать. В дополнение к различным показателям одной и той же скрытой переменной, некоторые другие возможности включают причинную цепочку (т. ) и более сложные ситуации, в которых ваши переменные являются результатом множества причинных сил, некоторые из которых являются одинаково для обоих. Возможно, самый крайний случай - это случай с подавляющей переменной, который @whuber описывает в своем комментарии ниже. Например, предложение @ Macro предполагает, что вы в первую очередь интересуетесь и задаетесь вопросом о дополнительном вкладеX Z X x 1 x 2 X ZX1X2YXZ после учета вкладаТаким образом, думая о том, почему ваши переменные коррелируют и то , что вы хотите знать , поможет вам решить , какой (то есть, или ) следует рассматривать как и какие . Ключ должен использовать теоретическое понимание, чтобы сообщить ваш выбор. Xx1x2XZ

Я согласен, что регрессия гребня, возможно, лучше, потому что она позволяет вам использовать переменные, которые вы первоначально планировали, и, вероятно, приведет к бета-версиям, которые очень близки к их истинным значениям (хотя они будут смещены - см. Здесь или здесь для получения дополнительной информации ). Тем не менее, я думаю, что у этого также есть два потенциальных недостатка: он более сложный (требует большей статистической сложности), и, по моему мнению, полученную модель труднее интерпретировать.

Я понимаю, что, возможно, окончательный подход будет соответствовать модели структурного уравнения. Это потому, что это позволит вам сформулировать точный набор отношений, которые вы считаете действующими, включая скрытые переменные. Тем не менее, я не знаю SEM достаточно хорошо, чтобы сказать что-то об этом здесь, кроме упоминания о возможности. (Я также подозреваю, что в ситуации, которую вы описываете с двумя ковариатами, было бы излишним.)

Gung - Восстановить Монику
источник
4
X1eX1X2=X1+eX1Y=eYX1X2YX1X2Y=X2X1X1X2YY
Большое спасибо Gung! Q1. Почему этот подход работает: «Это делается путем стандартизации обоих (т.е. превращения их в z-оценки), их усреднения, а затем подгонки вашей модели только к составной переменной».? Q2. Почему Ридж Регресс будет лучше? Q3. Почему SEM будет лучше? Кто-нибудь, пожалуйста, пролить свет на это? Спасибо!
Луна
Привет Луна, рад помочь. Я на самом деле собираюсь отредактировать это; @whuber был более прав, чем я изначально предполагал. Я постараюсь добавить больше, чтобы помочь с вашими дополнительными вопросами, но это займет много времени, так что это может занять некоторое время. Как получится.
gung - Восстановить Монику