Предпосылки

Обзор

Ниже приведены темы, которые мы собираемся осветить в блоге:

  • Что такое ловушка с фиктивной переменной?
  • Объяснение
  • Тест-ловушка с фиктивной переменной

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

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

«Фиктивная переменная» или «Переменная-индикатор» — это искусственная переменная, созданная для представления атрибута с двумя или более различными категориями/уровнями.

Ловушка фиктивных переменных — это сценарий, в котором независимые переменные становятся мультиколлинеарными после добавления фиктивных переменных.

Мультиколлинеарность — это явление, при котором две или более переменных сильно коррелируют. Проще говоря, это означает, что значение одной переменной можно предсказать по значениям других переменных.

Объяснение

Чтобы лучше понять сценарий, я объясню его на примере. Пусть заработная плата будет функцией пола.

Для линейной регрессии математическое уравнение будет:

Допустим, в наших данных возможные гендерные значения:

  • Мужской
  • Женский

Во-первых, мы добавим в набор данных следующие две фиктивные переменные (два столбца):

  • Фиктивная переменная для мужчины будет DM
  • Фиктивная переменная для женского пола будет DF

Теперь уравнение линейной регрессии будет таким:

Я собираюсь создать таблицу с произвольными значениями, чтобы показать вам ловушку фиктивной переменной. Для простоты я считаю, что значение всех констант равно 1.

В приведенной ниже таблице, если пол мужской, значение столбца «Мужской» будет равно 1, а столбца «Женский» будет равно 0. Кроме того, если пол женский, значение столбца «Мужской» будет равно 0, а столбец « Женщина» будет 1.

Давайте введем столбец, добавив значения в столбцах «Мужской» и «Женский», и сделаем его частью набора данных, чтобы четко увидеть проблему. После этого набор данных станет:

Теперь вы можете видеть, что значение столбцов «Константа» и «Расчетный столбец» точно такое же. Это нарушает предположение линейной регрессии о том, что наблюдения должны быть независимыми друг от друга, и это то, что мы назвали ловушкой фиктивной переменной. Добавив в данные все фиктивные переменные, мы поставили под угрозу точность регрессионной модели.

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

Давайте удалим одну фиктивную переменную из нашего уравнения, тогда новое уравнение будет:

Здесь, если значение «DM» равно 1, это означает, что это мужчина, а если его значение равно 0, это означает, что это женщина.

Нам не нужно добавлять новый столбец, так как у нас есть только один фиктивный столбец, и мы видим, что его значение отличается от значения столбца Constant.

Итак, ребята, мы успешно избежали ловушки с фиктивной переменной.

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

Чтобы проверить, есть ли в наборе данных сценарий ловушки фиктивной переменной, мы умножаем транспонирование матрицы независимых переменных (X’) на матрицу независимых переменных (X), а затем вычисляем ее определитель. Если

  • Детерминант равен 0, тогда мы сталкиваемся со сценарием ловушки фиктивной переменной.

  • Детерминант не равен 0, значит, мы не сталкиваемся со сценарием ловушки фиктивной переменной.

Вывод

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

Пожалуйста, дайте мне знать, если есть какие-либо вопросы или нужны некоторые разъяснения.