Название: Praktische Statistik für Data Scientists
Автор: Peter Bruce
Издательство: Bookwire
Жанр: Математика
isbn: 9783960104681
isbn:
ggplot(kc_tax0, (aes(x=SqFtTotLiving, y=TaxAssessedValue))) +
stat_binhex(color='white') +
theme_bw() +
scale_fill_gradient(low='white', high='black') +
labs(x='Fertiggestellte Wohnfläche (in Quadratfuß)',
y='Steuerlich geschätzter Wert')
In Python können Hexagonal-Binning-Diagramme mit der pandas-Data-Frame-Methode hexbin leicht erstellt werden:
ax = kc_tax0.plot.hexbin(x='SqFtTotLiving', y='TaxAssessedValue',
gridsize=30, sharex=False, figsize=(5, 4))
ax.set_xlabel('Fertiggestellte Wohnfläche (in Quadratfuß)')
ax.set_ylabel('Steuerlich geschätzter Wert')
Abbildung 1-8: Hexagonal-Binning-Diagramm zur Darstellung des Zusammenhangs zwischen dem steuerlich geschätzten Wert und der fertiggestellten Wohnfläche von Immobilien
In Abbildung 1-9 werden Konturen (Niveau- bzw. Höhenlinien) verwendet, die einem Streudiagramm überlagert sind, um die Beziehung zwischen zwei numerischen Variablen zu visualisieren. Die Höhenlinien bilden im Wesentlichen eine topografische Karte für zwei Variablen ab; jedes Höhenlinienband stellt eine bestimmte Dichte von Punkten dar, die zunimmt, wenn man sich dem »Peak« nähert. Dieses Diagramm offenbart einen ähnlichen Zusammenhang wie das in Abbildung 1-8: Es gibt einen zweiten Peak »nördlich« des Hauptpeaks. Dieses Diagramm wurde ebenfalls mit dem ggplot2-Paket mit der integrierten Funktion geom_density2d erstellt:
ggplot(kc_tax0, aes(SqFtTotLiving, TaxAssessedValue)) +
theme_bw() +
geom_point(alpha=0.1) +
geom_density2d(color='white') +
labs(x='Fertiggestellte Wohnfläche (in Quadratfuß)',
y='Steuerlich geschätzter Wert')
In Python können Sie ein Konturdiagramm mit der seaborn-Funktion kdeplot erzeugen:
ax = sns.kdeplot(kc_tax0.SqFtTotLiving, kc_tax0.TaxAssessedValue, ax=ax)
ax.set_xlabel('Fertiggestellte Wohnfläche (in Quadratfuß)')
ax.set_ylabel('Steuerlich geschätzter Wert')
Abbildung 1-9: Konturdiagramm zur Darstellung des Zusammenhangs zwischen dem steuerlich geschätzten Wert und der fertiggestellten Wohnfläche von Immobilien
Es gibt noch weitere Diagrammtypen, die die Beziehung zwischen zwei numerischen Variablen aufzeigen können, unter anderem Heatmaps. Heatmaps, Hexagonal-Binning- und Konturdiagramme bilden alle eine zweidimensionale Dichtefunktion ab. Daher sind sie die natürlichen Analoga zu Histogrammen und Dichtediagrammen.
Zwei kategoriale Variablen
Einen gebräuchlichen Ansatz, den Zusammenhang zweier kategorialer Variablen zusammenzufassen, bietet die Kontingenztafel – eine Tabelle, die die absoluten Häufigkeiten der verschiedenen Kombinationen der Kategorien (bzw. der Ausprägungen der beiden kategorialen Variablen) angibt. Die Kontingenztabelle in Tabelle 1-8 zeigt den Zusammenhang von zwei kategorialen Daten, zum einen solche, die das Rating eines Privatkredits angeben, und zum anderen solche, die das Ergebnis bzw. den Erfolg hinsichtlich der Rückzahlung dieses Kredits wiedergeben. Sie basiert auf Daten, die vom Lending Club, einem führenden Unternehmen im Peer-to-Peer-Kreditgeschäft, zur Verfügung gestellt wurden. Das Rating bzw. die Einstufung hat die Ausprägungen A (hoch) bis G (niedrig). Die Ausprägung des Ergebnisses der Kreditrückzahlung ist entweder »vollständig bezahlt«, »zurzeit in Rückzahlung«, »verspätet zurückgezahlt« oder »abgeschrieben« (also ein Kreditausfall – der Restbetrag des Darlehens wird voraussichtlich nicht eingetrieben). Die Tabelle zeigt sowohl die absolute als auch – in Bezug auf die jeweiligen Zeilen – die relative Häufigkeit. Besser eingestufte Kredite weisen im Vergleich zu schlechter eingestuften Krediten einen sehr niedrigen Prozentsatz an verspäteten bzw. abgeschriebenen Rückzahlungen auf.
Tabelle 1-8: Kontingenztabelle der Krediteinstufung in Bezug auf den tatsächlichen Status
Zusätzlich zu den absoluten Häufigkeiten können bei Kontingenztafeln auch relative Häufigkeiten für die Spalten- und Gesamtwerte dargestellt werden. Die wahrscheinlich gebräuchlichste Nutzung von Kontingenztafeln sind Pivot-Tabellen in Excel. In R können Kontingenztafeln mithilfe der Funktion CrossTable des Pakets descr erzeugt werden; der folgende Code wurde zur Erstellung von Tabelle 1-8 verwendet:
library(descr)
x_tab <- CrossTable(lc_loans$grade, lc_loans$status,
prop.c=FALSE, prop.chisq=FALSE, prop.t=FALSE)
In Python können wir die Pivot-Tabelle mit der Methode pivot_table erzeugen. Das Argument aggfunc erlaubt uns, die absoluten Häufigkeiten zu ermitteln. Die Berechnung der relativen Häufigkeiten gestaltet sich etwas aufwendiger:
crosstab = lc_loans.pivot_table(index='grade', columns='status',
aggfunc=lambda x: len(x), margins=True)
df = crosstab.loc['A':'G',:].copy()
df.loc[:,'Charged Off':'Late'] = df.loc[:,'Charged Off':'Late'].div(df['All'],
axis=0)
df['All'] = df['All'] / sum(df['All'])
perc_crosstab = df
1 Mit dem Schlüsselwortargument margins werden die Werte spalten- und zeilenweise summiert.
2 Wir СКАЧАТЬ