131. Data i czas jako zmienne analityczne

Data i czas bywają w bazie danych traktowane jako zwykłe informacje techniczne: dzień wizyty, godzina pobrania krwi albo rok urodzenia. W analizie statystycznej mogą jednak pełnić znacznie ważniejszą funkcję. Pozwalają ustalić kolejność zdarzeń, wyznaczyć czas obserwacji, ocenić opóźnienie między ekspozycją a wynikiem, opisać sezonowość oraz analizować czas do wystąpienia zdarzenia. W tej lekcji pokazujemy, jak przejść od surowego zapisu daty lub godziny do poprawnie zdefiniowanej zmiennej analitycznej.

1. Dlaczego data i czas są szczególnym rodzajem danych?

Data kalendarzowa i czas zegarowy nie są zwykłymi liczbami, chociaż komputer zazwyczaj przechowuje je w postaci liczbowej albo tekstowej. Data 2026-09-10 ma określone znaczenie kalendarzowe, a godzina 14:30:00 odnosi się do pewnego momentu w ciągu doby. Dopiero po ustaleniu celu analizy można zdecydować, czy interesuje nas:

  • konkretny moment, na przykład chwila przyjęcia pacjenta;
  • data jako punkt na osi czasu, na przykład rok i miesiąc rozpoczęcia terapii;
  • odstęp między dwoma momentami, na przykład liczba godzin oczekiwania;
  • kolejność zdarzeń, na przykład to, czy ekspozycja wystąpiła przed zachorowaniem;
  • cykliczność, na przykład miesiąc, dzień tygodnia albo pora dnia;
  • czas do zdarzenia, na przykład czas od diagnozy do zgonu, nawrotu lub wypisu.

To rozróżnienie jest ważne, ponieważ ta sama informacja może zostać zakodowana w kilku różnych zmiennych. Z daty wizyty można wyprowadzić rok, miesiąc, kwartał, dzień tygodnia, wiek pacjenta w dniu wizyty albo liczbę dni od rozpoczęcia obserwacji. Każda z tych zmiennych odpowiada na inne pytanie badawcze.

2. Jak zapisywać datę i czas?

2.1. Format jednoznaczny

Wymianę danych między osobami, systemami i ośrodkami ułatwia standard ISO 8601. Podstawowy zapis daty ma postać YYYY-MM-DD, czyli rok–miesiąc–dzień, na przykład 2026-09-10. Data i czas mogą być połączone, przykładowo: 2026-09-10T14:30:00. Litera T oddziela część kalendarzową od zegarowej. Standard przewiduje także informację o przesunięciu względem UTC, na przykład 2026-09-10T14:30:00-04:00, albo oznaczenie Z dla czasu UTC (ISO, 2019).

W praktyce należy unikać zapisów typu 01/05/22, ponieważ w różnych krajach mogą oznaczać 1 maja 2022 roku albo 5 stycznia 2022 roku. Nie należy również przechowywać dat wyłącznie jako sformatowanego tekstu, jeśli program statystyczny nie rozpoznaje go jako daty. Tekst może wyglądać poprawnie, ale nie pozwoli na prawidłowe sortowanie, odejmowanie dat ani wyznaczanie odstępów.

2.2. Moment lokalny a moment na wspólnej osi czasu

W badaniu jednoośrodkowym godzina lokalna może być wystarczająca. W badaniu wieloośrodkowym albo przy łączeniu danych z różnych systemów trzeba jednak zapisać również strefę czasową. Godzina 10:00 w Warszawie i godzina 10:00 w Nowym Jorku nie oznaczają tego samego momentu. Problem staje się szczególnie widoczny podczas zmiany czasu z zimowego na letni i odwrotnie.

W bazie warto rozróżnić co najmniej trzy elementy: czas zdarzenia, strefę czasową oraz czas rejestracji zdarzenia w systemie. W elektronicznej dokumentacji medycznej moment wykonania procedury może różnić się od chwili wpisania informacji do systemu. Takie różnice nie muszą oznaczać błędu, ale muszą być zrozumiane przed analizą. Badania nad danymi klinicznymi wskazują, że niesynchronizowane zegary, opóźnienia urządzeń i różne definicje znaczników czasu mogą wpływać na odtwarzanie sekwencji zdarzeń (Goodwin et al., 2022).

3. Data jako zmienna analityczna

Sama pełna data często nie powinna być bezpośrednio wprowadzana do modelu jako tekst ani jako arbitralny numer. Najpierw należy określić, co ma być interpretowane.

3.1. Rok, miesiąc i okres kalendarzowy

Rok może być zmienną ilościową, gdy interesuje nas trend czasowy, albo zmienną kategorialną, gdy każdy rok reprezentuje odrębny okres organizacyjny, epidemiologiczny lub polityczny. Miesiąc można kodować jako 1–12, ale taki zapis nie zawsze uzasadnia traktowanie miesięcy jako zwykłej zmiennej ilościowej. Grudzień i styczeń sąsiadują na kole kalendarzowym, mimo że ich kody różnią się o 11.

Jeżeli pytanie dotyczy sezonowości, miesiąc powinien być traktowany jako kategoria albo reprezentowany za pomocą zmiennych cyklicznych. Dla miesiąca m można utworzyć dwa predyktory:

xsin = sin(2πm/12)
xcos = cos(2πm/12)

Symbol m oznacza numer miesiąca, a π stałą matematyczną. Para zmiennych zachowuje cykliczny charakter kalendarza: miesiąc 12 znajduje się blisko miesiąca 1. Analogicznie można kodować godzinę doby albo dzień tygodnia, jeśli badanie dotyczy rytmu dobowego lub tygodniowego.

Kodowanie za pomocy dwóch wartości jest niezbędne, ponieważ zakodowanie np. miesiąca lutego i kwietnia tylko za pomocą funkcji sinus nie pozwoli na ich rozróżnienie, dlatego niezbędny jest zapis z użyciem jednocześnie funkcji sinus i cosinus.

3.2. Wiek i czas od zdarzenia bazowego

Wiek nie powinien być obliczany jako różnica samych numerów lat, jeżeli potrzebna jest dokładność. Osoba urodzona 31 grudnia 1980 roku i osoba urodzona 1 stycznia 1981 roku nie różnią się pełnym rokiem życia, nawet jeśli analizujemy ich wizyty w 2020 roku. W zależności od celu można obliczyć wiek w pełnych latach, miesiącach albo dniach.

W badaniach podłużnych częściej użyteczny jest czas od jasno określonego punktu początkowego, na przykład od diagnozy, randomizacji, operacji, pierwszej dawki leku lub rozpoczęcia obserwacji populacyjnej. Taki punkt nazywamy czasem bazowym. Wówczas data kalendarzowa zostaje przekształcona w zmienną opisującą upływ czasu od początku badania.

4. Odstęp czasu jako zmienna wynikowa lub objaśniająca

Jeśli znamy dwa momenty, możemy obliczyć odstęp:

Δt = tkoniec − tpoczątek

Δt oznacza długość odstępu, tpoczątek jest momentem początkowym, a tkoniec momentem końcowym. Jednostkę należy określić przed analizą: sekundy, minuty, godziny, dni, tygodnie lub lata. Zwykle lepiej przechowywać odstęp w najmniejszej sensownej jednostce, a dopiero podczas prezentacji zaokrąglać wynik.

Przykładowo w ratownictwie można obliczyć czas od zgłoszenia do przyjazdu zespołu, od przyjazdu do rozpoczęcia resuscytacji oraz od przyjęcia do wykonania badania obrazowego. Nie są to równoważne zmienne. Każda opisuje inny etap procesu opieki, a ich połączenie w jedną ogólną zmienną „czas reakcji” może ukryć ważne źródło opóźnienia.

Warto wcześniej ustalić reguły dla wartości ujemnych, zerowych i brakujących. Ujemny czas oczekiwania może oznaczać błąd kodowania, pomylenie dat, różne definicje początku zdarzenia albo realny problem z zegarami systemów. Nie należy automatycznie zamieniać takich wartości na zero.

5. Data i czas w analizie czasu do zdarzenia

W analizie czasu do zdarzenia interesuje nas nie tylko to, czy zdarzenie wystąpiło, ale również kiedy nastąpiło. Przykładami zdarzeń są zgon, nawrót choroby, hospitalizacja, wypis, zaprzestanie leczenia albo wystąpienie objawów. Czas obserwacji może być niepełny, ponieważ do końca badania nie każdy uczestnik doświadczy zdarzenia. Taką obserwację określa się jako prawostronnie cenzorowaną.

Dla każdej osoby zwykle potrzebne są co najmniej:

  • moment rozpoczęcia obserwacji;
  • moment zdarzenia albo ostatniej znanej obserwacji;
  • czas obserwacji, najczęściej obliczony jako różnica tych momentów;
  • wskaźnik zdarzenia, na przykład 1 = zdarzenie wystąpiło, 0 = obserwacja zakończyła się bez zdarzenia.

Jeżeli pacjent został włączony do badania 1 stycznia, zmarł 20 marca, a jednostką jest dzień, czas do zdarzenia wynosi 78 dni, zależnie od przyjętej reguły liczenia dni. Ta reguła powinna być ustalona z góry i stosowana jednakowo. W przypadku osoby żyjącej na końcu obserwacji nie wpisujemy fikcyjnej daty zgonu. Zapisujemy datę ostatniego kontaktu i kodujemy cenzorowanie.

Do takich danych stosuje się między innymi estymator Kaplana–Meiera, test log-rank oraz modele proporcjonalnego hazardu Coxa. Metody te uwzględniają różne długości obserwacji i cenzorowanie, dlatego zwykłe porównanie średnich czasów albo odsetków zdarzeń może być niewystarczające (Schober i Vetter, 2018). Interpretacja powinna dotyczyć czasu do zdarzenia lub intensywności jego występowania, a nie prawdopodobieństwa prawdziwości hipotezy zerowej.

6. Przykład praktyczny: czas od przyjęcia do podania antybiotyku

Załóżmy, że badanie dotyczy pacjentów z podejrzeniem sepsy. Zespół chce ocenić czas od przyjęcia do podania pierwszej dawki antybiotyku.

Najpierw trzeba zdefiniować oba punkty czasowe:

  • początek: czas formalnego przyjęcia pacjenta na oddział ratunkowy;
  • koniec: czas rzeczywistego podania pierwszej dawki, a nie czas zlecenia leku;
  • jednostka: minuty od przyjęcia;
  • reguła jakości: wartości ujemne są kierowane do weryfikacji, a nie automatycznie usuwane.

Jeżeli przyjęcie nastąpiło o 18:42, a podanie leku o 20:05, odstęp wynosi 83 minuty. Następnie można opisać medianę i kwartyle czasu, porównać oddziały albo zbadać, czy pora dnia wiąże się z opóźnieniem. Sama data może służyć do kontroli trendu, na przykład sprawdzenia, czy po wprowadzeniu procedury mediana czasu zmniejszyła się.

Nie wolno jednak wnioskować, że procedura spowodowała skrócenie czasu, jeśli badanie nie ma odpowiedniego schematu porównawczego i nie kontroluje zmian w populacji, personelu lub obciążeniu oddziału. Data wdrożenia procedury może wyznaczać okres przed i po interwencji, ale nie dowodzi sama przez się związku przyczynowego.

7. Przykład z psychologii i nauk społecznych: pomiary podłużne

W badaniu stresu akademickiego uczestnicy wypełniają kwestionariusz na początku semestru, w połowie semestru i przed sesją. Sama etykieta „pomiar 1”, „pomiar 2” i „pomiar 3” nie informuje, czy odstępy między pomiarami były takie same. Jeśli pierwszy pomiar wykonano 1 października, drugi 15 listopada, a trzeci 20 stycznia, warto przechować rzeczywiste daty oraz czas od pomiaru bazowego.

To pozwala odróżnić efekt kolejnego pomiaru od wpływu upływu czasu. Można analizować zmianę wyniku stresu względem liczby dni od początku semestru, modelować pomiary powtarzane albo sprawdzać, czy uczestnicy badani później różnią się od badanych wcześniej. Daty pomagają również wykryć opóźnienia, pomijanie pomiarów i sezonowy wpływ sesji egzaminacyjnej.

8. Najczęstsze błędy

  • Niejasny format daty. Zapis 03/04/2025 może być odczytany na dwa sposoby. Należy używać formatu jednoznacznego, najlepiej ISO 8601.
  • Traktowanie daty jako zwykłego tekstu. Tekst nie zapewnia poprawnego sortowania ani obliczania różnic.
  • Pomijanie strefy czasowej. W danych wieloośrodkowych prowadzi to do błędnej kolejności zdarzeń.
  • Mylenie czasu zdarzenia z czasem wpisu. Moment dokumentacji nie zawsze jest momentem wykonania procedury.
  • Nieuzasadnione zaokrąglanie. Zastąpienie godziny minutą może być dopuszczalne w jednym badaniu, ale krytyczne w innym.
  • Używanie numeru miesiąca jako zmiennej liniowej. Kod 12 nie powinien być automatycznie traktowany jako „większy” i odległy od kodu 1.
  • Obliczanie wieku przez odejmowanie lat. Taka metoda może zawyżać lub zaniżać wiek wokół urodzin.
  • Usuwanie niepasujących dat bez dokumentacji. Każdą korektę należy opisać w dzienniku czyszczenia danych.
  • Brak definicji punktu początkowego. W analizie czasu do zdarzenia wynik zależy od tego, od którego momentu liczony jest czas.
  • Ignorowanie cenzorowania. Osoba bez zdarzenia na końcu obserwacji nie jest równoznaczna z osobą obserwowaną przez pełny okres.

9. Jak przygotować daty i czas do analizy?

  1. Zapisz definicję każdego zdarzenia i wskaż, czy chodzi o moment wykonania, rozpoczęcia, zakończenia czy rejestracji.
  2. Ustal format przechowywania, strefę czasową i wymaganą dokładność.
  3. Sprawdź zakresy: niemożliwe daty, godziny poza dobą, daty końcowe wcześniejsze od początkowych oraz duplikaty.
  4. Zachowaj surowe znaczniki czasu, a zmienne pochodne twórz w osobnych kolumnach.
  5. Wybierz jednostkę odstępu czasu przed wykonaniem analizy.
  6. Zdecyduj, czy interesuje Cię trend liniowy, sezonowość, cykliczność, kolejność zdarzeń czy czas do zdarzenia.
  7. Opisz w metodach badania sposób kodowania, reguły cenzorowania, zaokrąglania i postępowania z brakami.

W badaniach obserwacyjnych przejrzyste raportowanie okresu rekrutacji, dat obserwacji i czasu obserwacji jest elementem oceny projektu oraz możliwości interpretacji wyników. Odpowiednie ramy raportowania dostarcza między innymi STROBE, które obejmuje badania kohortowe, kliniczno-kontrolne i przekrojowe (von Elm et al., 2007; Vandenbroucke et al., 2007).

Co warto zapamiętać?

  • Data i czas mogą być zarówno informacją opisową, jak i pełnoprawną zmienną analityczną.
  • Przed analizą trzeba zdefiniować, czy interesuje nas moment, okres, odstęp, kolejność, sezonowość czy czas do zdarzenia.
  • Jednoznaczny zapis daty i uwzględnienie strefy czasowej są warunkiem poprawnego łączenia danych.
  • Odstęp czasu obliczamy jako różnicę dwóch jasno zdefiniowanych momentów, a jednostkę podajemy jawnie.
  • W analizie przeżycia konieczne są informacje o czasie obserwacji i statusie zdarzenia, w tym o cenzorowaniu.
  • Nie należy traktować miesiąca, dnia tygodnia ani godziny jako zwykłych zmiennych liniowych bez uzasadnienia.
  • Dokładność znacznika czasu musi odpowiadać dokładności procesu, który badamy.
  • Poprawne kodowanie czasu nie zastępuje poprawnego schematu badania i nie uzasadnia samo przez się wniosków przyczynowych.

W ramach szkolenia na statystyk.edu.pl temat ten łączy się bezpośrednio z operacjonalizacją zmiennych, jakością danych, analizą podłużną oraz wyborem metod dla obserwacji zależnych w czasie. Dobrze przygotowana zmienna daty lub czasu jest często warunkiem, aby późniejsza analiza statystyczna odpowiadała rzeczywistemu pytaniu badawczemu.

Źródła i dalsza lektura

  1. International Organization for Standardization (2019). ISO 8601-1:2019 Date and time — Representations for information interchange — Part 1: Basic rules. International Organization for Standardization. Źródło.
  2. Goodwin, Andrew J.; Eytan, Danny; Dixon, William; Goodfellow, Sebastian D.; Doherty, Zakary; Greer, Robert W.; McEwan, Alistair Lee; Tracy, Mark B.; Laussen, Peter C.; Assadi, Azadeh; Mazwi, Mjaye (2022). Timing errors and temporal uncertainty in clinical databases—A narrative review. Frontiers in Digital Health, 4, 932599. DOI: 10.3389/fdgth.2022.932599.
  3. Schober, Patrick; Vetter, Thomas R. (2018). Survival Analysis and Interpretation of Time-to-Event Data: The Tortoise and the Hare. Anesthesia & Analgesia, 127(3), 792–798. DOI: 10.1213/ANE.0000000000003653.
  4. von Elm, Erik; Altman, Douglas G.; Egger, Matthias; Pocock, Stuart J.; Gøtzsche, Peter C.; Vandenbroucke, Jan P.; STROBE Initiative (2007). The Strengthening the Reporting of Observational Studies in Epidemiology (STROBE) statement: guidelines for reporting observational studies. The Lancet, 370(9596), 1453–1457. DOI: 10.1016/S0140-6736(07)61602-X.
  5. Vandenbroucke, Jan P.; von Elm, Erik; Altman, Douglas G.; Gøtzsche, Peter C.; Mulrow, Cynthia D.; Pocock, Stuart J.; Poole, Charles; Schlesselman, James J.; Egger, Matthias; STROBE Initiative (2007). Strengthening the Reporting of Observational Studies in Epidemiology (STROBE): explanation and elaboration. PLoS Medicine, 4(10), e297. DOI: 10.1371/journal.pmed.0040297.
  6. STROBE Initiative (2024). STROBE: Strengthening the Reporting of Observational Studies in Epidemiology. STROBE Initiative. Źródło.

Podobne wpisy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *