Является ли час дня категориальной переменной?


24

Является ли «час дня», где значение может быть 0, 1, 2, ..., 23, категориальной переменной? Я хотел бы сказать нет, так как 5, например, «ближе» к 4 или 6, чем к 3 или 7.

С другой стороны, существует разрыв между 23 и 0.

Так это вообще считается категоричным или нет? Обратите внимание, что «час» - это одна из независимых переменных, а не та, которую я пытаюсь предсказать.


7
Что вы пытаетесь достичь? Если вы подбираете модель, является ли час ковариацией или ответом, например?
gung - Восстановить Монику

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

Нечто подобное часу можно рассматривать как «категориальное» или «числовое» в зависимости от того, что работает лучше всего. В общем, нет правильного или неправильного ответа - это зависит от того, что работает лучше всего. Я бы порекомендовал попробовать разные вещи и посмотреть, что лучше всего работает в вашей ситуации.
roundsquare

Ответы:


29

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

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

xhr = sin(2*pi*hr/24)
yhr = cos(2*pi*hr/24)

Таким образом вы бы вместо этого использовали xhrи yhrдля моделирования. Смотрите этот пост, например: Использование круговых предикторов в линейной регрессии .


2
(+1) Не могли бы вы уточнить разницу между временем года и временем?
Scortchi - Восстановить Монику

Хм, я думаю, что времена года имеют такое же значение, как утро, полдень и вечер, когда говорят о часах в течение дня. Имхо, когда доступна только расплывчатая информация, а разрешение плохое (например, 4 значения в сезонах), считая их категоричными и используя фиктивные переменные для кодирования, кажется разумным. :-)
Дрей

1
Я думаю, что ключевым моментом является то, потому что есть только 4 сезона, используя триг. Подход по сравнению с категориальным представлением позволяет вам сэкономить только 1 степень свободы, а часами дня вы экономите 21 степень свободы. (А если вам не нужно щадить их, а затем xhr = sin(4*pi*hr/24), yhr = cos(4*pi*hr/24), и так далее могут быть добавлены, до точки , где с достаточно наблюдений , вы можете также лечить часов в день , как категорично.)
Scortchi - восстановим Моника

Или посмотрите на циклические сплайны .
kjetil b halvorsen

1

Час дня не лучше всего представить в виде категориальной переменной, потому что существует естественное упорядочение значений. Например, цвет волос является категоричным, потому что упорядочение категорий не имеет значения - {красный, коричневый, светлый} так же действителен, как {светлый, коричневый, красный}. Час дня, с другой стороны, имеет естественный порядок - 9 утра ближе к 10 или 8 утра, чем к 6 вечера. Лучше всего рассматривать ее как дискретную порядковую переменную. Он имеет дополнительную характеристику цикличности, поскольку 12:00 следует за 11:00 и предшествует 1:00.


Нет ли естественного упорядочения значений определенных категориальных переменных?
дсакстон

Да, но в этом случае их лучше описать как порядковые. Порядковые переменные являются категориальными переменными, которые имеют естественную последовательность.
Ядерный Ван

1
Итак, как бы вы представили дискретную, порядковую, циклическую переменную в качестве предиктора в регрессионной модели?
Scortchi - Восстановить Монику

0

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

Практически, поскольку 0 и 23 - это, по сути, один и тот же «час» дня, я бы рассмотрел группирование периодов дня в более крупные, более однородные и заслуживающие доверия группировки. Например, с 8-часовыми интервалами - с 8:00 до 16:00, с 16:00 до 12:00 и с 12 до 8:00.


4
0 и 23 разные часы. 0 и 24 будут в один час.
Пол Райнерс

Кстати, я предполагаю, что согласно комментарию Гунга, час дня является независимой переменной, а не смоделированной зависимой переменной. Моя точка зрения такова, что 0 и 23 не так уж и отличаются в реальности. Вы бы сказали, что существует статистическая разница между вашим смоделированным событием, происходящим в 23:59, и 0:01?
Фрэнк Х.

1
Не уверен, что проблема выбрасывания информации должна решить. См. В чем выгода разделения непрерывной переменной-предиктора? ,
Scortchi - Восстановить Монику

@ Scortchi - как говорится в посте, вы предполагаете непрерывные отношения, такие, что биннинг «выбрасывает» информацию. Но если это не так, то биннинг является более подходящим преобразованием. И это предполагает, что у вас достаточно данных для начала, о которых ОП не упомянул.
Фрэнк Х.

Наложение ограничений на связь между предиктором и ответом само по себе не является плохой вещью - так как вы впервые в этом посте подняли вопрос, сколько наблюдений доступно, это важный фактор - но тот, который навязывается этим представление о часе дня - ровно с восьми до пятнадцати часов, с прыжком или падением в шестнадцатом и т. д. - кажется странным предложением для общего подходящего подхода.
Scortchi - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.