PQStat Podręcznik Użytkownika PQStat English pqstat.pl

KONTROLA JAKOŚCI DANYCH

Zanim przystąpi się do analizy statystycznej, warto sprawdzić, czy wczytane dane nie zawierają błędów, które mogłyby wypaczyć wyniki – np. kolumny liczbowej, która w rzeczywistości jest zakodowaną kategorią, wartości wyraźnie odstających od reszty, niestandardowych kodów braków danych (np. -99) wymieszanych z prawdziwymi wartościami, czy pojedynczych wpisów niepasujących do reszty kolumny (np. wartość ujemna w kolumnie wiek).

Kontrola jakości danych skanuje wszystkie kolumny aktywnego arkusza, oblicza dla każdej z nich zwięzłe podsumowanie statystyczne, a następnie oddaje to podsumowanie modelowi językowemu (AI), który wskazuje, co w danych wygląda podejrzanie i dlaczego. Funkcja nie modyfikuje danych – jedynie zwraca opisową listę spostrzeżeń do przejrzenia przez użytkownika.

Uwaga! Funkcja wymaga skonfigurowanego źródła modelu AI w Ustawieniach (zakładka Narzędzia zewnętrzne) – lokalnego serwera Ollama, zdalnego serwera Ollama lub usługi zgodnej z API OpenAI. Zobacz rozdział USTAWIENIA po szczegóły konfiguracji poszczególnych źródeł.

Co jest sprawdzane

  • Kolumny liczbowe wyglądające na zakodowaną kategorię – gdy kolumna zawiera wyłącznie liczby całkowite, a liczba różnych wartości jest niewielka względem liczby obserwacji.
  • Wartości odstające – wykrywane metodą rozstępu międzykwartylowego (IQR): za odstającą uznawana jest wartość leżąca poniżej \(Q_1-1{,}5\cdot IQR\) lub powyżej \(Q_3+1{,}5\cdot IQR\).
  • Podejrzane, powtarzające się wartości skrajne – wartość leżąca daleko poza resztą rozkładu, która pojawia się w kolumnie więcej niż raz, co odróżnia ją od pojedynczego, przypadkowego odstępstwa i sugeruje niestandardowy kod braku danych (np. -99, 999).
  • Sensowność wartości względem nazwy kolumny – np. czy kolumna wiek nie zawiera wartości ujemnych, czy kolumna wyglądająca na pytanie tak/nie nie zawiera innych wartości. Tego rodzaju ocena wymaga zrozumienia znaczenia nazwy kolumny, dlatego wykonuje ją wyłącznie model AI na podstawie przekazanego podsumowania – nie jest to reguła sprawdzana bezpośrednio przez program.

Jak uruchomić kontrolę

Okno kontroli jakości danych wywołujemy poprzez menu Dane\(\to\)Kontrola jakości danych...

Krok 1. Upewnij się, że w arkuszu aktywny jest zbiór danych, który chcesz sprawdzić.
Krok 2. Wybierz Dane\(\to\)Kontrola jakości danych...
Krok 3. W oknie opcji wybierz model AI (lub zostaw domyślny) i zdecyduj, czy opis ma zostać wygenerowany automatycznie, czy na podstawie własnego prompta z dodatkowymi wskazówkami.
Krok 4. Uruchom analizę przyciskiem OK.
Uwaga! Funkcja sprawdza wszystkie niepuste kolumny aktywnego arkusza jednocześnie – nie ma możliwości ograniczenia sprawdzania do wybranych kolumn.

Wykonanie i interpretacja

Przykład 1. (plik Data_Quality_Check.csv)
Plik zawiera 1000 wierszy (osób badanych) i 10 kolumn opisujących typowe dane medyczne: wiek, płeć, wzrost, wagę, ciśnienie skurczowe, grupę krwi, obecność choroby przewlekłej, liczbę wizyt, wynik testu psychometrycznego oraz tętno spoczynkowe. W każdej kolumnie celowo umieszczono po kilka nietypowych wartości – tabela poniżej pokazuje, jakiego rodzaju problem reprezentuje każda z nich. Po wczytaniu pliku wybieramy Dane\(\to\)Kontrola jakości danych... i uruchamiamy analizę z modelem domyślnym.

KolumnaRodzaj problemuPrzykładowe wartości
wiekwartości odstające / niemożliwe\(-2\), \(0\), \(150\), \(199\)
plecwartość spoza zbioru kategorii (K/M)"3", "nieznana"
wzrost_cmwartości odstające (błąd zapisu)\(17{,}0\) (zam. \(170\)), \(1210{,}0\)
waga_kgpowtarzający się podejrzany kod\(-99\) (5\(\times\) w różnych wierszach)
cisnienie_skurczowewartości odstające\(255\), \(38\)
grupa_krwiwartość spoza zbioru kategorii (0/A/B/AB)"5", "Rh+"
choroba_przewleklawartość spoza zbioru kategorii (tak/nie)"kobieta", "2"
liczba_wizytwartość niemożliwa dla licznika\(-2\), \(-1\)
wynik_testu_psychometrycznegopowtarzający się podejrzany kod\(999\) (4\(\times\) w różnych wierszach)
tetno_spoczynkowewartości odstające\(2\), \(410\)
Spodziewany wynik kontroli
Dla każdej z powyższych kolumn kontrola powinna wskazać dokładnie ten rodzaj problemu, jaki został w niej celowo umieszczony – np. dla wiek: "wartości -2, 0, 150 i 199 są niezgodne z sensem wieku"; dla waga_kg: "wartość -99 powtarza się kilkukrotnie i może być niestandardowym kodem braku danych"; dla choroba_przewlekla: "wartość kobieta nie pasuje do pozostałych wartości tak/nie". Dokładne sformułowania zależą od użytego modelu AI – powyższe to jedynie oczekiwany kierunek wskazań, nie dosłowna odpowiedź.

Wynik zostaje zapisany w Notatce arkusza danych (widocznej w drzewie projektu), gdzie można go dowolnie edytować lub uzupełnić własnymi uwagami przed zapisaniem.

DLA ZAINTERESOWANYCH

Procedura: dla każdej kolumny program oblicza niezależnie: liczbę obserwacji, liczbę braków danych, liczbę unikalnych wartości, a następnie – w zależności od charakteru kolumny – albo statystyki liczbowe (minimum, kwartyle, maksimum, wartości odstające wg reguły IQR), albo listę kategorii wraz z ich licznością. To zwięzłe podsumowanie (a nie surowe dane) trafia do modelu AI wraz z instrukcją, by wskazał wyłącznie te kolumny, w których faktycznie coś budzi wątpliwości, i nie zgadywał niczego poza tym, co wynika z podanego podsumowania.

Uwaga o wydajności: ponieważ analizowane jest samo podsumowanie, a nie pełna zawartość arkusza, rozmiar zapytania do modelu pozostaje niewielki nawet dla arkuszy z dużą liczbą wierszy – rośnie on wraz z liczbą kolumn, a nie liczbą obserwacji.