Data Sci­ence kann prak­tisch als der Pro­zess defi­niert wer­den, durch den wir Infor­ma­tio­nen aus Daten gewin­nen. Bei Data Sci­ence ver­su­chen wir eigent­lich zu erklä­ren, was die Daten in der rea­len Welt jen­seits der Zah­len bedeuten.

Um die in kom­ple­xen Daten­sät­zen ent­hal­te­nen Infor­ma­tio­nen zu extra­hie­ren, set­zen Data Sci­en­tists eine Reihe von Tools und Tech­ni­ken ein, dar­un­ter Daten­ex­plo­ra­tion, Visua­li­sie­rung und Model­lie­rung. Eine sehr wich­tige Klasse mathe­ma­ti­scher Tech­ni­ken, die häu­fig bei der Daten­ex­plo­ra­tion ein­ge­setzt wird, ist die Statistik.

In einem prak­ti­schen Sinne ermög­licht uns die Sta­tis­tik, kon­krete mathe­ma­ti­sche Zusam­men­fas­sun­gen unse­rer Daten zu defi­nie­ren. Anstatt zu ver­su­chen, jeden ein­zel­nen Daten­punkt zu beschrei­ben, kön­nen wir die Sta­tis­tik nut­zen, um einige ihrer Eigen­schaf­ten zu beschrei­ben. Und das reicht oft schon aus, um Infor­ma­tio­nen über die Struk­tur und den Auf­bau der Daten zu gewinnen.

Wenn man das Wort „Sta­tis­tik“ hört, denkt man manch­mal an etwas über­mä­ßig Kom­pli­zier­tes. Ja, es kann etwas abs­trakt wer­den, aber wir müs­sen nicht immer auf kom­plexe Theo­rien zurück­grei­fen, um einen gewis­sen Nut­zen aus sta­tis­ti­schen Ver­fah­ren zu ziehen.

Die grund­le­gends­ten Teile der Sta­tis­tik kön­nen in der Daten­wis­sen­schaft oft von größ­tem prak­ti­schen Nut­zen sein.

Heute wer­den wir uns 5 nütz­li­che Sta­tis­ti­ken für Data Sci­ence anse­hen. Dabei han­delt es sich nicht um ver­rückte abs­trakte Kon­zepte, son­dern um ein­fa­che, anwend­bare Tech­ni­ken, die einen lan­gen Weg zurücklegen.

Fan­gen wir an!

1 Zen­trale Tendenz

Die zen­trale Ten­denz eines Daten­sat­zes oder einer Merk­mals­va­ria­ble ist der mitt­lere oder typi­sche Wert des Sat­zes. Der Gedanke dahin­ter ist, dass es einen ein­zi­gen Wert geben kann, der unse­ren Daten­satz (bis zu einem gewis­sen Grad) am bes­ten beschrei­ben kann.

Stel­len Sie sich zum Bei­spiel vor, Sie hät­ten eine Nor­mal­ver­tei­lung mit dem Mit­tel­punkt an der x‑y-Posi­tion von (100, 100). Dann ist der Punkt (100, 100) die zen­trale Ten­denz, da er von allen Punk­ten, die zur Aus­wahl ste­hen, die beste Zusam­men­fas­sung der Daten liefert.

In der Daten­wis­sen­schaft kön­nen wir Maße für die zen­trale Ten­denz ver­wen­den, um eine schnelle und ein­fa­che Vor­stel­lung davon zu bekom­men, wie unser Daten­satz als Gan­zes aus­sieht. Die „Mitte“ unse­rer Daten kann eine sehr wert­volle Infor­ma­tion sein, die uns sagt, wie genau der Daten­satz ver­zerrt ist, da der Wert, um den die Daten krei­sen, im Wesent­li­chen eine Ver­zer­rung ist.

Es gibt 2 gän­gige Mög­lich­kei­ten, eine zen­trale Ten­denz mathe­ma­tisch zu bestimmen.

Mean

Der Mit­tel­wert eines Daten­sat­zes ist der Durch­schnitts­wert, d. h. eine Zahl, um die die gesam­ten Daten ver­teilt sind. Alle Werte, die für die Berech­nung des Durch­schnitts ver­wen­det wer­den, wer­den bei der Defi­ni­tion des Mit­tel­werts gleich gewichtet.

Berech­nen wir zum Bei­spiel den Mit­tel­wert der fol­gen­den 5 Zahlen:

(3 + 64 + 187 + 12 + 52) / 5 = 63.6

Der Mit­tel­wert eig­net sich her­vor­ra­gend für die Berech­nung des tat­säch­li­chen mathe­ma­ti­schen Durch­schnitts. Außer­dem ist er mit Python-Biblio­the­ken wie Numpy sehr schnell zu berechnen

Median

Der Median ist der mitt­lere Wert des Daten­sat­zes, d. h., wenn wir die Daten vom kleins­ten zum größ­ten (oder vom größ­ten zum kleins­ten) Wert sor­tie­ren und dann den Wert in der Mitte des Sat­zes neh­men: das ist der Median.

Berech­nen wir erneut den Median für die­selbe Menge von 5 Zahlen:

[3, 12, 52, 64, 187] → 52

Der Medi­an­wert unter­schei­det sich deut­lich vom Mit­tel­wert von 63,6. Kei­ner der bei­den Werte ist rich­tig oder falsch, aber wir kön­nen je nach Situa­tion und Ziel­set­zung einen davon auswählen.

Die Berech­nung des Medi­ans erfor­dert eine Sor­tie­rung der Daten, was bei gro­ßen Daten­sät­zen nicht prak­ti­ka­bel ist.

Ande­rer­seits ist der Median robus­ter gegen­über Aus­rei­ßern als der Mit­tel­wert, da der Mit­tel­wert in die eine oder andere Rich­tung gezo­gen wird, wenn es einige sehr große Aus­rei­ßer­werte gibt.

Der Mit­tel­wert und der Median kön­nen mit ein­fa­chen Numpy-Ein­zei­lern berech­net werden:

numpy.mean(array)
numpy.median(array)

2 Aus­brei­tung

Im Rah­men der Sta­tis­tik ist die Streu­ung der Daten das Aus­maß, in dem sie auf einen ein­zi­gen Wert zusam­men­ge­drückt wer­den oder sich über einen grö­ße­ren Bereich erstrecken.

Stel­len Sie sich vor, es han­dele sich um Wahr­schein­lich­keits­ver­tei­lun­gen, die einen rea­len Daten­satz beschrei­ben, und wer­fen Sie einen Blick auf die fol­gen­den Dar­stel­lun­gen der Gauß­schen Wahrscheinlichkeitsverteilungen

Die blaue Kurve hat den kleins­ten Streu­ungs­wert, da die meis­ten Daten­punkte alle in einen rela­tiv engen Bereich fal­len. Die rote Kurve hat den größ­ten Streu­ungs­wert, da die meis­ten Daten­punkte einen viel grö­ße­ren Bereich einnehmen.

Die Legende zeigt die Stan­dard­ab­wei­chungs­werte die­ser Kur­ven, die im nächs­ten Abschnitt erläu­tert werden.

Stan­dard­ab­wei­chung

Die Stan­dard­ab­wei­chung ist die gebräuch­lichste Methode zur Quan­ti­fi­zie­rung der Streu­ung von Daten. Ihre Berech­nung umfasst 5 Schritte:

  1. Ermit­teln Sie den Mittelwert.
  2. Bestim­men Sie für jeden Daten­punkt das Qua­drat sei­nes Abstands zum Mittelwert.
  3. Addiere die Werte aus Schritt 2.
  4. Tei­len Sie durch die Anzahl der Datenpunkte.
  5. Zie­hen Sie die Quadratwurzel.

Ein grö­ße­rer Wert bedeu­tet, dass unsere Daten wei­ter vom Mit­tel­wert ent­fernt sind. Ein klei­ne­rer Wert bedeu­tet, dass unsere Daten mehr um den Mit­tel­wert herum kon­zen­triert sind.

Berech­nen Sie die Stan­dard­ab­wei­chung in Numpy ganz ein­fach wie folgt:

numpy.std(array)

3 Per­zen­tile

Wir kön­nen die Posi­tion jedes Daten­punkts inner­halb des Bereichs mit Hilfe von Per­zen­ti­len wei­ter beschreiben.

Das Per­zen­til beschreibt die genaue Posi­tion des Daten­punk­tes, d. h. wie hoch oder nied­rig er im Wer­te­be­reich posi­tio­niert ist.

For­mal gese­hen ist das p‑te Per­zen­til der Wert im Daten­satz, bei dem die­ser in zwei Teile geteilt wer­den kann. Der untere Teil ent­hält p Pro­zent der Daten, d. h. das p‑te Perzentil.

Betrach­ten wir zum Bei­spiel die fol­gende Menge von 11 Zahlen:

1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21

Die Zahl 15 ist das 70. Per­zen­til, denn wenn wir den Daten­satz bei der Zahl 15 in zwei Teile tei­len, lie­gen 70 % der ver­blei­ben­den Daten unter 15.

Per­zen­tile in Kom­bi­na­tion mit dem Mit­tel­wert und der Stan­dard­ab­wei­chung kön­nen uns eine gute Vor­stel­lung davon ver­mit­teln, wo ein bestimm­ter Punkt inner­halb der Streuung/Spanne unse­rer Daten liegt. Wenn es sich um einen Aus­rei­ßer han­delt, dann liegt das Per­zen­til nahe an den Enden – weni­ger als 5 % oder mehr als 95 %. Liegt das Per­zen­til dage­gen nahe bei 50, dann wis­sen wir, dass es nahe an unse­rer zen­tra­len Ten­denz liegt.

Das 50. Per­zen­til für ein Array kann in Numpy wie folgt berech­net werden:

numpy.percentile(array, 50)

4 Schräg­lage

Die Schiefe der Daten misst ihre Asymmetrie.

Ein posi­ti­ver Wert für die Schiefe bedeu­tet, dass die Werte links von der Mitte der Daten­punkte kon­zen­triert sind; eine nega­tive Schiefe bedeu­tet, dass die Werte rechts von der Mitte der Daten­punkte kon­zen­triert sind.

Das nach­ste­hende Dia­gramm bie­tet eine gute Veranschaulichung.

Wir kön­nen die Schiefe mit der fol­gen­den Glei­chung berechnen:

Die Schiefe gibt uns eine Vor­stel­lung davon, wie nahe die Ver­tei­lung unse­rer Daten an der Gauß­schen Ver­tei­lung liegt. Je grö­ßer die Schiefe ist, desto wei­ter ist unser Daten­satz von einer Gauß-Ver­tei­lung entfernt.

Dies ist wich­tig, denn wenn wir eine unge­fähre Vor­stel­lung von der Ver­tei­lung unse­rer Daten haben, kön­nen wir das ML-Modell, das wir trai­nie­ren wol­len, auf diese spe­zi­elle Ver­tei­lung abstim­men. Außer­dem sind nicht alle ML-Model­lie­rungs­tech­ni­ken bei Daten, die nicht gauß­för­mig sind, wirksam.

Auch hier gibt uns die Sta­tis­tik auf­schluss­rei­che Infor­ma­tio­nen, bevor wir mit der Model­lie­rung beginnen!

Hier ist, wie wir die Schiefe in Scipy-Code berech­nen können:

scipy.stats.skew(array)

5 Kova­ri­anz und Korrelation

Kova­ri­anz
Die Kova­ri­anz von zwei Merk­mals­va­ria­blen misst, wie „ver­wandt“ sie sind. Wenn die bei­den Varia­blen eine posi­tive Kova­ri­anz haben, steigt bei einer Varia­blen auch die andere; bei einer nega­ti­ven Kova­ri­anz ändern sich die Werte der Merk­mals­va­ria­blen in ent­ge­gen­ge­setz­ter Richtung.

Kor­re­la­tion
Die Kor­re­la­tion ist ein­fach die nor­ma­li­sierte (ska­lierte) Kova­ri­anz, die durch das Pro­dukt der Stan­dard­ab­wei­chung der bei­den zu ana­ly­sie­ren­den Varia­blen geteilt wird. Dadurch liegt der Kor­re­la­ti­ons­be­reich immer zwi­schen ‑1,0 und 1,0.

Wenn die Kor­re­la­tion zweier Merk­mals­va­ria­blen 1,0 beträgt, dann haben die Varia­blen eine per­fekte posi­tive Kor­re­la­tion. Das heißt, wenn sich eine Varia­ble um einen bestimm­ten Betrag ändert, bewegt sich die zweite pro­por­tio­nal in die­selbe Richtung.

Ein posi­ti­ver Kor­re­la­ti­ons­ko­ef­fi­zi­ent, der klei­ner als eins ist, weist auf eine weni­ger als per­fekte posi­tive Kor­re­la­tion hin, wobei die Stärke der Kor­re­la­tion zunimmt, je näher die Zahl an eins her­an­rückt. Das­selbe gilt für nega­tive Kor­re­la­ti­ons­werte, nur dass sich die Werte der Merk­mals­va­ria­blen in ent­ge­gen­ge­setzte Rich­tun­gen und nicht in die­selbe Rich­tung ändern.

Die Kennt­nis der Kor­re­la­tion ist für Tech­ni­ken wie die Haupt­kom­po­nen­ten­ana­lyse (PCA), die zur Dimen­sio­na­li­täts­re­du­zie­rung ver­wen­det wird, von gro­ßem Nut­zen. Wir begin­nen mit der Berech­nung einer Kor­re­la­ti­ons­ma­trix – wenn es 2 oder mehr Varia­blen gibt, die stark kor­re­liert sind, dann sind sie bei der Erklä­rung unse­rer Daten effek­tiv red­un­dant und einige von ihnen kön­nen weg­ge­las­sen wer­den, um die Kom­ple­xi­tät zu reduzieren.

Quelle: medium.com