Praktische Statistik für Data Scientists. Peter Bruce
Чтение книги онлайн.

Читать онлайн книгу Praktische Statistik für Data Scientists - Peter Bruce страница 19

Название: Praktische Statistik für Data Scientists

Автор: Peter Bruce

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9783960104681

isbn:

СКАЧАТЬ auf Seite 101). Die mit diesem Maß erzeugten Werte sind jedoch nicht so aussagekräftig, außer in Bezug auf die Resampling-Verteilung (d.h., aus den gegebenen Daten werden wiederholt Stichproben gezogen).

      Von größerem Nutzen ist die standardisierte Variante: der Korrelationskoeffizient, der einen Schätzer der Korrelation zwischen zwei Variablen darstellt, der immer auf derselben Skala liegt. Um den pearsonschen Korrelationskoeffizienten zu berechnen, multiplizieren wir jeweils die Abweichungen vom Mittelwert der Elemente von Variable 1 mit denen von Variable 2, bilden die Summe dieser Produkte und dividieren das Ergebnis durch das Produkt der Standardabweichungen:

image

      Beachten Sie, dass wir durch n – 1 statt n dividieren (siehe »Die Anzahl der Freiheitsgrade und die Frage, ob n oder n – 1?« auf Seite 16 für weitere Erläuterungen). Der Korrelationskoeffizient liegt immer zwischen +1 (perfekte positive Korrelation) und –1 (perfekte negative Korrelation); 0 bedeutet, dass die Variablen unkorreliert sind.

      Variablen können in einem nicht linearen Zusammenhang zueinander stehen. In diesem Fall ist der Korrelationskoeffizient möglicherweise keine brauchbare Metrik. Ein Beispiel hierfür ist der Zusammenhang zwischen den Steuersätzen und den erhobenen Steuereinnahmen: Wenn die Steuersätze – ausgehend von null – steigen, steigen auch die erhobenen Einnahmen. Sobald die Steuersätze jedoch ein gewisses hohes Niveau erreichen und sich einem Satz von 100% nähern, nimmt die Steuerumgehung zu, und die Steuereinnahmen sinken sogar.

      Tabelle 1-7, die als Korrelationsmatrix bezeichnet wird, zeigt die Korrelation zwischen den Tagesrenditen von Aktien der Telekommunikationsbranche von Juli 2012 bis Juni 2015. Aus der Tabelle können Sie ersehen, dass Verizon (VZ) und ATT (T) am stärksten korreliert sind. Level 3 (LVLT), bei dem es sich um ein Infrastrukturunternehmen handelt, weist die geringste Korrelation zu den anderen auf. Beachten Sie, dass sich auf der Diagonalen nur Einsen befinden (die Korrelation einer Aktie mit sich selbst ist 1) und dass die Informationen oberhalb und unterhalb der Diagonalen redundant sind.

image

      Korrelationstabellen wie Tabelle 1-7 werden üblicherweise visualisiert, um die Beziehung zwischen mehreren Variablen anschaulicher darzustellen. Abbildung 1-6 zeigt die Korrelation der Tagesrenditen der wichtigsten börsengehandelten Indexfonds (ETFs). In R können wir dies leicht mit dem Paket corrplot umsetzen:

      etfs <- sp500_px[row.names(sp500_px) > '2012-07-01',

      sp500_sym[sp500_sym$sector == 'etf', 'symbol']]

      library(corrplot)

      corrplot(cor(etfs), method='ellipse')

      Es ist möglich, das gleiche Diagramm in Python zu erstellen. Es gibt jedoch leider keine Implementierung in einem der gängigen Pakete. Die meisten unterstützen allerdings die Visualisierung von Korrelationsmatrizen mithilfe von Heatmaps. Der folgende Code zeigt Ihnen die Umsetzung mithilfe des Moduls seaborn.heatmap. Im GitHub-Repository des Buchs stellen wir Ihnen zusätzlich eine Python-Implementierung der umfassenderen Visualisierung zur Verfügung:

      etfs = sp500_px.loc[sp500_px.index > '2012-07-01',

      sp500_sym[sp500_sym['sector'] == 'etf']['symbol']]

      sns.heatmap(etfs.corr(), vmin=-1, vmax=1,

      cmap=sns.diverging_palette(20, 220, as_cmap=True))

      Die ETFs für den S&P 500 (SPY) und den Dow-Jones-Index (DIA) weisen eine hohe Korrelation auf. In ähnlichem Maße sind der QQQ und der XLK, die hauptsächlich aus Technologieunternehmen bestehen, positiv korreliert. Defensive ETFs, wie z.B. diejenigen, die den Goldpreis (GLD), den Ölpreis (USO) oder die Marktvolatilität (VXX) abbilden, neigen dazu, nur schwach oder negativ mit den anderen ETFs korreliert zu sein. Die Ausrichtung der Ellipsen zeigt an, ob zwei Variablen positiv (Ellipse zeigt nach rechts oben) oder negativ korreliert sind (Ellipse zeigt nach links oben). Die Schattierung und die Breite der Ellipsen zeigen die Stärke der Korrelation an: Dünnere und dunklere Ellipsen bilden einen stärkeren Zusammenhang ab.

       Abbildung 1-6: Die Korrelation zwischen ETF-Renditen

      Wie der Mittelwert und die Standardabweichung ist auch der Korrelationskoeffizient empfindlich gegenüber Ausreißern in den Daten. Die Softwarepakete bieten robuste Alternativen zum herkömmlichen Korrelationskoeffizienten. Beispielsweise verwendet das R-Paket robust (https://oreil.ly/isORz) die Funktion covRob zur Berechnung eines robusten Korrelationsmaßes. Die Methoden im scikit-learn-Modul sklearn.covariance (https://oreil.ly/su7wi) implementieren eine Vielzahl von Ansätzen.

image Weitere Korrelationsmaße Bereits vor langer Zeit schlugen Statistiker andere Korrelationskoeffizienten vor, wie z.B. das Spearman’sche Rho oder das Kendall’sche Tau. Diese Korrelationskoeffizienten basieren auf dem Rang der Daten. Da sie mit Rängen und nicht mit den Werten arbeiten, sind diese Maße robust gegenüber Ausreißern und können mit bestimmten Arten von Nichtlinearitäten umgehen. Data Scientists können sich bei explorativen Analysen jedoch im Allgemeinen an dem Korrelationskoeffizienten nach Pearson und seinen robusten Alternativen orientieren. Rangbasierte Maße eignen sich vor allem bei kleineren Datensätzen und bestimmten Hypothesentests.

       Streudiagramme

      Die standardmäßige Vorgehensweise bei der Visualisierung des Zusammenhangs von zwei beobachteten Variablen ist die Verwendung eines Streudiagramms. Die x-Achse stellt eine Variable und die y-Achse eine andere dar, und jeder Punkt auf dem Diagramm entspricht einer Beobachtung. In Abbildung 1-7 sehen Sie ein Diagramm, das die Korrelation der Tagesrenditen der Unternehmen ATT und Verizon abbildet. In R können Sie das Diagramm mit dem folgenden Befehl erstellen:

      plot(telecom$T, telecom$VZ, xlab='ATT (T)', ylab='Verizon (VZ)')

      Das gleiche Diagramm kann in Python mit der pandas-Methode scatter erzeugt werden:

      ax = telecom.plot.scatter(x='T', y='VZ', figsize=(4, 4), marker='$\u25EF$')

      ax.set_xlabel('ATT (T)')

      ax.set_ylabel('Verizon (VZ)')

      ax.axhline(0, color='grey', СКАЧАТЬ