Gość (37.30.*.*)
Wyobraź sobie, że analizujesz wyniki ankiety przeprowadzonej wśród tysiąca osób. Wszystko idzie świetnie, dopóki nie zauważasz, że w co dziesiątym kwestionariuszu brakuje informacji o wieku lub zarobkach. Co teraz? Możesz usunąć te niekompletne rekordy, ale wtedy stracisz mnóstwo cennych informacji. I tutaj na scenę wchodzi imputacja – proces, który w świecie statystyki i analizy danych pełni rolę „ratownika medycznego” dla Twoich baz danych.
Imputacja to proces zastępowania brakujących danych wartościami szacunkowymi. Zamiast zostawiać „dziurę” w zbiorze danych lub usuwać cały wiersz, staramy się logicznie wydedukować, co mogłoby się tam znajdować. Jest to kluczowy element przygotowania danych (data cleaning), ponieważ większość algorytmów uczenia maszynowego i testów statystycznych po prostu nie radzi sobie z pustymi polami (tzw. wartościami NaN lub Null).
Warto wiedzieć, że braki w danych nie zawsze wynikają z błędu. Czasem respondent nie chciał odpowiedzieć na intymne pytanie, innym razem czujnik w maszynie na chwilę stracił zasilanie, a niekiedy dane po prostu nie zostały zarejestrowane z przyczyn technicznych.
Usunięcie niekompletnych rekordów (tzw. listwise deletion) jest najprostszą metodą, ale niesie ze sobą spore ryzyko. Po pierwsze, drastycznie zmniejszasz wielkość swojej próby, co osłabia moc statystyczną badań. Po drugie, możesz wprowadzić tzw. błąd systematyczny. Jeśli np. osoby o bardzo wysokich zarobkach częściej odmawiały odpowiedzi na pytanie o dochód, to usuwając te rekordy, sztucznie zaniżysz średnią zarobków w całej badanej grupie. Imputacja pozwala zachować strukturę zbioru i zminimalizować to ryzyko.
Proces ten nie polega na losowym wpisywaniu liczb. To przemyślana procedura, która zazwyczaj składa się z kilku etapów:
W zależności od stopnia skomplikowania projektu, możemy wyróżnić kilka podejść:
To najprostsza metoda, polegająca na wstawieniu w puste miejsce średniej, mediany lub dominanty (najczęściej występującej wartości) z danej kolumny. Jest szybka, ale ma wadę – zmniejsza wariancję (zróżnicowanie) danych, co może sprawić, że model będzie zbyt „pewny siebie”.
Algorytm szuka innych rekordów (sąsiadów), które są najbardziej podobne do tego z brakiem danych. Jeśli szukamy brakującego wzrostu osoby, która waży 80 kg i ma 30 lat, algorytm sprawdzi inne osoby o podobnej wadze i wieku, a następnie wyciągnie średnią z ich wzrostu.
To jedna z najbardziej zaawansowanych technik. Zamiast wypełniać brak raz, algorytm tworzy kilka różnych zestawów danych z różnymi szacunkami, a następnie wyciąga z nich średni wynik. Pozwala to na zachowanie naturalnej niepewności, która zawsze towarzyszy brakującym informacjom.
Aby lepiej zrozumieć, jak to działa w praktyce, przeprowadźmy prosty proces imputacji średnią dla małego zbioru danych dotyczącego wieku uczestników kursu.
Zbiór danych (wiek): 20, 22, 25, brak danych, 30, 28.
Krok 1: Obliczenie średniej z dostępnych wartości.
Sumujemy znane wartości:
$20 + 22 + 25 + 30 + 28 = 125$
Krok 2: Dzielimy sumę przez liczbę dostępnych rekordów (5).
$\frac{125}{5} = 25$
Krok 3: Wstawiamy wynik w miejsce braku.
Nasz kompletny zbiór danych po imputacji to: 20, 22, 25, 25, 30, 28.
Dzięki temu prostemu zabiegowi możemy teraz obliczyć np. odchylenie standardowe dla całej grupy, co byłoby niemożliwe przy pustym polu.
Czy wiesz, że imputacja ratuje życie? W badaniach klinicznych nad nowymi lekami pacjenci czasem rezygnują z udziału w trakcie testów. Naukowcy muszą użyć imputacji, aby rzetelnie ocenić skuteczność leku, nie ignorując danych od osób, które nie ukończyły badania.
Z kolei giganci tacy jak Netflix czy Spotify używają imputacji (często w formie faktoryzacji macierzy), aby przewidzieć, jaką ocenę wystawiłbyś filmowi, którego jeszcze nie widziałeś. Twoje „puste pole” przy danym tytule jest wypełniane na podstawie gustów osób o podobnym profilu – to właśnie dzięki temu systemy rekomendacji działają tak trafnie!