Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Imputacja wartości null

Zbyt wiele brakujących wartości może negatywnie wpłynąć na jakość modelu uczenia maszynowego. Praktyka uzupełniania brakujących wartości, zwanych wartościami null, nazywa się imputacją. Przyczyn braku danych może być wiele, na przykład błąd bazy danych, niewypełnienie części formularza przez użytkownika albo sytuacja, w której zaczynasz zbierać nowe dane, a starsze rekordy w zestawie nie mają tego nowego punktu danych.

Podczas automatycznego wstępnego przetwarzania danych problem wartości pustych rozwiązuje się przez wykluczenie kolumn, w których brakuje więcej niż 50 procent wartości, i przez imputację brakujących wartości. Imputacja wartości kategorialnych odbywa się przy użyciu dominanty, a wartości liczbowych — przy użyciu średniej.

Istotne jest rozumienie możliwego wpływu imputacji na dane. Imputacja zachowuje potencjał predykcyjny wiersza lub kolumny, ale może również tworzyć wzorce, które wcześniej nie istniały, lub dodawać szum do istniejącego wzorca. Zmniejsza to prawidłowość danych.

Warto sprawdzić swoje praktyki gromadzenia danych, aby zapewnić kompletność danych i w razie potrzeby wdrożyć nowe procesy. Jeśli chcesz zachować reprezentację pustej wartości, możesz wstawić wartości takie jak „inne” lub „nieznane”.

Jak działa imputacja

Typowymi praktykami imputacji wartości null są następujące metody.

Wartości liczbowe

Dobrym podejściem domyślnym jest imputacja wartości średniej. Jeśli brakujące wartości mają rozkład normalny, przypomina to obciążenie środka huśtawki — nie wpływa to na ciężar żadnej ze stron. Należy jednak zawsze rozważyć, co ta wartość ma reprezentować. Jeżeli na przykład niektóre wartości ceny sprzedaży w Twoich danych są puste, to czy jest to spowodowane błędem bazy danych, czy też kupujący użył kuponu jako metody płatności? Czy 0 lub inna wartość niż średnia miałaby większy sens?

Wartości kategorialne

Dobrym podejściem domyślnym w przypadku wartości kategorialnych jest dodanie kolejnej kategorii i nazwanie jej „Inne”, „Nieznane” lub nawet „Brakujące”. Ta kategoria może zawierać dodatkową wariancję, jeśli brakujące wartości są rozłożone losowo, lub zyskać na znaczeniu cechy, jeśli istnieje znaczący związek między brakującą wartością a wartością celu.

Rozwiązaniem awaryjnym jest przypisanie średniej w postaci dominanty. Podobnie jak w przypadku wartości liczbowych zawsze należy rozważyć zarówno to, co wartość faktycznie ma reprezentować, jak i dlaczego może jej brakować. Jeśli wiesz, że większość brakujących wartości to prawdopodobnie dominanta, możesz przypisać dominantę. Jeśli wartość nie jest znana lub nie ma co do niej pewności, można przypisać wartość kategorialną za pomocą tekstu zastępczego, który jest nową unikatową wartością w zestawie danych.

Efekty imputacji wartości liczbowych

Imputacja wartości liczbowych 1 pokazuje wykres rozrzutu z linią najlepszego dopasowania. Mamy wartość liczbową wzdłuż osi kategorii (x) i wartość docelową wzdłuż osi wartości (y). Wydaje się to być dobrym dopasowaniem, ale uwzględnia tylko punkty danych, w których x jest znane.

Imputacja wartości liczbowych 1: Wykres znanych wartości z linią najlepszego dopasowania

Wykres z linią najlepszego dopasowania.

W imputacji wartości liczbowych 2 dokonaliśmy imputacji wartości średniej. Brakujące wartości nie wydają się jednak losowe. Prowadzi to do przekrzywienia linii najlepszego dopasowania i wprowadzenia szumu, co zmniejsza ogólną dokładność modelu.

Imputacja wartości liczbowych 2: Wykres znanych wartości i imputowanych wartości średnich. Imputowane wartości nie są losowo rozłożone i istnieje nowa linia najlepszego dopasowania.

Wykres z imputowanymi wartościami, które przekrzywiają linię najlepszego dopasowania.

Wykres w Imputacji wartości liczbowych 3 pokazuje, jak by to wyglądało, gdybyśmy imputowali średnią, gdy brakujące wartości są rozłożone losowo. Innymi słowy, gdy wiedza o tym, czy wartość była obecna, czy też jej brakowało, nie dostarcza nam dodatkowych informacji. Losowe rozmieszczenie brakujących wartości nie zmienia linii najlepszego dopasowania. Gdybyśmy przypisali 0 zamiast wartości średniej, zmieniłoby to linię najlepszego dopasowania podobnie jak w imputacji wartości liczbowych 2.

Imputacja wartości liczbowych 3: Wykres znanych wartości i losowo rozłożonych wartości imputowanych. Linia najlepszego dopasowania nie uległa zmianie.

Wykres z imputowanymi wartościami, które nie przekrzywiają linii najlepszego dopasowania.

Przykład: Kwalifikacja do kredytu

W realistycznym przykładzie x byłoby rocznym dochodem, a y — kwotą kredytu, do której ktoś mógłby się kwalifikować. Oczekiwalibyśmy związku, w którym im więcej pieniędzy ktoś zarabia, tym więcej pieniędzy może pożyczyć. Wzór byłby podobny do imputacji wartości liczbowych 1 powyżej.

Wyobraźmy sobie, że ludzie, którzy zarabiają mniej, rzadziej podają swoje roczne dochody. W tym przypadku brakuje wartości x z określonego powodu. Przypisanie średniej dla tych wartości wypaczyłoby wyniki modelu. Wynik byłby podobny do imputacji wartości liczbowych 2.

Załóżmy teraz, że niektóre rekordy w bazie danych zostały losowo usunięte. Rekordy te zawierały dane o tym, ile pieniędzy zarabiają niektórzy ludzie, bez informacji o konkretnych osobach. W związku z tym wartość x jest losowo null. Efekt ten jest przedstawiony w imputacji wartości liczbowej 3 i jest to przypadek, w którym możemy bezpiecznie imputować brakującą wartość.

Inną kwestią do rozważenia jest: co by było, gdyby imputować 0 zamiast średniej? W przykładzie kwalifikacji do kredytu roczne dochody na poziomie 0 dolarów nie są raczej reprezentatywne. Spowodowałoby to wypaczenie modelu podobnie jak imputacja wartości liczbowych 2.

Efekty imputacji wartości kategorialnych

W powyższym przypadku liczbowym do imputacji brakujących wartości użyliśmy średniej. Prostą metodą w przypadku wartości kategorialnych jest użycie dominanty, która jest najczęściej występującą wartością. Z imputacją przy użyciu dominanty wiąże się część takich samych problemów jak przy imputacji średniej wartości liczbowej.

Na poniższym wykresie widać wzorzec brakujących wartości w Missing_1 względem celu, podczas gdy Missing_2 ma rozkład losowy. Widzimy to, ponieważ Missing_2 odpowiada ogólnej średniej wartości celu. Missing_1 przypomina imputację wartości liczbowych 2, a Missing_2 — imputację wartości liczbowych 3.

Imputacja wartości kategorialnych: Kolumny Missing_1 i Missing_2 to przykłady braku danych z wzorcem i bez wzorca.

Wykres przedstawiający rozkład klas A, B i C wraz z ogólną średnią i imputacją brakujących wartości kategorialnych.

Różnica w stosunku do przykładu liczbowego polega na tym, że w tym przypadku zarówno Missing_1, jak i Missing_2 wypaczają rozpoznawanie wzorca. Wzorzec jest wypaczony tylko dla podzestawu danych, kategorii B, która byłaby wartością imputowaną w przypadku imputacji przy użyciu dominanty, ponieważ jest to największa kategoria.

Wypaczenie relacji między pojedynczą wartością a wartością celu nie jest jedynym ryzykiem związanym z imputacją, ale należy do najczęstszych i najłatwiejszych do oceny. Inne zagrożenia zwykle po prostu zwiększają szum i zmniejszają dokładność. Na szczęście ryzyko wypaczenia można znacznie zmniejszyć, odrzucając stosunkowo rzadkie wymiary. Często dyskutuje się o tym, jakie dokładnie poziomy rzadkości należy dopuścić w kolumnie lub wierszu, ale rzadziej zwraca się uwagę na to, że imputowanie wartości może potencjalnie zniekształcić dane tak, że nie będą one już reprezentatywne dla tego, co mają opisywać.

Dowiedz się więcej

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!