Читать книгу Praktische Statistik für Data Scientists - Peter Bruce - Страница 56

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 erstellen eine Kopie der Pivot-Tabelle und lassen die ermittelten Gesamtsummen der Spalten außen vor.

3 Wir teilen die Werte der einzelnen Zeilen durch die Gesamtsumme der jeweiligen Zeile.

4 Wir dividieren die Spalte 'All' durch die Gesamtsumme.

Praktische Statistik für Data Scientists

Подняться наверх