In der Datenwissenschaft ist es entscheidend, herauszufinden und zu quantifizieren, wie stark zwei Variablen zusammenhängen. Diese Beziehungen können komplex sein und sind nicht unbedingt sichtbar. Einige Zusammenhänge schwächen die Leistung von Machine-Learning-Algorithmen wie linearen Regressionen. Daher solltest Du Deine Daten gut vorbereiten.
Hier werden wir sehen, wie man den Zusammenhang zwischen zwei kategorialen Variablen sowie zwischen kategorialen und kontinuierlichen Variablen erhält.
Zunächst müssen wir uns daran erinnern, dass eine kategoriale Variable eine Variable ist, die eine endliche Anzahl von unterschiedlichen Kategorien oder Gruppen besitzt. Zum Beispiel das Geschlecht von Personen, die Art des Materials oder die Zahlungsweise. Im Gegensatz dazu können kontinuierliche Variablen theoretisch eine unendliche Anzahl von Werten annehmen.
Zusammenhang zwischen zwei kategorialen Variablen:
Um festzustellen, ob zwei kategoriale Variablen zusammenhängen, wird der berühmte Chi-Quadrat-Test verwendet. Für diejenigen, die mit statistischen Tests nicht vertraut sind, keine Panik!
Ein statistischer Test ist ein Verfahren zur Entscheidung zwischen zwei Hypothesen.
Es handelt sich um ein Verfahren, das darin besteht, eine statistische Hypothese, die sogenannte Nullhypothese H0, auf der Grundlage eines Satzes von Datenmengen abzulehnen oder nicht.
In dem hier behandelten Test lautet die Nullhypothese einfach „die beiden getesteten Variablen sind unabhängig“. Schließlich wird der Test von einer Teststatistik begleitet, die an der Entscheidung beteiligt ist, ob die Nullhypothese abgelehnt wird oder nicht. Diese Statistik folgt – aufgrund der Art und Weise, wie der Test aufgebaut ist – einer Chi-Quadrat-Verteilung mit einem gewissen Freiheitsgrad.
Aber wie entscheidet man, ob man die Nullhypothese ablehnt oder nicht?
Kurz gesagt hat jeder statistische Test einen sogenannten p-Wert. Man kann ihn sich als Referenzwert vorstellen, um zu entscheiden, ob die Nullhypothese abgelehnt werden soll oder nicht. Wenn der p-Wert unter 5% liegt, wird die Nullhypothese abgelehnt. Der Schwellenwert von 5% ist in der Praxis üblich und kann je nach Branche variieren.
In Python lässt sich der Test mithilfe der Bibliothek scipy und ihrer Funktion chi2_contingency leicht implementieren. Somit erhält man schnell den p-Wert des Tests sowie die Statistik und den zugehörigen Freiheitsgrad. In der Praxis erfordert der Chi-Quadrat-Test im Vorfeld ein wenig Arbeit mit den Daten. Um den Test durchzuführen, muss zunächst die Kontingenztafel bestimmt werden, das heißt eine Kreuztabelle zwischen den Modalitäten der beiden Variablen. Sie lässt sich leicht mit der Funktion crosstab von Pandas erstellen. Dann führt man den Test mithilfe der Kontingenztafel durch:
Kurz gesagt hat jeder statistische Test einen sogenannten p-Wert. Man kann ihn sich als Referenzwert vorstellen, um zu entscheiden, ob die Nullhypothese abgelehnt werden soll oder nicht. Wenn der p-Wert unter 5% liegt, wird die Nullhypothese abgelehnt. Der Schwellenwert von 5% ist in der Praxis üblich und kann je nach Branche variieren.
In Python lässt sich der Test mithilfe der Bibliothek scipy und ihrer Funktion chi2_contingency leicht implementieren. Somit erhält man schnell den p-Wert des Tests sowie die Statistik und den zugehörigen Freiheitsgrad. In der Praxis erfordert der Chi-Quadrat-Test im Vorfeld ein wenig Arbeit mit den Daten. Um den Test durchzuführen, muss zunächst die Kontingenztafel bestimmt werden, das heißt eine Kreuztabelle zwischen den Modalitäten der beiden Variablen. Sie lässt sich leicht mit der Funktion crosstab von Pandas erstellen. Dann führt man den Test mithilfe der Kontingenztafel durch:
Im obigen Beispiel liegt der p-Wert deutlich unter 5 %, sodass wir die Hypothese ablehnen können, nach der die beiden getesteten Variablen unabhängig sind.
Schließlich können wir auch den Korrelationsgrad zwischen den beiden Variablen mit Cramers V messen. Für die Berechnung von Cramers V werden die Teststatistik, den Freiheitsgrad und die Dimensionen der Kontingenztafel benötigt. Cramers V liegt zwischen 0 und 1. Ist der Wert größer als 0,9, kann der Zusammenhang als sehr stark bezeichnet werden. Wenn der Wert kleiner als 0,10 ist, kann der Zusammenhang als schwach bezeichnet werden.
Zusammenhang zwischen zwei kontinuierlichen Variablen:
Um festzustellen, ob zwei kontinuierliche Variablen unabhängig sind, gibt es auch einen Test, nämlich den Test des Korrelationskoeffizienten. Die zu testende Nullhypothese ist identisch: „Die beiden getesteten Variablen sind unabhängig“. Wie beim Chi-Quadrat-Test wird dieser von einer Teststatistik und einem p-Wert begleitet, der bestimmt, ob die Nullhypothese abgelehnt wird oder nicht.
Dieser Test kann sehr einfach mit der scipy-Bibliothek und ihrer pearsonr-Funktion implementiert werden. Die Daten müssen nicht vorbereitet werden, solange sie keine fehlenden Werte enthalten. Hier ist eine Beispielimplementierung mit Python:
In unserem Beispiel beträgt der p-Wert weniger als 5 %. Wir schließen daraus, dass die Variablen nicht unabhängig sind. Der Korrelationskoeffizient misst den Zusammenhangsgrad zwischen den beiden Variablen. Er kann Werte zwischen -1 und 1 annehmen. Wenn er nahe bei 1 liegt, bedeutet dies, dass die Variablen zusammenhängen. Wenn er nahe bei 0 liegt, hängen die Variablen nicht zusammen. Wenn er nahe bei -1 liegt, ist der Zusammenhang negativ. In unserem Beispiel hat der Koeffizient einen Wert von 0,80319: Die Variablen haben einen starken Zusammenhang.
Korrelation zwischen einer kontinuierlichen Variable und einer kategorialen Variable:
Um diese Art von Korrelation zu untersuchen, wird eine Einweg-Varianzanalyse (engl. one-way variance of analysis, kurz: one-way ANOVA) verwendet, um Gruppenmittelwerte zu vergleichen. Somit wird der Einfluss einer kategorialen Variable auf eine zu erklärende kontinuierliche Variable bestimmt.
Stell Dir vor, Du hast 3 Variablen. Die erste liefert eine Kundennummer, die zweite eine Kategorie (1, 2 oder 3) und die letzte die ausgegebenen Beträge. Hier eine Frage, die wir uns stellen können: Hat die kategoriale Variable einen Einfluss auf die ausgegebenen Beträge? Seien µ1, µ2 und µ3 die durchschnittlich ausgegebenen Beträge für jede der 3 Kategorien. Wenn die kategoriale Variable keinen Einfluss auf die ausgegebenen Beträge hat, sollten die Durchschnittswerte identisch sein. Mit anderen Worten: µ1 = µ2 = µ3. Genau diese Hypothese testen wir, wenn wir die Varianzanalyse verwenden. Wie beim Chi-Quadrat- und beim Test des Korrelationskoeffizienten wird dieser Test von einer Teststatistik und einem p-Wert begleitet, der bestimmt, ob die Nullhypothese abgelehnt wird oder nicht.
Dieser Test lässt sich mithilfe der statsmodels-Bibliothek einfach in Python implementieren. Hier ist eine Beispielimplementierung:
In unserem Beispiel informiert df über den Freiheitsgrad der F-Teststatistik, die einer Fisher-Verteilung folgt. PR(>F) gibt den Wert des p-Werts des Tests an. Hier beträgt der Wert weniger als 5 %, sodass wir daraus schließen, dass die zugesagte Variable einen Einfluss auf main_category hat.
Jetzt hast Du alle Informationen, um die Zusammenhänge innerhalb eines Datensatzes zu untersuchen. Datascientest bietet Dir die Möglichkeit, Dich weiterzubilden, indem Du lernst, das Management eines Datenprojekts von A bis Z zu beherrschen. Entdecke schnell unsere Weiterbildungen!