Предположим, ваши четыре категории - это цвета глаз (код): коричневый (1), синий (2), зеленый (3), ореховый (4) - на данный момент гетерохромия игнорирует, фиолетовый, красный, серый и т. Д.
Ни в коем случае (что я могу себе представить) мы не имели бы в виду, что зеленый коричневый или карий = 2 × синий, как подразумевают наши коды, даже если 3 = 3 × 1 и 4 = 2 × 2 .= 3 ×= 2 ×3 = 3 × 14 = 2 × 2
Поэтому (если мы по какой-то причине не хотим, чтобы такое значение вошло в наш анализ), нам нужно использовать какое-то кодирование. Фиктивное кодирование - один из примеров, который исключает такие взаимосвязи из статистических историй, которые мы хотим рассказать о цвете глаз. Эффект кодирования и кодирования Хекмана являются другими примерами.
Обновление: ваш пример двух переменных для четырех категорий не соответствует моему пониманию использования термина «фиктивный код», который обычно влечет за собой замену категорий (скажем, 4) на k - 1 фиктивных переменных (сортировка наблюдений по категориям):Кк - 1
id category dummy1 dummy2 dummy3
1 1 1 0 0
2 1 1 0 0
3 2 0 1 0
4 2 0 1 0
5 3 0 0 1
6 3 0 0 1
7 4 0 0 0
8 4 0 0 0
Здесь категория 4 является справочной категорией, предполагая, что в вашей модели есть константа, например:
Y= β0+ β1d1 + β2d2 + β3d3 + ε
где - это среднее значение y, когда категория = 4, а термины β, связанные с каждым манекеном, указывают, на какую величину y изменяется от β 0 для этой категории.β0YβYβ0
Если у вас нет постоянного ( ) члена в модели, то вам нужен еще один «фиктивный» предиктор (возможно, реже называемый «индикаторными переменными»), в результате манекены будут вести себя как константы модели для каждой категории. :β0
Y= β1d1 + β2d2 + β3d3 + β4d4 + ε
Таким образом, это позволило бы решить проблему создания бессмысленных количественных отношений между кодами категорий, которые я упомянул сначала, но почему бы не использовать кодирование user12331, как вы предлагаете? user12331-кодирование кандидата A:
id category code1 code2
1 1 0 ?
2 1 0 ?
3 2 1 ?
4 2 1 ?
5 3 ? 0
6 3 ? 0
7 4 ? 1
8 4 ? 1
Вы совершенно правы, отметив, что можно представить 4 значения, используя 2 двоичные переменные (т.е. двухбитовые). К сожалению, один подход к этому (code1 для категорий 1 и 2 и code2 для категорий 3 и 4) оставляет двусмысленность, обозначенную вопросительными знаками: какие значения будут идти туда ?!
Ну, а как насчет второго подхода, назовите его «user12331-кандидат в кодирование B»:
id category code1 code2
1 1 0 0
2 1 0 0
3 2 0 1
4 2 0 1
5 3 1 0
6 3 1 0
7 4 1 1
8 4 1 1
Там! Нет двусмысленности, верно? Правильно! К сожалению, все, что делает это кодирование, представляет числовые величины 1–4 (или 0–3) в двоичной записи , что оставляет нетронутой проблему присвоения этих нежелательных количественных соотношений категориям.
Следовательно, нужна другая схема кодирования.
β
Мое мнение по этому вопросу состоит в том, что кодирование четырех возможных состояний с помощью только двух переменных менее выразительно при использовании некоторых алгоритмов машинного обучения, чем использование 4 переменных.
Например, представьте, что вы хотите выполнить линейную регрессию, и ваше истинное отображение отображает значения от 0,1 и 2 до 0 и значение от 3 до 1. Вы можете быстро проверить, что нет способа выучить это отображение с помощью линейной регрессии при кодировании ваша категориальная переменная всего с двумя двоичными (просто попробуйте вписать соответствующую плоскость в вашу голову). С другой стороны, когда вы используете кодирование 1-Of-K, это не будет проблемой.
источник
Ваша альтернатива также является фиктивным кодом. Вы выбираете фиктивный код, который наилучшим образом выражает отношение к вашей зависимой переменной. Например, цвет может быть выражен как 1 из n, или вы можете превратиться в числовые компоненты rgb, или вы можете классифицировать: girly / muddy / ... 1 из n в основном означает, что каждый экземпляр изучается отдельно, что хорошо, если нет взаимосвязи. ... но там, где есть связь, вы тратите свои данные ... вам нужно отдельно оценить коэффициент для каждого экземпляра категории ... рассматривать работу как категориальную переменную. Вы можете классифицировать как сектор рынка и стаж работы.
источник