Предпосылки
Обзор
Ниже приведены темы, которые мы собираемся осветить в блоге:
- Что такое ловушка с фиктивной переменной?
- Объяснение
- Тест-ловушка с фиктивной переменной
Что такое ловушка с фиктивной переменной?
В моделях линейной регрессии, чтобы создать модель, которая может вывести связь между функциями (имеющими категориальные данные) и результатом, мы используем метод фиктивной переменной.
«Фиктивная переменная» или «Переменная-индикатор» — это искусственная переменная, созданная для представления атрибута с двумя или более различными категориями/уровнями.
Ловушка фиктивных переменных — это сценарий, в котором независимые переменные становятся мультиколлинеарными после добавления фиктивных переменных.
Мультиколлинеарность — это явление, при котором две или более переменных сильно коррелируют. Проще говоря, это означает, что значение одной переменной можно предсказать по значениям других переменных.
Объяснение
Чтобы лучше понять сценарий, я объясню его на примере. Пусть заработная плата будет функцией пола.
Для линейной регрессии математическое уравнение будет:
Допустим, в наших данных возможные гендерные значения:
- Мужской
- Женский
Во-первых, мы добавим в набор данных следующие две фиктивные переменные (два столбца):
- Фиктивная переменная для мужчины будет DM
- Фиктивная переменная для женского пола будет DF
Теперь уравнение линейной регрессии будет таким:
Я собираюсь создать таблицу с произвольными значениями, чтобы показать вам ловушку фиктивной переменной. Для простоты я считаю, что значение всех констант равно 1.
В приведенной ниже таблице, если пол мужской, значение столбца «Мужской» будет равно 1, а столбца «Женский» будет равно 0. Кроме того, если пол женский, значение столбца «Мужской» будет равно 0, а столбец « Женщина» будет 1.
Давайте введем столбец, добавив значения в столбцах «Мужской» и «Женский», и сделаем его частью набора данных, чтобы четко увидеть проблему. После этого набор данных станет:
Теперь вы можете видеть, что значение столбцов «Константа» и «Расчетный столбец» точно такое же. Это нарушает предположение линейной регрессии о том, что наблюдения должны быть независимыми друг от друга, и это то, что мы назвали ловушкой фиктивной переменной. Добавив в данные все фиктивные переменные, мы поставили под угрозу точность регрессионной модели.
Чтобы избежать ловушки фиктивной переменной, мы всегда должны добавлять на одну фиктивную переменную меньше (n-1), чем общее количество категорий, присутствующих в категориальных данных (n), потому что n-я фиктивная переменная является избыточной, поскольку она не несет новой информации.
Давайте удалим одну фиктивную переменную из нашего уравнения, тогда новое уравнение будет:
Здесь, если значение «DM» равно 1, это означает, что это мужчина, а если его значение равно 0, это означает, что это женщина.
Нам не нужно добавлять новый столбец, так как у нас есть только один фиктивный столбец, и мы видим, что его значение отличается от значения столбца Constant.
Итак, ребята, мы успешно избежали ловушки с фиктивной переменной.
Тест-ловушка с фиктивной переменной
Чтобы проверить, есть ли в наборе данных сценарий ловушки фиктивной переменной, мы умножаем транспонирование матрицы независимых переменных (X’) на матрицу независимых переменных (X), а затем вычисляем ее определитель. Если
- Детерминант равен 0, тогда мы сталкиваемся со сценарием ловушки фиктивной переменной.
- Детерминант не равен 0, значит, мы не сталкиваемся со сценарием ловушки фиктивной переменной.
Вывод
Чтобы избежать ловушки фиктивных переменных, мы всегда должны добавлять на одну переменную меньше (n-1), чем общее количество категорий, присутствующих в категориальных данных (n), при добавлении фиктивных переменных.
Пожалуйста, дайте мне знать, если есть какие-либо вопросы или нужны некоторые разъяснения.