Ловушка фиктивной переменной в линейной регрессии

У меня есть набор данных, который содержит состояние категориального атрибута, которое может принимать Нью-Йорк, Калифорнию и Флориду.

  • После кодирования этих значений в фиктивные переменные, почему нам нужно отбросить одну переменную?
  • Может ли кто-нибудь объяснить мне, что такое ситуация ловушки фиктивной переменной в линейной регрессии.
  • Почему нам нужно отбросить 1 переменную, чтобы выйти из ситуации?

person ChiRag R Jain    schedule 10.03.2018    source источник
comment
Мне нужно теоретическое объяснение. Почему нам нужно отбросить одну переменную?   -  person ChiRag R Jain    schedule 10.03.2018
comment
Это называется ловушкой фиктивной переменной. Ловушка фиктивной переменной - это сценарий, в котором независимые переменные являются мультиколлинеарными - сценарий, в котором две или более переменных сильно коррелированы; Проще говоря, одну переменную можно предсказать, исходя из других. Поэтому одна переменная отбрасывается. (взято отсюда: algosome.com/articles/dummy-variable-trap -regression.html)   -  person msarafzadeh    schedule 29.03.2019


Ответы (2)


Это не всегда необходимо, но идея состоит в том, что если категориальный атрибут покрывает все пространство (т.е. ваши фиктивные переменные представляют все возможные значения для атрибута), то последняя фиктивная переменная может быть идеально предсказана другими фиктивными N-1. :

last_dummy = 1 if all sum(dummies[:N-1]) == 0 else 0

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

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

person carrdelling    schedule 11.03.2018
comment
Спасибо. Итак, если я включу в уравнение все фиктивные переменные, то связано ли это каким-либо образом с постоянным членом? Я где-то читал, что постоянный член и все фиктивные переменные не могут быть взяты вместе в линейное уравнение. - person ChiRag R Jain; 11.03.2018
comment
Нет, не совсем. Постоянный член (смещение) не должен зависеть от остальных переменных. Проблема здесь в том, что каждая фиктивная переменная может быть предсказана другими, поэтому вам нужно извлечь одну, чтобы разорвать цикл. - person carrdelling; 11.03.2018

вам всегда нужно отбрасывать одну фиктивную переменную для каждого уровня из-за перехвата. Допустим, у вас есть 7 фиктивных переменных для дня недели. Ссылка будет на понедельник по сравнению с другими.

Если убрать перехват, то понедельник можно добавить. Но удаление перехвата выполняется только в очень конкретном случае.

person Neon67    schedule 11.03.2018
comment
Почему у нас не может быть всех переменных с перехватом? Какая-то конкретная причина для этого? - person ChiRag R Jain; 11.03.2018
comment
Модель неразрешима при идеальной коллинеарности. Матрица является сингулярной / вырожденной, когда точка пересечения идеально коллинеарна сумме категориальных переменных. - person Darren; 07.11.2018