Skip to content

5. Algoritmy pro nahrazování chybějících hodnot. Detekce a ošetření odlehlých hodnot. Vyvažování skupin dat (undersampling/oversampling metody). (NI-PDD)


Algoritmy pro nahrazování chybějících hodnot

Chybějící, nebo prázdné hodnoty

  • Ve zdrojových datech často nelze odlišit chybějící a schválně nevyplněnou hodnotu
  • Mohou vznikat různými způsoby:
    • Technické problémy při sběru dat
    • Nevyplněné hodnoty v dotaznících
    • Chyby při přenosu nebo ukládání dat

Algoritmy

  • Nedělat nic

    • Použít relevantní reprezentaci pro chybějící hodnotu
    • Například NaN = -1, pokud všechny ostatní hodnoty jsou kladné
  • Vymazání

    • Listwise: smaže celý řádek, kde chybí alespoň jedno pole
    • Pairwise: jako listwise, ale zaměřeno na důležité příznaky
    • Smazání příznaku: pokud chybí pro většinu datových bodů
  • Imputace

    • Doplnění hodnot pomocí:
      • Průměr či medián sloupce
      • Průměr k-NN (vhodné pouze pro nízkodimenzionální data)
      • Interpolace mezi existujícími hodnotami

k-NN (k-Nearest Neighbors)

Princip:

  • Pro záznam s chybějící hodnotou najde k nejbližších sousedů
  • Chybějící hodnotu nahradí na základě hodnot těchto sousedů

Algoritmus:

  1. Pro záznam s chybějící hodnotou:
    • Vypočítá vzdálenost ke všem ostatním záznamům (používá pouze existující hodnoty)
    • Vybere k nejbližších sousedů
    • Nahradí chybějící hodnotu:
      • Pro numerické hodnoty: průměrem nebo mediánem hodnot sousedů
      • Pro kategorické hodnoty: nejčastější hodnotou mezi sousedy

Detekce a ošetření odlehlých hodnot

Základní charakteristika

  • Odlehlé hodnoty (outliers): anomálie odchylující se od ostatních pozorování
  • Po identifikaci je nutná analýza původu odchylky:
    • Lidská chyba
    • Chyba měření
    • Experimentální chyba
    • Samplingová chyba

Detekce odlehlých hodnot

  1. Univarietní pohled:

    • Ručně stanoveni maximálních minimálních hranice
    • Zjišťovaní pomoci statistických metod: průměr median...
  2. Multivarietní pohled:

    • Shlukování založené na vzdálenosti
    • Density-based přístupy
    • Modelové přístupy

Algoritmy detekce

  • LOF (Local Outlier Factor)

    • Měří lokální odchylku bodu vzhledem k jeho sousedům
    • \text{LOF}(a) = \frac{\text{průměrná lokální hustota sousedů}}{\text{lokální hustota }a}
    • \text{LOF}(a) ≈ 1: bod a je podobný svým sousedům (podobná hustota)
    • \text{LOF}(a) > 1: bod a je v řidší oblasti než jeho sousedé - indikuje anomálii
  • K-means

    • Iterativní tvorba k center
    • Přiřazování prvků nejbližším centrům
    • Přepočet center jako průměrů
    • Outliers jsou body daleko od všech center
  • Density-based

    • Identifikace bodů v řídkých oblastech
    • Využití hustoty bodů v okolí
    • Například DBSCAN algoritmus

Ošetření odlehlých hodnot

  1. Odstranění

    • Kompletní odstranění záznamu
    • Vhodné při jasné chybě
  2. Nahrazení

    • Průměrem nebo mediánem
    • kNN imputace
    • Interpolace
  3. Transformace dat

    • Logaritmická transformace
    • Normalizace
    • Standardizace
  4. Vytvoření speciální kategorie

    • Označení jako "jiné"
    • Binning do kategorií

Vyvažování skupin dat

Undersampling

Tomkovy spoje

  • Pomáhá odstranit šum a hraniční prvky
  • Najdeme Tomkovy spoje, a odebereme všechny majoritní prvky, které jsou součástí Tomkových spojů
  • Pár instancí (E_i,E_j) tvoří Tomkův spoj, pokud:
    1. E_j je nejbližší soused E_i
    2. E_i je nejbližší soused E_j
    3. E_i a E_j patří do různých tříd
  • Metoda sama o sobě není moc účinná, ale v kombinaci s jinými se používá často

tomek-link.png

Extended Nearest Neighbor (ENN)

  • Agresivnější metoda odebírání než Tomek links
  • Odebere každý bod, jehož třída se liší od třídy aspoň dvou ze tří jeho nejbližších sousedů
  • Čistí data důkladněji, ale může odstranit i užitečné instance

Neighbourhood Cleaning Rule (NCL)

  • Zaměřuje se především na čištění dat než na redukci
  • Kombinuje ENN s dodatečnými pravidly pro majoritní třídu
  • Algoritmus:
    1. Odebere majoritní instance, pokud 3 nejbližší sousedé jsou minoritní
    2. Odebere 3 majoritní instance, pokud jsou nejbližšími sousedy minoritní instance

Oversampling

SMOTE (Synthetic Minority Oversampling Technique)

Princip: - Technika pro vyvažování nevyvážených datasetů - Vytváří nové syntetické vzorky pro minoritní třídu - Generuje data interpolací mezi existujícími vzorky minoritní třídy

Algoritmus: 1. Pro každý vzorek minoritní třídy: - Najde k nejbližších sousedů ze stejné třídy - Vybere náhodně jednoho z těchto k sousedů - Vytvoří nový syntetický vzorek: - Vypočítá rozdíl mezi vybraným vzorkem a jeho sousedem - Vynásobí tento rozdíl náhodným číslem mezi 0 a 1 - Přičte k původnímu vzorku

Vlastnosti: - Nevytváří pouhé kopie existujících vzorků - Generuje nové vzorky podél linie spojující sousední body - Typicky se používá k = 5 nejbližších sousedů - Vytváří obecnější vzorky než prostá replikace

Nevýhody: - Nebere v úvahu majoritní třídu při vytváření nových vzorků - Může způsobit problémy při silném překryvu tříd - Výpočetně náročné pro velké datasety

Kombinované přístupy

  • SMOTE může vytvořit umělou minoritu někde v majoritní části
  • Následné odebrání obou vzorků tvořících Tomkův spoj
  • Pomáhá vyčistit překrývající se oblasti

SMOTE + ENN

  • Podobný princip jako SMOTE + Tomek
  • Pročistí více instancí než Tomek links
  • Agresivnější čištění hraničních oblastí
  • Vhodné při velkém překryvu tříd