Czy godzina jest zmienną kategoryczną?

24

Czy „godzina dnia”, w której wartość może wynosić 0, 1, 2, ..., 23, jest zmienną kategoryczną? Kusiłoby mnie, by powiedzieć „nie”, ponieważ na przykład 5 jest „bliżej” do 4 lub 6 niż do 3 lub 7.

Z drugiej strony występuje nieciągłość między 23 a 0.

Czy ogólnie jest to kategoryczne, czy nie? Zauważ, że „godzina” jest jedną ze zmiennych niezależnych, a nie zmienną, którą próbuję przewidzieć.

Paul Reiners
źródło
7
Co próbujesz osiągnąć Jeśli dopasowujesz model, czy godzina jest zmienną towarzyszącą lub odpowiedzią, np.?
gung - Przywróć Monikę
2
Możesz użyć zmiennej fikcyjnej dla każdej godziny, jeśli masz wystarczająco dużo stopni swobody do oszczędzenia (tj. Traktować jako kategoryczne), lub użyć pierwszych kilku terminów Fouriera, jeśli nie masz. Ogólnie rzecz biorąc, pomyśl, jak najlepiej przedstawić potencjalny związek z odpowiedzią - może służyć pojedyncza zmienna fikcyjna oznaczająca, kiedy sklepy są otwarte.
Scortchi - Przywróć Monikę
Coś w rodzaju godziny można traktować jako „kategoryczne” lub „numeryczne”, w zależności od tego, co działa najlepiej. Ogólnie nie ma dobrej lub złej odpowiedzi - zależy to od tego, co działa najlepiej. Polecam wypróbować różne rzeczy i przekonać się, co działa najlepiej w twojej sytuacji.
roundsquare

Odpowiedzi:

29

W zależności od tego, co chcesz modelować, godziny (i wiele innych atrybutów, takich jak pory roku) są w rzeczywistości porządkowymi zmiennymi cyklicznymi. W przypadku pór roku możesz uznać je za mniej lub bardziej kategoryczne, a w przypadku godzin możesz również modelować je jako ciągłe.

Jednak korzystanie z godzin w swoim modelu w formie, która nie dba o cykliczność, nie będzie owocna. Zamiast tego spróbuj wymyślić jakąś transformację. Wykorzystując godziny, możesz zastosować podejście trygonometryczne do

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

Zatem zamiast tego użyłbyś xhri yhrdo modelowania. Zobacz ten post na przykład: Zastosowanie predyktorów kołowych w regresji liniowej .

Drey
źródło
2
(+1) Czy mógłbyś rozwinąć różnicę między porami roku i godzinami?
Scortchi - Przywróć Monikę
Hmm, myślę, że pory roku mają podobne znaczenie jak poranek, południe i wieczór, kiedy mówimy o godzinach w ciągu dnia. Imho, gdy dostępne są tylko niejasne informacje, a rozdzielczość jest niska (jak 4 wartości sezonowe), biorąc pod uwagę ich kategoryczność i stosowanie zmiennych fikcyjnych do kodowania wydaje się rozsądne. :-)
Drey
1
Myślę, że kluczową kwestią jest to, że są tylko 4 pory roku, używając trygonometrii. podejście w porównaniu z kategoryczną reprezentacją, którą oszczędzasz tylko 1 stopień swobody - z godzinami dnia oszczędzasz 21 stopni swobody. (A jeśli nie trzeba ich oszczędzić, a następnie xhr = sin(4*pi*hr/24), yhr = cos(4*pi*hr/24), i tak dalej mogą być dodawane, aż do punktu, w którym się tyle uwagi, możesz równie dobrze traktować godzin w ciągu dnia, jak kategoryczny.)
Scortchi - dozbrojenie Monica
Lub spójrz na cykliczne splajny .
kjetil b halvorsen
1

Godzina dnia nie jest najlepiej reprezentowana jako zmienna kategorialna, ponieważ istnieje naturalne uporządkowanie wartości. Kolor włosów, na przykład, jest kategoryczny, ponieważ uporządkowanie kategorii nie ma znaczenia - {czerwony, brązowy, blond} jest tak samo ważny jak {blond, brązowy, czerwony}. Z drugiej strony godzina dnia ma naturalne uporządkowanie - 9 rano jest bliżej 10 rano lub 8 rano niż do 18:00. Najlepiej jest traktować go jako dyskretną zmienną porządkową. Ma dodatkową właściwość cykliczności, ponieważ 12 rano następuje po 23:00 i poprzedza 1:00 rano.

Nuclear Wang
źródło
Czy nie ma naturalnego uporządkowania wartości niektórych zmiennych kategorialnych?
dsaxton,
Tak, ale w tym przypadku lepiej je opisać jako porządkowe. Zmienne porządkowe są zmiennymi kategorialnymi o naturalnej sekwencji.
Nuclear Wang
1
Jak więc reprezentowałbyś dyskretną, porządkową, cykliczną zmienną jako predyktor w modelu regresji?
Scortchi - Przywróć Monikę
0

Teoretycznie zależy to od tego, jak sformatujesz zmienną, tzn. Może ona być „ciągła” (modelowana z pojedynczym współczynnikiem) lub kategoryczna (współczynnik na „godzinę” dnia). Możesz również wykonać połączenie obu funkcji, np. W trybie częściowym.

Praktycznie, ponieważ 0 i 23 to zasadniczo ta sama „godzina” dnia, rozważałbym grupowanie okresów dnia w większe, bardziej jednorodne i wiarygodne grupy. Na przykład w odstępach 8-godzinnych - od 8:00 do 16:00, 16:00 do 12:00 i 12 do 8:00.

Frank H.
źródło
4
0 i 23 to różne godziny. 0 i 24 będą tą samą godziną.
Paul Reiners,
BTW, zakładam według komentarza Gunga, że ​​godzina jest zmienną niezależną, a nie modelowaną zmienną zależną. Chodzi mi o to, że 0 i 23 nie różnią się tak naprawdę w rzeczywistości - czy powiedziałbyś, że istnieje statystyczna różnica między twoim modelowanym zdarzeniem występującym o 23:59 a 0:01?
Frank H.
1
Nie jestem pewien, jaki problem powinien rozwiązać problem wyrzucania informacji. Zobacz Jaka jest korzyść z rozbicia ciągłej zmiennej predykcyjnej? .
Scortchi - Przywróć Monikę
@Scortchi - jak mówi post, zakładasz stały związek, taki że binowanie „wyrzuci” informacje. Ale jeśli tak nie jest, to binowanie jest bardziej odpowiednią transformacją. Zakłada się, że masz wystarczającą ilość danych na początek, o czym OP nie wspomniał.
Frank H.
Nakładanie ograniczeń na relację między predyktorem a odpowiedzią samo w sobie nie jest złą rzeczą - ponieważ jako pierwszy w tym poście wspominasz, ile dostępnych obserwacji jest ważną kwestią - ale ta narzucona przez to przedstawienie godziny dnia - płaskie od ośmiu do piętnastej godziny, ze skokiem lub spadkiem w szesnastej itd. - wydaje się dziwną sugestią dla ogólnie odpowiedniego podejścia.
Scortchi - Przywróć Monikę