- Popularne strategie statystycznej imputacji brakujących wartości w zbiorze danych.
- 2- Imputation Using (Mean/Median) Values:
- 3- Imputation Using (Most Frequent) or (Zero/Constant) Values:
- 4- Imputacja z użyciem k-NN:
- Jak to działa?
- 5-. Imputacja z wykorzystaniem metody Multivariate Imputation by Chained Equation (MICE)
- 6- Imputation Using Deep Learning (Datawig):
- Stochastyczna imputacja regresji:
- Extrapolacja i interpolacja:
- Hot-Deck imputacja:
Popularne strategie statystycznej imputacji brakujących wartości w zbiorze danych.
Wiele zbiorów danych w świecie rzeczywistym może zawierać brakujące wartości z różnych powodów. Często są one kodowane jako NaNs, puste miejsca lub jakiekolwiek inne placeholdery. Trening modelu z zestawem danych, który zawiera wiele brakujących wartości może drastycznie wpłynąć na jakość modelu uczenia maszynowego. Niektóre algorytmy, takie jak estymatory scikit-learn, zakładają, że wszystkie wartości są numeryczne i mają i przechowują znaczące wartości.
Jednym ze sposobów radzenia sobie z tym problemem jest pozbycie się obserwacji, które mają brakujące dane. Jednakże, ryzykujesz utratę punktów danych z cennymi informacjami. Lepszą strategią byłoby imputowanie brakujących wartości. Innymi słowy, musimy wywnioskować te brakujące wartości z istniejącej części danych. Istnieją trzy główne typy brakujących danych:
- Brak całkowicie losowy (MCAR)
- Brak losowy (MAR)
- Brak losowy (NMAR)
Jednakże w tym artykule skupię się na 6 popularnych sposobach imputacji danych dla przekrojowych zbiorów danych (zbiory danych szeregów czasowych to inna historia).
To jest łatwe. Po prostu pozwalasz algorytmowi obsługiwać brakujące dane. Niektóre algorytmy mogą uwzględniać brakujące wartości i uczyć się najlepszych wartości imputacji dla brakujących danych w oparciu o redukcję straty szkoleniowej (np. XGBoost). Niektóre inne mają opcję ignorowania ich (np. LightGBM – use_missing=false). Jednakże, inne algorytmy będą panikować i rzucać błąd narzekając na brakujące wartości (np. Scikit learn – LinearRegression). W takim przypadku trzeba będzie obsłużyć brakujące dane i oczyścić je przed podaniem do algorytmu.
Zobaczmy kilka innych sposobów imputowania brakujących wartości przed treningiem:
Uwaga: Wszystkie poniższe przykłady używają California Housing Dataset z Scikit-learn.
2- Imputation Using (Mean/Median) Values:
To działa poprzez obliczenie średniej/mediany wartości niepomijalnych w kolumnie, a następnie zastąpienie brakujących wartości w każdej kolumnie oddzielnie i niezależnie od innych. Można jej używać tylko z danymi liczbowymi.
Zalety:
- Łatwa i szybka.
- Dobrze sprawdza się w przypadku małych numerycznych zbiorów danych.
Cons:
- Nie uwzględnia korelacji między cechami. Działa tylko na poziomie kolumn.
- Daje słabe wyniki na zakodowanych cechach kategorycznych (NIE używaj go na cechach kategorycznych).
- Nie jest bardzo dokładny.
- Nie uwzględnia niepewności w imputacjach.
3- Imputation Using (Most Frequent) or (Zero/Constant) Values:
Most Frequent jest kolejną strategią statystyczną do imputacji brakujących wartości i TAK!!! Działa z cechami kategorycznymi (ciągami znaków lub reprezentacjami liczbowymi) zastępując brakujące dane najczęstszymi wartościami w każdej kolumnie.
Pros:
- Dobrze działa z cechami kategorycznymi.
Cons:
- Nie uwzględnia również korelacji między cechami.
- Może wprowadzać błąd w danych.
Imputacja zerowa lub stała – jak sama nazwa wskazuje – zastępuje brakujące wartości zerem lub dowolną stałą wartością określoną przez użytkownika