«Ловушка является ловушкой только в том случае, если вы не знаете о ней. Если вы знаете об этом, это вызов.
Что такое фиктивная переменная?
Как правило, во время регрессионногоанализа независимая переменная (независимая переменная) предполагается количественной(числовой) в природе . Например, такие переменные, как возраст, опыт, зарплата и т. д., носят количественный характер и могут быть измерены по шкале.
Во многих случаях переменные носят качественный (категориальный) характер. Например, сезоны (лето, зима, весна и т. д.), образование (высокий школа, бакалавриат, магистратура и т. д.), пол (мужской/женский). Эти переменные не могут быть измерены в масштабе. Эти типы категориальных переменных называются фиктивными переменными.
Фиктивная переменная (также известная как индикаторная переменная) — это числовая переменная, которая представляет категориальные данные, такие как пол, раса, политическая принадлежность и т. д.
Математическое объяснение:-
Давайте рассмотрим примеры, иллюстрирующие ловушку с фиктивной переменной:
Дело 1:
(Количество категориальных данных = 2):- Возьмем набор, в котором данные могут принимать два категориальных значения, например (мужской или женский).
Позволять
D1 = представляет мужчину.
D2= представляет женщину.
D1 и D2 (фиктивные переменные) зависят друг от друга, если D1 — Истина, то D2 — Ложь и наоборот. Эти переменные являются мультиколлинеарными (поясняется позже) по своей природе (сильно коррелированы), что означает:
D1 + D2 = 1 …………………(1)
D2 = 1-D1 ..……………….(2)
Наше уравнение линейной регрессии, где y — «зависимая переменная»:
Y = b0 +b1 *D1 + b2 *D2 …….………….(3)
Подставляя значение D2 из (2) в (3), получаем:
y = b0 + b1*D1 + b2*(1-D1)
y = b0 + b1*D1 + b2 — b2*D1
y =(b0+b2) + (b1 — b2)D1
y =b0* + b1* D1 ……………(4)
где b0* = b0+b2 и b1* = b1-b2
Видно, что информация избыточной фиктивной переменной D2 переходит в константу b0.
Поэтому нам не нужно объявлять фиктивные переменные для каждой категории, как мы сделали в (3), чтобы избежать ловушки фиктивных переменных.
Ловушка фиктивной переменной — это сценарий, в котором независимые переменные являются мультиколлинеарными — сценарий, в котором две или более переменных сильно коррелированы; Проще говоря, одна переменная может быть предсказана по другим.
Чтобы избежать ловушки фиктивной переменной, мы всегда объявляем на одну фиктивную переменную меньше (n-1), чем категориальные значения (n).
Количество фиктивных переменных = Количество (категориальных значений) — 1 .
В приведенном выше случае у нас есть два категориальных значения (мужчина/женщина). Таким образом, у нас может быть только одна фиктивная переменная, как мы получаем в (4). Следовательно, новое уравнение должно быть похоже на
y= b0 +b1*D1
Случай 2:
(Количество категориальных данных ›2 ): – Рассмотрим набор данных с более чем двумя значениями . Например, скорость (медленная, средняя или быстрая). В соответствии с приведенными выше правилами, нам нужно объявить только 2 фиктивные переменные, так как количество категориальных значений равно 3. Но сначала мы объявим 3 переменные в нашем уравнении:
Пусть переменная
D1= Низкая скорость
D2 = средняя скорость
D3 = быстрая скорость
Поскольку переменные мультиколлинеарны по своей природе, выполняется следующее уравнение:
D1+D2+D3=1
OR
D3=[1-(D1+D2) ]…………(5)
Наше уравнение линейной регрессии: -
y= b0+b1*D1+b2*D2+b3*D3……….(6)
y= b0+b1*D1+b2*D2 +b3 *[1-(D1+D2) ]
y=(b0+b3)+ D1(b1-b3)+D2(b2-b3)……….(7)
Можно видеть, что информация избыточной фиктивной переменной D3 входит в константу b0, и упрощенное уравнение будет:
y= b0+b1*D1+b2*D2
Мультиколлинеарность
Мультиколлинеарность возникает, когда две или более независимых переменных (также известных как функции) в наборе данных коррелируют друг с другом. Существует несколько методов, с помощью которых мы можем измерить степень и направление корреляции для двумерных случаев, в то время как мультиколлинеарность обычно измеряется с помощью фактора инфляции дисперсии. В двух словах говорят, что мультиколлинеарность существует в наборе данных, когда независимые переменные линейно связаны друг с другом.
Рис. 1. Идеальная мультиколлинеарность (идеальная линейная зависимость между x_i и другими независимыми переменными)
Случаи, подобные показанным на рис. 1, называются идеальной мультиколлинеарностью. Точно так же у нас также есть случаи несовершенной мультиколлинеарности, в которых нас может интересовать одно или несколько высоколинейных отношений.
Как работать с фиктивными переменными в Python:-
Рассмотрим следующий набор данных, содержащий «страну» в качестве категориальных значений:
В регрессионных моделях машинного обучения прогнозы будут работать хорошо, если категориальные значения будут преобразованы в числовые значения (двоичные векторы). Этого можно достичь в python с помощью LabelEncoder() и OneHotEncoder(). Метод кодирования категориальных данных для вышеуказанного категориального набора и фиктивных переменных станет следующим:
а столбец страны будет разделен следующим образом:
Теперь, чтобы избежать ловушки фиктивных переменных, мы должны рассмотреть вопрос об удалении столбца — N — 1 фиктивных переменных (см. математическое доказательство выше). В приведенной выше таблице фиктивных переменных мы должны рассмотреть возможность удаления любого из столбцов. В итоге таблица выглядит так:
!!Мы можем удалить любой столбец фиктивной переменной.
О чем следует помнить при использовании фиктивных переменных
1. Фиктивная переменная представляет собой только категориальные значения и не имеет количественного значения.
2. Они мультиколлинеарны (см. выше мультиколлинеарность) по своей природе (сильно коррелированы).
Заключение
Итак, Правило, которому разумно следовать, звучит так:
Количество фиктивных переменных, необходимых для представления одной атрибутивной переменной, равно количеству уровней (категорий) в этой переменной минус один».
Я надеюсь, что эта статья смогла дать исчерпывающее описание мультиколлинеарности и ловушки фиктивных переменных. Статья полностью основана на моем личном опыте с фактами, взятыми из надежных источников (ссылки уже указаны рядом с каждым таким понятием). Поэтому, пожалуйста, прокомментируйте ниже, если вы обнаружите какие-либо несоответствия в статье. Ваш отзыв поможет мне писать и описывать лучше. С нетерпением жду Вашего ответа.
Спасибо
Шубхам Бансал