135. Kodowanie braków danych – czego nie robić?

Brak danych jest informacją o tym, że dla określonej jednostki i określonej zmiennej nie uzyskano obserwacji. Nie jest natomiast automatycznie kolejną kategorią merytoryczną, wartością skrajną ani liczbą, którą można bez namysłu wpisać do arkusza. Jednym z najczęstszych problemów w badaniach jest zastępowanie braków kodami takimi jak 99, 999, 9999, -9 lub 0, a następnie analizowanie ich tak, jakby były prawdziwymi wynikami.

W tej lekcji wyjaśnimy, jak rozróżniać brak danych od rzeczywistej wartości, dlaczego „specjalne kody” mogą być niebezpieczne oraz jak przygotować bazę, która pozostanie czytelna dla człowieka i poprawnie interpretowana przez oprogramowanie statystyczne. Jest to naturalne rozwinięcie wcześniejszych lekcji kursu na statystyk.edu.pl, poświęconych rekodowaniu, zmiennym binarnym, jednostkom miary i dokumentacji zmian w bazie oraz brakom danych.

1. Czym jest brak danych?

Brak danych występuje wtedy, gdy wartość zmiennej powinna zostać zarejestrowana, ale nie jest dostępna. Może to wynikać z różnych przyczyn: uczestnik nie odpowiedział na pytanie, badanie nie zostało wykonane, próbka była niewystarczająca, urządzenie pomiarowe uległo awarii albo dana zmienna nie dotyczyła konkretnej osoby.

To rozróżnienie ma znaczenie metodologiczne. Wartości „nie wiem”, „odmowa odpowiedzi”, „nie dotyczy” i „nie zmierzono” nie muszą oznaczać tego samego rodzaju braku. Z punktu widzenia analizy mogą wymagać odmiennych decyzji, dlatego warto zachować informację o przyczynie nieobserwowania wartości, nawet jeśli główna zmienna analityczna będzie miała jeden techniczny znacznik braku.

W literaturze statystycznej opisuje się między innymi trzy mechanizmy braków danych: missing completely at random (MCAR), missing at random (MAR) oraz missing not at random (MNAR). Są to założenia dotyczące procesu powstawania braków, a nie etykiety, które można wiarygodnie rozpoznać wyłącznie po obejrzeniu kolumny w arkuszu (Little i Rubin, 2019; Sterne i in., 2009).

2. Dlaczego kody 99, 999 i -9 są ryzykowne?

Specjalny kod liczbowy może być wygodny podczas wprowadzania danych, ale staje się niebezpieczny, jeśli nie zostanie oznaczony jako brak w programie statystycznym. Wtedy wartość 999 może wejść do obliczenia średniej, odchylenia standardowego, korelacji, regresji lub wykresu.

Załóżmy, że pięciu pacjentów miało ciśnienie skurczowe: 120, 128, 135, 140 oraz 999, gdzie 999 oznacza „nie zmierzono”. Średnia obliczona bez rozpoznania kodu braku wynosi 304,4 mmHg. Taki wynik jest biologicznie niewiarygodny, ale program nie wie, że 999 było jedynie technicznym oznaczeniem braku.

Problem może być mniej oczywisty, gdy kod wynosi 99. W kwestionariuszu dotyczącym liczby dni z objawami 99 może oznaczać „odmowa odpowiedzi”, ale jednocześnie mieści się w typowym zakresie liczb całkowitych. Program potraktuje je jak prawidłową obserwację. W zmiennej o wartościach 0–7 kod 99 będzie łatwy do zauważenia, lecz w zmiennej dotyczącej wieku, dochodu lub liczby wizyt może nie zostać wykryty na czas.

Zero nie jest uniwersalnym kodem braku

Szczególnie częstym błędem jest wpisywanie zera zamiast braku. Zero może oznaczać realny wynik: zero hospitalizacji, zero papierosów dziennie, brak dni z bólem, brak wcześniejszych porodów albo stężenie równe zero. Jeśli zero zostanie użyte jako „brak odpowiedzi”, traci się informację o rzeczywistych wartościach i zniekształca rozkład zmiennej.

Przykładowo, w badaniu aktywności fizycznej wartość 0 minut intensywnego wysiłku w tygodniu może być ważnym wynikiem, a nie brakiem danych. Zastąpienie nieudzielonych odpowiedzi zerem sztucznie zwiększy liczbę osób nieaktywnych.

3. Najważniejsza zasada: oddziel wartość od statusu obserwacji

Dobra baza danych powinna odróżniać:

  • wartość merytoryczną – na przykład 125 mmHg, 3 wizyty lub odpowiedź „tak”;
  • brak wartości – gdy pomiaru lub odpowiedzi nie uzyskano;
  • przyczynę braku – na przykład odmowa, nie dotyczy, awaria urządzenia lub utrata uczestnika z obserwacji;
  • status jakości danych – na przykład wynik poza zakresem, pomiar powtórzony albo wartość uzyskana z dokumentacji.

Nie należy kodować wszystkich tych informacji jednym numerem. Jeżeli osoba nie odpowiedziała na pytanie o palenie tytoniu, nie oznacza to tego samego co sytuacja, w której pytanie jej nie dotyczyło. Z kolei brak pomiaru ciśnienia z powodu awarii aparatu jest innym zdarzeniem niż odmowa pacjenta.

W praktyce można przechowywać główną zmienną analityczną jako brak systemowy, a dodatkowo utworzyć zmienną opisującą przyczynę braku. Przykładowo:

Zmienna Znaczenie Przykładowa wartość
bp_sys ciśnienie skurczowe w mmHg 125 albo brak
bp_sys_missing_reason przyczyna braku 1 = odmowa, 2 = awaria, 3 = nie zmierzono

Takie rozwiązanie ogranicza ryzyko przypadkowego włączenia kodu technicznego do obliczeń, a jednocześnie zachowuje ważną informację o procesie gromadzenia danych.

4. Czego nie robić podczas kodowania braków?

4.1. Nie używaj 0 jako domyślnego braku

Zero powinno być kodem braku tylko wtedy, gdy z góry wiadomo, że nie może oznaczać prawidłowej wartości oraz że sposób ten jest jednoznacznie opisany w dokumentacji. W badaniach medycznych i społecznych zwykle istnieje ryzyko, że zero ma znaczenie merytoryczne.

4.2. Nie mieszaj różnych kodów w jednej zmiennej bez dokumentacji

W jednej bazie można spotkać -9, 99, 999 i puste komórki, z których każdy oznacza coś innego. Samo „wyczyszczenie” kolumny przez zamianę wszystkich tych wartości na brak może usunąć informację o przyczynie, a pozostawienie ich bez opisu utrudni replikację analizy. Kody powinny być zdefiniowane w słowniku danych.

4.3. Nie traktuj kodu braku jako kategorii skali

Dodanie kategorii „brak odpowiedzi” do zmiennej nominalnej może być uzasadnione w określonym modelu badawczym, ale nie oznacza, że brak staje się zwykłą kategorią pomiaru. W szczególności nie wolno traktować kodu 99 jako najwyższego poziomu zmiennej porządkowej. W skali satysfakcji 1–5 kod 99 nie oznacza „największej satysfakcji”.

4.4. Nie zastępuj automatycznie braków średnią

Wstawienie średniej w miejsce brakujących obserwacji może zachować liczebność próby, ale zwykle zaniża zmienność i może osłabiać lub zniekształcać zależności między zmiennymi. Sterne i współautorzy (2009) wskazują, że proste metody imputacji, w tym imputacja średnią, często prowadzą do zbyt małych błędów standardowych i nadmiernej pewności wniosków.

4.5. Nie usuwaj wierszy bez sprawdzenia skali problemu

Analiza kompletnych przypadków może być rozsądna w niektórych sytuacjach, ale automatyczne usunięcie każdej osoby z choć jednym brakiem zmniejsza próbę i może wprowadzić obciążenie. Jeżeli osoby z brakami różnią się od osób z pełnymi danymi, wyniki mogą nie reprezentować całej badanej grupy. Przed decyzją należy określić liczbę braków, ich rozkład oraz prawdopodobne przyczyny (Little i Rubin, 2019; Sterne i in., 2009).

5. Przykład praktyczny: badanie pacjentów z nadciśnieniem

W badaniu poradnianym analizowano związek wieku, BMI i ciśnienia skurczowego z kontrolą nadciśnienia. W bazie wpisano:

  • ciśnienie zmierzone – rzeczywista wartość w mmHg;
  • 999 – „brak pomiaru”;
  • 998 – „pomiar niewiarygodny”;
  • 0 – omyłkowo wpisane przez część osób jako „nie dotyczy”.

Pierwszym krokiem nie powinno być uruchomienie regresji, ale audyt zmiennej. Należy sprawdzić zakres wartości, liczbę wystąpień kodów 998 i 999, rozkład braków według wieku, płci, placówki i wizyty oraz zgodność z dokumentacją terenową.

Następnie tworzy się zmienną analityczną, w której 998 i 999 są oznaczone jako braki, natomiast wartości 0 są weryfikowane z formularzami źródłowymi. Jeśli zero okaże się błędem wpisu, trzeba go oznaczyć jako brak, ale nie wolno zakładać tego bez sprawdzenia.

Jeśli braki ciśnienia częściej występowały u osób młodszych, które rzadziej miały wykonywany pomiar, mechanizm braku może być powiązany z obserwowanymi cechami. Sam fakt, że w programie zastosowano kod 999, nie rozwiązuje problemu statystycznego. Kodowanie jest etapem przygotowania danych, a nie metodą kompensującą selektywność braków.

6. Przykład z psychologii: kwestionariusz objawów depresyjnych

Załóżmy, że badacz wykorzystuje 10-itemowy kwestionariusz, w którym każda odpowiedź ma zakres 0–3. Uczestnicy mogą pozostawić pytanie puste, zaznaczyć „nie chcę odpowiadać” albo nie otrzymać danego itemu z powodu błędu formularza.

Wpisanie 9 jako wspólnego kodu dla wszystkich tych sytuacji jest ryzykowne. Po pierwsze, 9 nie należy do skali, więc musi zostać wykluczone z obliczania wyniku. Po drugie, różne przyczyny braku mogą mieć odmienne znaczenie. Osoba, która odmówiła odpowiedzi na pytanie o myśli samobójcze, może różnić się od osoby, która nie otrzymała pytania z powodu błędu technicznego. Nie wolno jednak bez dodatkowego uzasadnienia interpretować samej odmowy jako dowodu większego nasilenia objawów.

Jeżeli wynik skali ma być obliczany jako suma itemów, trzeba przedstawić regułę: ile odpowiedzi musi być dostępnych, aby wynik uznać za możliwy do obliczenia, oraz jak postępować z pojedynczymi brakami. Reguła powinna być ustalona przed analizą główną albo jasno oznaczona jako decyzja podjęta po kontroli danych.

7. Jak poprawnie przygotować kodowanie?

  1. Zdefiniuj jednostkę analizy. Ustal, czy jeden wiersz oznacza osobę, wizytę, pomiar czy zdarzenie.
  2. Utwórz słownik danych. Zapisz nazwę zmiennej, etykietę, jednostkę, dopuszczalny zakres, kody odpowiedzi i kody braków.
  3. Rozróżnij przyczyny braku. Nie łącz „nie dotyczy”, „odmowy” i „nie zmierzono”, jeśli mogą mieć znaczenie dla oceny jakości danych.
  4. Ustaw kody braków w programie. Samo wpisanie 999 do arkusza nie informuje programu, że jest to wartość specjalna.
  5. Sprawdź wartości poza zakresem. Dla każdej zmiennej określ minimum i maksimum możliwe z punktu widzenia pomiaru.
  6. Wykonaj kontrolę częstości. Tabele liczebności ujawniają zarówno kody techniczne, jak i podejrzane wartości.
  7. Zachowaj surowe dane. Rekodowanie wykonuj na kopii lub przez skrypt, aby można było odtworzyć każdy etap.
  8. Opisz decyzje w raporcie. Należy podać liczbę braków, sposób ich rozpoznania i metodę uwzględnienia w analizie.

W raportach badań obserwacyjnych zaleca się przedstawienie liczby uczestników na kolejnych etapach oraz wyjaśnienie braków danych i sposobu ich obsługi. Takie podejście jest zgodne z zaleceniami STROBE dotyczącymi przejrzystego raportowania badań obserwacyjnych (von Elm i in., 2007; Vandenbroucke i in., 2007).

8. Co dzieje się po prawidłowym zakodowaniu?

Prawidłowe oznaczenie braków nie oznacza jeszcze, że analiza jest zakończona. Trzeba zdecydować, jak braki zostaną uwzględnione w analizie. Możliwe podejścia obejmują analizę kompletnych przypadków, analizę dostępnych obserwacji, metody oparte na wiarygodności, ważenie oraz imputację wielokrotną. Wybór zależy od projektu, zmiennych, rozmiaru i wzorca braków oraz założeń dotyczących mechanizmu ich powstawania.

Imputacja wielokrotna polega na utworzeniu kilku zbiorów danych, w których braki zastępuje się różnymi wiarygodnymi wartościami, a następnie łączy się wyniki analiz. Zmienność między zbiorami odzwierciedla niepewność wynikającą z braku informacji. W metodzie MICE poszczególne zmienne z brakami są modelowane warunkowo względem innych zmiennych, przy zastosowaniu modeli odpowiednich dla ich typu (White, Royston i Wood, 2011; van Buuren, 2018).

Nie wolno jednak przedstawiać imputacji jako automatycznego „naprawiania” danych. Jej trafność zależy od jakości modelu imputacji, uwzględnionych zmiennych i założeń dotyczących braków. Wynik analizy po imputacji powinien być porównany z analizą alternatywną, a wrażliwość wniosków na przyjęte założenia należy omówić.

Najczęstsze błędy

  • Używanie 0 jako wspólnego kodu dla braku i rzeczywistego wyniku zerowego.
  • Wprowadzanie 99 lub 999 bez ustawienia ich jako wartości brakujących w programie.
  • Traktowanie kodu braku jako najwyższej kategorii skali porządkowej.
  • Łączenie „nie dotyczy”, „odmowa” i „brak pomiaru” bez dokumentacji.
  • Obliczanie średniej, sumy lub wyniku skali przed wykluczeniem kodów technicznych.
  • Automatyczne zastępowanie braków średnią lub ostatnią zaobserwowaną wartością.
  • Usuwanie wszystkich niekompletnych przypadków bez opisania liczby usuniętych obserwacji.
  • Brak kontroli zakresu i częstości po rekodowaniu.
  • Modyfikowanie danych surowych bez zachowania kopii i historii zmian.
  • Opisywanie wyników jako przyczynowych, mimo że sposób powstawania braków i projekt badania tego nie uzasadniają.

Co warto zapamiętać?

  • Brak danych nie jest zwykłą wartością liczbową.
  • Kody 99, 999, -9 i 0 mogą zafałszować wyniki, jeśli nie zostaną prawidłowo zdefiniowane.
  • Najbezpieczniej oddzielić wartość analityczną od informacji o przyczynie braku.
  • Każdy kod specjalny musi być opisany w słowniku danych i rozpoznany przez używane oprogramowanie.
  • Poprawne kodowanie nie zastępuje analizy mechanizmu braków danych.
  • Nie należy traktować imputacji jako automatycznej naprawy bazy; wymaga ona uzasadnienia, odpowiedniego modelu i analizy wrażliwości.
  • W raporcie trzeba podać liczbę braków, ich przyczyny oraz sposób uwzględnienia w analizie.

Zasada praktyczna: jeśli kod „braku” może zostać pomylony z prawdziwą wartością, nie jest wystarczająco bezpieczny. Kodowanie powinno ułatwiać analizę, a nie ukrywać niepewność danych.

Źródła i dalsza lektura

  1. Sterne, J. A. C.; White, I. R.; Carlin, J. B.; Spratt, M.; Royston, P.; Kenward, M. G.; Wood, A. M.; Carpenter, J. R. (2009). Multiple imputation for missing data in epidemiological and clinical research: potential and pitfalls. The BMJ, 338, b2393. DOI: 10.1136/bmj.b2393.
  2. White, I. R.; Royston, P.; Wood, A. M. (2011). Multiple imputation using chained equations: Issues and guidance for practice. Statistics in Medicine, 30(4), 377–399. DOI: 10.1002/sim.4067.
  3. Little, R. J. A.; Rubin, D. B. (2019). Statistical Analysis with Missing Data. 3rd edition. Wiley. Informacja wydawcy / źródło.
  4. van Buuren, S. (2018). Flexible Imputation of Missing Data. 2nd edition. Chapman & Hall/CRC. Informacja wydawcy / źródło.
  5. von Elm, E.; Altman, D. G.; Egger, M.; Pocock, S. J.; Gøtzsche, P. C.; Vandenbroucke, J. P.; STROBE Initiative (2007). The Strengthening the Reporting of Observational Studies in Epidemiology (STROBE) statement: guidelines for reporting observational studies. Epidemiology, 18(6), 805–835. DOI: 10.1097/EDE.0b013e3181577654.
  6. Vandenbroucke, J. P.; von Elm, E.; Altman, D. G.; Gøtzsche, P. C.; Mulrow, C. D.; Pocock, S. J.; Poole, C.; Schlesselman, J. J.; Egger, M.; STROBE Initiative (2007). Strengthening the Reporting of Observational Studies in Epidemiology (STROBE): explanation and elaboration. Annals of Internal Medicine, 147(8), W163–W194. DOI: 10.7326/0003-4819-147-8-200710160-00010.

Podobne wpisy

Jeden komentarz

Dodaj komentarz

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