Moti­va­tion

Das heu­tige Zeit­al­ter ist gekenn­zeich­net von einer wah­ren Flut von Daten; nie war es ein­fa­cher, Daten in gro­ßem Maße und auto­ma­ti­siert zu erhe­ben und abzu­spei­chern. Gleich­zei­tig wird es immer schwie­ri­ger, Rele­vanz von Daten ein­zu­schät­zen, Zusam­men­hänge zwi­schen Daten­sät­zen zu erken­nen und diese geeig­net zu ana­ly­sie­ren. Ins­be­son­dere ist eine Vor­auswahl von Attri­bu­ten für die wei­tere Ana­lyse not­wen­dig, um viele Ver­fah­ren über­haupt sinn­voll anwen­den zu können.

Klas­si­scher­weise kom­men hier Ver­fah­ren wie Kor­re­la­ti­ons­ana­ly­sen, PCA/ICA oder auch neu­ro­nale Netze zum Zuge. Nach­teil der ers­ten bei­den genann­ten Ver­fah­ren ist, dass ihr Anwen­dungs­be­reich sich im Wesent­li­chen in linea­ren Zusam­men­hän­gen erschöpft. Wäh­rend neu­ro­nale Netze die­ser Beschrän­kung nicht unter­lie­gen, ist ihr Ein­satz auf­wän­dig und die benö­tig­ten Daten­men­gen enorm.
T‑SNE (t‑distributed sto­cha­stic neigh­bour embed­ding) stellt eine rela­tiv simple und auf schwä­che­ren Annah­men basie­rende Alter­na­tive zu oben genann­ten Ver­fah­ren dar und soll daher in die­sem Blog­ein­trag näher beleuch­tet wer­den – ins­be­son­dere soll eine mög­li­che Vor­ge­hens­weise bei einer sol­chen Ana­lyse vor­ge­stellt werden.

Ansatz

Bei einer Ana­lyse mit t‑SNE beginnt der Ana­lyst mit einem hoch­di­men­sio­na­len Daten­satz D; bei­spiels­weise kann es sich hier­bei um eine Tabelle mit zu klas­si­fi­zie­ren­den Kun­den han­deln. Die Anzahl der ver­füg­ba­ren Attri­bute ist – ins­be­son­dere bei­spiels­weise falls es sich um einen Ana­ly­ti­cal Base Table han­delt – sehr groß.

Zwi­schen jeweils zwei Daten­sät­zen wird vom Ana­lyst nun eine Ent­fer­nung defi­niert – dabei kann es sich um bekannte Maße wie im eukli­di­schen Raum han­deln, aber durch­aus auch um selbst­de­fi­nierte Maße. Für geeig­nete Ergeb­nisse emp­fiehlt es sich, die Attri­bute zu nor­ma­li­sie­ren und anschlie­ßend zu gewich­ten, sodass die Ent­fer­nung zweier Daten­sätze nicht von der Grö­ßen­ord­nung der nume­ri­schen Dif­fe­renz abhängt, son­dern von qua­li­ta­tiv begrün­de­ten Unter­schie­den. Kate­go­ri­sche Attri­bute müs­sen in die­sem Zuge in nume­ri­sche Attri­bute trans­for­miert werden.

Anschlie­ßend sucht t‑SNE per Gra­di­ent Des­cent eine Abbil­dung die­ser Objekte auf einen nied­rig­di­men­sio­na­len Raum (übli­cher­weise in den R2 oder R3), sodass die Abstände zwi­schen den Objek­ten best­mög­lich erhal­ten werden.

Defi­ni­tion

Nach der Über­füh­rung der Objekte in Vek­to­ren und anschlie­ßen­der Nor­ma­li­sie­rung erhal­ten wir also einen Daten­satz x1,…,xN ∈ Np  für gewisse n, p ∈ N. Die Ähn­lich­keit zweier Punkte xi, xj wird nun defi­niert als

Explorative Datenanalyse mit t-SNE Bild1

wobei

Explorative Datenanalyse mit t-SNE Bild2

Anschau­lich wird also die Ähn­lich­keit zweier Punkte xi,xj als die Wahr­schein­lich­keit defi­niert, mit der ein Punkt xj, aus­ge­hend von einem Punkt xi, gewich­tet mit­hilfe der Dichte einer Nor­mal­ver­tei­lung der Vari­anz σi zen­triert in xi, gezo­gen wird. Gesucht wer­den nun kor­re­spon­die­rende Punkte y1,…,yn ∈ R2, s.d.

Explorative Datenanalyse mit t-SNE Bild1

der ursprüng­li­chen Ver­tei­lung mög­lichst ähn­lich ist. Ähn­lich­keit der Ver­tei­lun­gen wird hier mit der sog. Kull­back-Leib­ler-Diver­gence (abge­kürzt KLD) quan­ti­fi­ziert, die gewis­ser­ma­ßen Ent­fer­nun­gen zwi­schen Ver­tei­lun­gen misst.

Die nied­rig­di­men­sio­na­len Daten erlau­ben dann eine direkte Dar­stel­lung in Form einer Gra­fik; häu­fig las­sen sich hier Struk­tu­ren durch visu­elle Inspek­tion erken­nen.
Ins­be­son­dere lie­fern reine Clus­te­ring-Ver­fah­ren zwar Clus­ter von Daten, es ist aber alles andere als tri­vial, die Bezie­hun­gen zwi­schen Clus­tern gra­fisch dar­zu­stel­len bzw. zu ana­ly­sie­ren. In die­sem Kon­text bie­tet sich t‑SNE eben­falls als nach­ge­ord­ne­ter Bear­bei­tungs­schritt an, um durch andere Algo­rith­men gefun­dene Clus­ter gra­fisch darzustellen.

Je nach Daten­satz fin­det t‑SNE häu­fig intui­tiv sinn­volle Struk­tu­ren und stellt diese gra­fisch dar. In der unten gezeig­ten Pro­jek­tion wer­den bei­spiels­weise die ver­schie­de­nen Buch­sta­ben in natür­li­cher Weise zu Clus­tern ver­bun­den – man beachte, wie t‑SNE ein­drucks­voll ”5”, ”6”, ”3” und ”8” intui­tiv sinn­vol­ler­weise neben­ein­an­der ange­ord­net hat.

Explorative Datenanalyse mit t-SNE Bild4
Abbil­dung 1 t‑SNE Dar­stel­lung vom MNIST Daten­satz (Quelle)

Pra­xis­bei­spiel

Exem­pla­risch soll hier der Daten­satz “Stat­log (Ger­man Cre­dit Data) Data Set” des UCI Machine Lear­ning Repo­si­to­ries mit­hilfe der t‑SNE Imple­men­tie­rung von sklearn ana­ly­siert wer­den. Nach einer ein­fa­chen Nor­ma­li­sie­rung der Daten ergibt t‑SNE das fol­gende Mapping:

Explorative Datenanalyse mit t-SNE Bild5
Abbil­dung 2 t‑SNE Daten­punkte in R^2; ‘1’ bedeu­tet, dass der Kunde als ”unzu­ver­läs­sig” klas­si­fi­ziert wird; 0 als zuverlässig.

Etwa mit­tig ist eine Ansamm­lung von zuver­läs­si­gen Kun­den zu erken­nen; im Fol­gen­den soll diese Intui­tion bestä­tigt wer­den und nach Beson­der­hei­ten die­ser Gruppe gesucht wer­den. Zu die­sem Zwe­cke wird die in fol­gen­der Gra­fik durch das Recht­eck ein­ge­grenzte Gruppe analysiert.

Explorative Datenanalyse mit t-SNE Bild6
Abbil­dung 3 Ein­ge­grenzte t‑SNE Daten­punkte in R^2

Bei der Aus­wahl der Attri­bute, in denen sich die aus­ge­wählte Gruppe von der Gesamt­heit signi­fi­kant unter­schei­det, stüt­zen wir uns wie­der auf die KLD wie unte­rer Gra­fik dar­ge­stellt. Die­ses Ver­fah­ren erlaubt uns, zeit­spa­rend inter­es­sante Attri­bute zu fin­den, ohne manu­ell Ver­glei­che anstel­len zu müs­sen. Auch diese Vor­ge­hens­weise hat All­ge­mein­gül­tig­keit, lässt sich also völ­lig unab­hän­gig von t‑SNE einsetzen.

Explorative Datenanalyse mit t-SNE Bild7
Abbil­dung 4 KLD zwi­schen den Ver­tei­lun­gen in den Attri­bu­ten zwi­schen aus­ge­wähl­ter Gruppe und ihrem Kom­ple­ment; die Attri­bute sind von 1–19 auf­stei­gend durch­num­me­riert, nicht alle Werte sind wohldefiniert.

Eine manu­elle Ana­lyse ergibt, dass die in unse­rer Gruppe erfas­sen Kun­den im Ver­gleich zur Gesamtheit

  • lange wohn­haft sind
  • seit lan­gem ihrer jet­zi­gen Beschäf­ti­gung nachgehen
  • Rück­la­gen haben
  • eine Tele­fon­num­mer ange­ge­ben haben

In die­sem spe­zi­el­len Fall soll­ten diese Eigen­schaf­ten nicht über­ra­schen; aller­dings rufen wir uns in Erin­ne­rung, dass t‑SNE keine a prior Infor­ma­tio­nen zur Abbil­dung der Kun­den ver­wen­det hat. Ins­be­son­dere stand t‑SNE die Klas­si­fi­zie­rung der Kun­den in (un)zuverlässige Kun­den nicht zur Ver­fü­gung. Nichts­des­to­trotz hat t‑SNE für uns inter­es­sante Kun­den – eben­falls ohne Kennt­nis der qua­li­ta­ti­ven Bedeu­tung der Attri­bute – nah bei­ein­an­der gruppiert.

Zu guter Letzt über­zeu­gen wir uns davon, dass die von uns ana­ly­sierte Gruppe von zuver­läs­si­gen Kun­den sich von all­ge­mein zuver­läs­si­gen Kun­den unter­schei­det. Das ist ins­be­son­dere dafür not­wen­dig, um uns davon zu über­zeu­gen, dass wir eine zusätz­li­che Struk­tur ent­deckt haben und die oben genann­ten Eigen­schaf­ten nicht ein­fach nur zuver­läs­sige Kun­den an sich charakterisieren.

Dazu lässt sich bei­spiels­weise die KLD unse­rer Gruppe zu zuver­läs­si­gen Kun­den im All­ge­mei­nen und zu allen Kun­den ver­glei­chen; befin­den sich beide Abstände zumin­dest in der glei­chen Grö­ßen­ord­nung, so ist dies ein Indi­ka­tor dafür, dass es sich in der Tat um eine Unter­gruppe der zuver­läs­si­gen Kun­den han­delt. Die KLD die­ses Ver­glei­ches sowie die Sam­pling-Ver­tei­lung (engl. sam­pling dis­tri­bu­tion) der maxi­ma­len KLD zwi­schen der einer zufäl­lig gezo­ge­nen Teil­gruppe aller guten Kun­den (der­sel­ben Größe wie die oben aus­ge­wählte Gruppe) und der Menge aller Kun­den fin­den sich in nach­ste­hen­den Grafiken:

Explorative Datenanalyse mit t-SNE Bild8
Abbil­dung 5 Im Ver­gleich zu ande­ren im Pro­jekt berech­ne­ten KLDs sind die Unter­schiede hier vernachlässigbar
Explorative Datenanalyse mit t-SNE Bild9
Abbil­dung 6 max. KLD zwi­schen allen Kun­den und einer Gruppe, gezo­gen von allen “guten” Kun­den; besagte Gruppe hat die­selbe Größe wie die Refe­renz­gruppe. Die rote Linie mar­kiert die tat­säch­lich beob­ach­tete KLD.

Im ursprüng­li­chen Scat­ter­plot ist in der rech­ten unte­ren Ecke deut­lich ein Clus­ter zu erken­nen. Eine ähn­lich gear­tete Ana­lyse ergibt, dass sich auch die­ser Clus­ter signi­fi­kant von dem Haupt­clus­ter unter­schei­det – aller­dings ist diese Erkennt­nis nicht für den hier vor­ge­stell­ten Use Case rele­vant. Es gilt also, die gefun­de­nen Struk­tu­ren auf Rele­vanz für den jewei­li­gen Use Case zu analysieren.

Zusam­men­fas­sung

t‑SNE erlaubt es häu­fig, sich einen Über­blick von Struk­tu­ren hoch­di­men­sio­na­ler Daten zu ver­schaf­fen. Dabei defi­niert t‑SNE im Ver­gleich zu alter­na­ti­ven Algo­rith­men keine expli­zite Abbil­dung, wodurch Nicht­li­nea­ri­tät und Genüg­sam­keit bzgl. der Daten­menge erreicht wird. Damit spannt t‑SNE einen Bogen zwi­schen klas­si­schen Algo­rith­men wie PCA/ICA und sehr daten­hung­ri­gen Alter­na­ti­ven wie neu­ro­na­len Netzen.

Die Rele­vanz von gefun­de­nen Struk­tu­ren hängt stark von der Defi­ni­tion der initia­len Ent­fer­nung ab; je mehr a priori Infor­ma­tion ein­geht, desto wahr­schein­li­cher sind die Struk­tu­ren rele­vant für den defi­nier­ten Use-Case.

t‑SNE ist ein sehr genüg­sa­mer und sim­plis­ti­scher Ansatz, der für schnel­les Pro­to­ty­p­ing und schnel­ler Ein­gren­zung von Attri­bu­ten inter­es­sant ist. Somit bie­tet es sich bei­spiels­weise als vor­ge­la­ger­ter Schritt zu einer sta­tis­ti­schen Ana­lyse oder zu einem anspruchs­vol­le­ren Algo­rith­mus an.