Mechanizmy brakujących danych

Obsługa brakujących danych z imputacją w R

Michal Oleszak

Machine Learning Engineer

Mechanizmy brakujących danych: przegląd

Problemy z brakującymi danymi można podzielić na trzy kategorie. Ich rozróżnienie jest kluczowe, ponieważ każda wymaga innego podejścia.

  • Brakujące całkowicie losowo (MCAR).
  • Brakujące losowo (MAR).
  • Brakujące nielosowo (MNAR).
Obsługa brakujących danych z imputacją w R

Brakujące całkowicie losowo (MCAR)

Lokalizacje braków w zbiorze danych są całkowicie losowe i nie zależą od żadnych innych danych.

Przykład:

Czujnik pogodowy mierzy temperaturę i przesyła dane do bazy. W bazie brakuje wpisów z okresu, gdy czujnik uległ awarii.

Obsługa brakujących danych z imputacją w R

Brakujące losowo (MAR)

Lokalizacje braków w zbiorze danych zależą od innych, obserwowanych danych.

Przykład:

W bazie brakuje wartości temperatury z okresu, gdy czujnik był wyłączony na czas konserwacji. Ponieważ konserwacja nie odbywa się w weekendy, lokalizacje braków zależą od dnia tygodnia.

Obsługa brakujących danych z imputacją w R

Brakujące nielosowo (MNAR)

Lokalizacje braków w zbiorze danych zależą od samych brakujących wartości.

Przykład:

Przy bardzo niskich temperaturach czujnik zamarza i przestaje działać, nie rejestrując ekstremalnych wartości. Lokalizacje braków w zmiennej temperatury zależą więc od jej własnych wartości.

Obsługa brakujących danych z imputacją w R

Obsługa mechanizmów

Co się stanie, gdy po prostu usuniemy niekompletne obserwacje?

  • Jeśli dane są MCAR, ich usunięcie powoduje utratę informacji.
  • Jeśli dane są MAR lub MNAR, ich usunięcie wprowadza obciążenie do modeli.
  • W takim przypadku braki należy imputować.
  • Wiele metod imputacji zakłada MAR, dlatego ważne jest jego wykrycie.
Obsługa brakujących danych z imputacją w R

Testowanie statystyczne

Przykład: test t różnicy średnich

  1. Przyjmij założenie (hipoteza zerowa): średnie są równe.
  2. Oblicz statystykę testową na podstawie danych.
  3. Oblicz p-wartość: jak prawdopodobne jest uzyskanie tej statystyki, przy założeniu prawdziwości hipotezy zerowej?

Mała p-wartość → odrzucenie hipotezy zerowej → średnie są różne


Duża p-wartość → brak podstaw do odrzucenia → średnie są równe

Obsługa brakujących danych z imputacją w R

Testowanie MAR

Cel: sprawdzenie, czy odsetek braków w jednej zmiennej różni się dla różnych wartości innej zmiennej.

Przykład: czy odsetek braków w PhysActive różni się dla mężczyzn i kobiet?

Procedura testowania:

  1. Utwórz zmienną binarną wskazującą, czy PhysActive ma brak danych.
  2. Użyj testu t, aby sprawdzić, czy średnia tej zmiennej różni się dla mężczyzn i kobiet.
  3. Jeśli p-wartość jest mała (np. < 0,05), średnie są różne, czyli dane są MAR.
Obsługa brakujących danych z imputacją w R

Testowanie w praktyce

nhanes <- nhanes %>% 
  mutate(missing_phys_active = is.na(PhysActive))
missing_phys_active_male <- nhanes %>% 
  filter(Gender == "male") %>% 
  pull(missing_phys_active)

missing_phys_active_female <- nhanes %>% 
  filter(Gender == "female") %>% 
  pull(missing_phys_active)
Obsługa brakujących danych z imputacją w R

Interpretacja wyników testu

t.test(missing_phys_active_female, missing_phys_active_male)
    Welch Two Sample t-test

data:  missing_phys_active_female and missing_phys_active_male
t = -1.7192, df = 781.18, p-value = 0.08597
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.044414688  0.002940477
sample estimates:
 mean of x  mean of y 
0.02083333 0.04157044
Obsługa brakujących danych z imputacją w R

Przećwiczmy rozpoznawanie mechanizmów brakujących danych!

Obsługa brakujących danych z imputacją w R

Preparing Video For Download...