W swojej roli zawodowej często pracuję z zestawami danych innych osób, nie-eksperci dostarczają mi dane kliniczne i pomagam im je podsumować i przeprowadzić testy statystyczne.
Problem, który mam, polega na tym, że zestawy danych, które przynoszę, są prawie zawsze pełne literówek, niespójności i wszelkiego rodzaju innych problemów. Interesuje mnie to, czy inne osoby mają standardowe testy, które robią, aby sprawdzić, czy nadchodzą zestawy danych.
Kiedyś rysowałem histogramy każdej zmiennej, żeby się przyjrzeć, ale teraz zdaję sobie sprawę, że istnieje wiele okropnych błędów, które mogą przetrwać ten test. Na przykład miałem zbiór danych z powtarzanymi pomiarami innego dnia, w którym dla niektórych osób powtarzana miara była identyczna w czasie 2, jak w czasie 1. Zostało to później udowodnione jako nieprawidłowe, jak można się spodziewać. Inny zestaw danych zawierał osobę, która przeszła od bardzo poważnego nieuporządkowania (reprezentowanego przez wysoki wynik) do bezproblemowej, reprezentowanej przez 0 na całej planszy. Jest to po prostu niemożliwe, chociaż nie mogłem tego ostatecznie udowodnić.
Jakie podstawowe testy mogę uruchomić dla każdego zestawu danych, aby upewnić się, że nie mają literówek i nie zawierają niemożliwych wartości?
Z góry dziękuję!
Odpowiedzi:
Pomaga zrozumieć, w jaki sposób dane zostały zarejestrowane.
Pozwól, że podzielę się historią . Kiedyś, dawno temu, wiele zbiorów danych było przechowywanych tylko w postaci zanikających wydruków. W tych mrocznych dniach podpisałem umowę z organizacją (o wspaniałym rodowodzie i wielkości; wielu z was zapewne posiada zapasy), aby skomputeryzować około 10 ^ 5 danych monitorowania środowiska w jednym z jej zakładów produkcyjnych. Aby to zrobić, osobiście oznaczyłem półkę raportów laboratoryjnych (aby pokazać, gdzie były dane), utworzyłem formularze wprowadzania danych i podpisałem umowę z agencją pracy tymczasowej w zakresie umiejętności czytania i pisaniapracownicy, aby wpisać dane do formularzy. (Tak, trzeba było dodatkowo płacić za osoby, które potrafią czytać.) Ze względu na wartość i wrażliwość danych przeprowadziłem ten proces równolegle z dwoma pracownikami naraz (którzy zwykle zmieniali się z dnia na dzień). Zajęło to kilka tygodni. Napisałem oprogramowanie do porównania dwóch zestawów wpisów, systematycznie identyfikując i poprawiając wszystkie pojawiające się błędy.
Chłopcze były błędy! Co może pójść źle? Dobrym sposobem na opisanie i pomiar błędów jest poziom podstawowego zapisu, który w tej sytuacji był opisem pojedynczego wyniku analitycznego (często stężenia niektórych chemikaliów) dla konkretnej próbki uzyskanego w danym punkcie monitorowania na podana data. Porównując dwa zestawy danych, znalazłem:
Błędy pominięcia : jeden zestaw danych zawierałby rekord, inny nie. Zwykle działo się tak, ponieważ albo (a) wiersz lub dwa byłyby przeoczane u dołu strony lub (b) cała strona byłaby pomijana.
Widoczne błędy pominięcia, które były tak naprawdę błędami wprowadzania danych. Rekord jest identyfikowany przez nazwę punktu monitorowania, datę i „analit” (zwykle nazwę chemiczną). Jeśli którykolwiek z nich zawiera błąd typograficzny, nie zostanie dopasowany do innych rekordów, z którymi jest powiązany. W efekcie poprawny zapis znika i pojawia się niepoprawny zapis.
Fałszywe powielanie . Te same wyniki mogą pojawiać się w wielu źródłach, być wielokrotnie przepisywane i wydawać się prawdziwymi powtarzanymi pomiarami, gdy nie są. Duplikaty są łatwe do wykrycia, ale decyzja, czy są błędne, zależy od tego, czy duplikaty powinny pojawić się nawet w zbiorze danych. Czasami po prostu nie możesz wiedzieć.
Frank błędy wprowadzania danych . „Dobre” są łatwe do złapania, ponieważ zmieniają typ układu odniesienia: użycie litery „O” dla cyfry „0”, na przykład, zamienia liczbę na nieliczbową. Inne dobre błędy zmieniają wartość tak bardzo, że można ją łatwo wykryć za pomocą testów statystycznych. (W jednym przypadku cyfra wiodąca w „1 000,010 mg / kg” została odcięta, pozostawiając wartość 10. To ogromna zmiana, gdy mówisz o stężeniu pestycydu!) Złe błędy są trudne do uchwycenia, ponieważ się zmieniają wartość w taką, która pasuje (niejako) do reszty danych, na przykład wpisując „80” dla „50”. (Ten rodzaj błędu zdarza się cały czas w oprogramowaniu OCR.)
Transpozycje . Można wprowadzić prawidłowe wartości, ale skojarzone z niewłaściwymi kluczami zapisu. Jest to podstępne, ponieważ globalna charakterystyka statystyczna zestawu danych może pozostać niezmieniona, ale między grupami można tworzyć fałszywe różnice. Prawdopodobnie tylko mechanizm taki jak podwójne wejście jest w stanie wykryć te błędy.
Gdy zdasz sobie sprawę z tych błędów i wiesz, lub masz teorię, w jaki sposób one występują, możesz pisać skrypty trollujące zestawy danych pod kątem ewentualnej obecności takich błędów i oflagować je do dalszej uwagi. Nie zawsze można je rozwiązać, ale przynajmniej można dołączyć pole „komentarz” lub „flaga jakości”, aby towarzyszyć danym podczas ich późniejszej analizy.
Od tego czasu zwracałem uwagę na problemy z jakością danych i miałem znacznie więcej okazji do kompleksowej kontroli dużych zbiorów danych statystycznych. Żadne nie jest idealne; wszyscy korzystają z kontroli jakości. Niektóre zasady, które opracowałem przez lata, aby to zrobić, obejmują
O ile to możliwe, nadmiarowość w procedurach wprowadzania i transkrypcji danych: sumy kontrolne, sumy, powtarzane wpisy: wszystko, co wspiera automatyczne wewnętrzne kontrole spójności.
Jeśli to możliwe, utwórz i wykorzystaj inną bazę danych, która opisuje, jak powinny wyglądać dane: tzn . Metadane czytelne dla komputera. Na przykład w eksperymencie z narkotykami możesz z góry wiedzieć, że każdy pacjent będzie widziany trzy razy. Umożliwia to utworzenie bazy danych ze wszystkimi poprawnymi rekordami i ich identyfikatorami z wartościami, które tylko czekają na wypełnienie. Wypełnij je danymi, które ci podałeś, a następnie sprawdź, czy nie ma duplikatów, pominięć i nieoczekiwanych danych.
Zawsze normalizuj swoje dane (w szczególności ustaw je w co najmniej czwartą normalną formę ), niezależnie od tego, jak planujesz sformatować zestaw danych do analizy. Zmusza to do utworzenia tabel dla każdego odrębnego koncepcyjnie bytu, który modelujesz. (W przypadku środowiska obejmują to tabele lokalizacji monitorowania, próbek, chemikaliów (właściwości, typowe zakresy itp.), Testy tych próbek (badanie zwykle obejmuje zestaw chemikaliów) oraz indywidualne wyniki tych badań. W ten sposób tworzysz wiele skutecznych kontroli jakości i spójności danych oraz identyfikujesz wiele potencjalnie brakujących, zduplikowanych lub niespójnych wartości.
Ten wysiłek (który wymaga dobrych umiejętności przetwarzania danych, ale jest prosty) jest zadziwiająco skuteczny. Jeśli chcesz przeanalizować duże lub złożone zbiory danych i nie masz dobrej praktycznej wiedzy na temat relacyjnych baz danych i ich teorii, dodaj to do swojej listy rzeczy do nauczenia się jak najszybciej. Będzie wypłacać dywidendy przez całą karierę.
Zawsze wykonuj jak najwięcej „głupich” kontroli . Są to automatyczna weryfikacja oczywistych rzeczy, takich jak daty mieszczą się w oczekiwanych okresach, liczba pacjentów (lub chemikaliów itp.) Zawsze sumuje się poprawnie, czy wartości są zawsze rozsądne (np. PH musi wynosić od 0 do 14, a może znacznie węższy zakres, powiedzmy, odczytów pH krwi) itp. W tym miejscu najbardziej pomocna może być wiedza specjalistyczna w dziedzinie: statystyki mogą nieustannie zadawać głupie pytania ekspertom i wykorzystywać odpowiedzi w celu sprawdzenia danych.
Oczywiście można powiedzieć o wiele więcej - temat jest wart książki - ale powinno to wystarczyć do pobudzenia pomysłów.
źródło
@ Whuber robi świetne sugestie; Dodałbym tylko: działki, działki, działki, działki. Wykresy rozrzutu, histogramy, wykresy pudełkowe, wykresy liniowe, mapy cieplne i wszystko inne, co możesz wymyślić. Oczywiście, jak zauważyłeś, są błędy, które nie będą widoczne na żadnych działkach, ale są dobrym miejscem do rozpoczęcia. Upewnij się, że wiesz, jak twoje oprogramowanie radzi sobie z brakującymi danymi itp.
W zależności od kontekstu możesz stać się kreatywny. Jedną rzeczą, którą lubię robić z danymi wielowymiarowymi jest dopasowanie pewnego rodzaju modelu czynnikowego / probabilistycznego PCA (coś, co spowoduje wielokrotne przypisanie brakujących danych) i sprawdzenie wyników dla jak największej liczby składników. Punkty danych, które zdobywają wysokie noty w mniej ważnych komponentach / czynnikach, są często wartościami odstającymi, których inaczej byś nie widział.
źródło
Wielkie rzeczy, które zwykle sprawdzam:
Świetne pytanie BTW - mam nadzieję przeczytać doświadczenia innych ludzi w tej sprawie.
źródło
Gdy masz pomiary w czasie („ dane wzdłużne ”), często przydatne jest sprawdzenie gradientów, a także rozkładów krańcowych. Ten gradient można obliczyć w różnych skalach. Mówiąc bardziej ogólnie, możesz dokonywać znaczących transformacji danych (Fouriera, Wavelet) i sprawdzać rozkłady marginesów transformowanych danych.
źródło
Kilka zawsze przechodzę:
To są pierwsze kroki, które muszę wykonać, aby upewnić się, że zestaw danych jest nawet gotowy na coś w rodzaju eksploracyjnej analizy danych. Po prostu siadam, wędrując po danych i pytając: „Czy to… wydaje się słuszne?”
źródło
Chciałbym użyć metody próbkowania akceptacji do każdej kolumny (daje to punkt odcięcia, w którym można narysować linię między wysoką jakością a niską jakością), jest na to kalkulator online.
źródło