Data Science Projekt – Auswertung der Vertiefungen meines Studiengangs

Motivation

Ich interessiere mich schon seit einer Weile für Data Science sowie Machine Learning. In diesem Zuge habe ich über eine MIT OpenCourseWare Vorlesung1 und zwei MATLAB Kursen2 ein wenig Grundwissen aufgebaut und wollte mich nun an einem kleinen Projekt ein wenig ausprobieren.

Da ich zu dem Zeitpunkt gerade vor meiner Vertiefungswahl in meinem Studium stand, fand ich es eine interessante Idee dort anzusetzen.
Ich selbst wollte die Entscheidung über meine Vertiefung und somit meinem zukünftigen Studienverlauf nicht dem Zufall überlassen und hatte daher zuvor unglaublich viel Zeit darin investiert etliche Studienpläne haargenau zu studieren und sie miteinander zu vergleichen, um für mich die bestmögliche Wahl zu treffen.

Ziel:
Mein Ziel mit diesem Projekt war es also mich auf die Studienpläne meines Studiengangs zu stürzen und zu schauen, ob ich aus Data Science Perspektive irgendwelche interessanten Informationen extrahieren könnte.

Genutzt habe ich hierfür Python und überwiegend die libraries Pandas sowie scikit-learn.

1. Fachgebiete und Vertiefungen

Nachdem ich die Informationen aus den einzelnen Studienplänen extrahiert und bereinigt hatte, wollte ich nun einen Zusammenhang zwischen den Vertiefungen, Modulen und Fachgebieten finden.
Dazu habe ich aus TUCaN (TU Campus-Management-System) das Modulangebot der einzelnen Fachgebiete gescraped, welches dort im Vorlesungsverzeichnis schön aufgeschlüsselt war.

Nachdem die Daten bereinigt und gemerged waren, ging es nun darum die Fachgebiete anhand der Modulzugehörigkeit in den verschiedenen Vertiefungsrichtungen zu gruppieren.
Anfangs hatte ich bloß die schlichte Häufigkeit von Modulen (dabei besitzt jedes Modul ein eindeutiges Fachgebiet, von welchem es angeboten wird) in den Studienplänen der Vertiefungen als Vergleichskriterium genommen.

Da jedoch die Modulauswahl innerhalb der Wahlbereiche größer als die maximale Anzahl der einzubringenden Zahl der Module ist und auch je nach Vertiefung abweichen kann, entschied ich mich die Module mit ihren CP’s (Creditpoints) zu gewichten und anschließend auf die einzubringende Anzahl zu normieren.

Daraus ergibt sich folgende Tabelle:

fachgebiet AUT CED DT EET KTS SAE
Adaptive Systeme der Sprach- und Audiosignalverarbeitung 0 0 0 0 3,375 0
Beschleunigerphysik 0 2,389381 0 0,787879 0 0
Beschleunigertechnik 0 11,95907 0 1,313131 0 0
Bioinspirierte Kommunikationssysteme 0 0 0,58209 0 7,098214 1,9375
Computersimulation Elektromagnetischer Felder 0 1,5 1,054726 0 0 1,190476
Echtzeitsysteme 5,866667 6 22,82664 0 0 0,714286
Elektrische Energieversorgung unter Einsatz Erneuerbarer Energien 0 0 0 14,9899 0 0
Elektrische Energiewandlung 5,866667 2,25 1 38,60606 0 2,80506
Energieinformationsnetze und -systeme 0 0 3,246269 7,090909 2,8125 1,9375
FB 18 2 2 2 2 1,428571 2
Hochspannungstechnik 0 0 0 17,14141 0 0
Informatik 0 0 22,71393 0 0 4,047619
Integrierte Elektronische Systeme 4,977778 0 24,16992 0 0 24,79911
Integrierte Mikro-Nano-Systeme 0 0 0 0 0 9,614583
Kommunikationstechnik 4,977778 2,25 1 0 9,0625 0
Leistungselektronik 2,222222 0 0 15,51515 0 1,190476
Lichttechnik 0 0 0 0 0 18,13839
Maschienenbau 11,33333 0 0 6 0 11,45833
Material- und Geowissenschaften 1,333333 0 0 3 0 0
Mathe 4,444444 34,44358 0 0 0 0
Mathematische Modellierung Elektromagnetischer Felder 0 1,19469 0 0 0 0
Mess- und Sensortechnik 0 0 0 0 0 18,22917
Mikrowellentechnik 3,2 2,25 1 6 21,75446 1,428571
Multimedia Kommunikation 0 0 23,11768 0 0 1,428571
Nachrichtentechnische Systeme 2,666667 2,389381 0 0 17,8125 0
Neue Materialien Elektronik 0 0 0 0 0 1,9375
Rechnersysteme 2,666667 0 22,43858 0 0 1,9375
Regelungsmethoden und Robotik 29,06667 0 0 1,313131 0 1,666667
Regelungstechnik und Mechatronik 35,51111 2,25 1 7,838384 0 7,291667
Signalverarbeitung 3,2 0 1 0 19,78125 7,563988
Technik und Ökonomie Multimodaler Energiesysteme 0 0 0 1,050505 0 0
Theorie Elektromagnetischer Felder 3,2 53,37168 1 0 0 4,011905
THz Bauelemente und THz Systeme 0 0 0 0 5,410714 2,889881

Tabelle 1: die normierten CP nach Fachgebieten in Vertiefungsrichtungen

Aus diesen Daten kann man schon direkt die Anteile der Fachgebiete in einer Vertiefungsrichtung erkennen.

zeige weitere Vertiefungen

Anmerkung

Oft sind an die Wahlbereiche abstrakte Bedingungen wie bspw. “min. 2 und max. 4 Module” oder “min. 12 CP” gebunden. Eine genaue Aufteilung der CP auf Wahlbereich oder Module ist demnach ohne eine individuelle Wahl nicht abzusehen.
Um diese komplexen Verknüpfungen näherungsweise abbilden zu können, habe ich die Wahlbereiche innerhalb der Studienpläne zusammengefasst und die Anteile eines Fachgebietes anhand der mit CP gewichteten und normierten Anzahl seiner Module berechnet. Wahl und Pflichtbereich sowie Bachelor und Master habe ich dabei separat betrachtet und anschließend kombiniert.

Es ist offensichtlich, dass diese Vereinfachung hinsichtlich einer individuellen Modulzusammenstellung einiges an ihrer Aussagekraft einbüßen muss, dennoch lässt sich eine grobe Tendenz hinsichtlich der fachlichen Ausrichtung der Vertiefungen sowie deren Vielfalt an Fachrichtungen erkennen.

Die Tabelle 1 von oben, lässt sich auch problemlos mithilfe der Software Gephi als Netzwerkgraph Visualisieren. Hierdurch lässt sich gut erkennen, welche Fachgebiete im Schnitt ein größeres Vorkommen in den einzelnen Vertiefungen haben und welche nicht.

Es lässt sich gut erkennen, dass bspw. das Fachgebiet Integrierte Elektronische Systeme (IES) sowohl bei Datentechnik (DT) als auch Sensoren, Aktoren Elektronik (SAE) einen starken wie auch gleich großen Einfluss hat, und somit die beiden Vertiefungen u.a. recht nahe beieinander liegen. [Abb. 1]

Abb. 1: Vertiefungen und Fachgebiete nach ihrem Vorkommen in Studienplänen, gewichtet durch einbringbare CP

Im Folgenden habe ich Kanten mit einem Gewicht, welche geringer der Durchschnitt waren, entfernt. Dadurch reduziert sich der Graph auf nur noch die Vertiefungen mit ihren ‘stärksten’ Fachgebieten. Auch hier ist die Verbindung zwischen DT und SAE wie auch KTS und SAE durch IES bzw Signalverarbeitung erkennbar. [Abb. 2]

Auffällt, dass CED wie auch EET einzelne Subgraphen sind, welche nach dieser Auswertung keine starken fachlichen Züge der anderen Vertiefungen haben.

Auch hier gilt wieder (wie oben), dass eine persönliche Auswahl aus dem Wahlbereich dies erheblich beeinflussen kann. So gibt es bspw. einen Wahlbereich der knapp 20% des Masterstudiums ausmacht, indem frei Module des Fachbereichs (d.h. aus allen Vertiefungen) und anderen Studiengängen der TU gewählt werden können, welcher hier aufgrund der unbeschränkten Modulauswahl nicht miteinbezogen werden konnte.

Abb. 2: Fachgebiete mit überdurchschnittlichem Vorkommen in Vertiefungen

Weitere Ansätze – Korrelation

Darüber hinaus kam ich auf die Idee von Tabelle 1 die Korrelation der Spalten, also der Vertiefungen, mit der in Pandas implementierten Funktion zu berechnen.

Das Ergebnis ist folgende Tabelle bzw. Korrelationsmatrix.

- AUT CED DT EET KTS SAE
AUT 1 0,00717 -0,04905 0,109494 -0,06729 0,103538
CED 0,00717 1 -0,09655 -0,11722 -0,10581 -0,1096
DT -0,04905 -0,09655 1 -0,19009 -0,17661 0,199746
EET 0,109494 -0,11722 -0,19009 1 -0,11715 -0,12676
KTS -0,06729 -0,10581 -0,17661 -0,11715 1 -0,10843
SAE 0,103538 -0,1096 0,199746 -0,12676 -0,10843 1

Tabelle 2: Korrelationen der Vertiefungen berechnet durch Pandas

Die Werte der Korrelationsmatrix lässt sich nun mithilfe einer Farbskala darstellen. Dabei habe ich die Diagonalelemente entfernt, da die gleiche Vertiefung mit sich selbst logischerweise die größte Übereinstimmung hätte und dies somit nichts zur Aussagekraft beiträgt.
Positive Werte aus Tabelle 2 in Grün dargestellt bedeuten eine Gemeinsamkeit bezüglich der vorkommenden Fachgebiete. Negative Werte bzw. rote Felder hingegen symbolisieren eine negative Korrelation, also dass diese Kombinationen nicht gemeinsam vorkommen.

Abb. 3: Korrelationsmatrix der Vertiefungen, anhand Fachgebiete

So wie ich mit Pandas die Korrelation der Spalten (Vertiefungen) berechnet habe, ist dies auch mit den Zeilen (Fachgebieten) möglich.
Heraus kommt eine große und bunt durcheinander gewürfelte Korrelationsmatrix, in der allerdings schon kleine Cluster (Gruppierungen) auf der Hauptdiagonalen erkennbar sind.

Abb. 4: Korrelation der Fachgebiete, anhand des Vorkommens in Studienplänen der Vertiefungen

Als Nächstes wollte ich die Cluster in dieser Korrelationsmatrix genauer untersuchen. Dazu habe ich zuerst alle negativen Einträge entfernt, da mich in erster Linie die Gemeinsamkeiten Interessieren. Zudem habe ich alle Einträge unter einem gewissen Schwellwert entfernt, um mich auf die signifikanten Beziehungen zu beschränken.

Anschließend habe ich mit den Spectral Co-Clustering und Spectral Biclustering Algorithmen aus scikit-learn3 sowie den Co-Clustering Algorithmen der Python library coclust4 experimentiert.
Das Resultat ist eine sortierte Korrelationsmatrix der Fachgebiete, aus denen die Cluster in etwa denen der Vertiefungen entsprechen.

Abb. 5: Korrelationsmatrix nach Clustering in 6 Cluster, Vertiefungen wurden zur Verdeutlichung eingezeichnet

Anzumerken ist hier, dass nicht jedes Fachgebiet eindeutig einer Vertiefung zugeordnet werden kann. Das haben wir oben in Abb. 2 schon erkennen können und dies lässt sich auch in Abb. 5 sehen. So sehen wir beispielsweise zwischen DT, SAE und CED diese einzelnen Ableger unterhalb der Quadratischen Cluster.

Darüber hinaus lässt sich die Aussagekraft der letzten Visualisierung infrage stellen. Um eine eindeutige Zuordnung von einem Fachgebiet zu einer Vertiefung zu bekommen, hätten man auch direkt Tabelle 1 nach den größten Werten in einer Zeile Gruppieren können. Ein Fachgebiet würde somit der Vertiefung zugeordnet werden, zu welcher es am meisten beiträgt.

Fachgebiet Vertiefung
Regelungstechnik und Mechatronik AUT
Regelungsmethoden und Robotik AUT
Theorie Elektromagnetischer Felder CED
Mathe CED
Computersimulation Elektromagnetischer Felder CED
Beschleunigertechnik CED
Beschleunigerphysik CED
Mathematische Modellierung Elektromagnetischer Felder CED
Echtzeitsysteme DT
Informatik DT
Rechnersysteme DT
Multimedia Kommunikation DT
Elektrische Energiewandlung EET
Energieinformationsnetze und -systeme EET
Elektrische Energieversorgung unter Einsatz Erneuerbarer Energien EET
Hochspannungstechnik EET
Leistungselektronik EET
Material- und Geowissenschaften EET
Technik und Ökonomie Multimodaler Energiesysteme EET
Signalverarbeitung KTS
Kommunikationstechnik KTS
Mikrowellentechnik KTS
THz Bauelemente und THz Systeme KTS
Bioinspirierte Kommunikationssysteme KTS
Nachrichtentechnische Systeme KTS
Adaptive Systeme der Sprach- und Audiosignalverarbeitung KTS
Integrierte Elektronische Systeme SAE
Maschienenbau SAE
Mess- und Sensortechnik SAE
Lichttechnik SAE
Integrierte Mikro-Nano-Systeme SAE
Neue Materialien Elektronik SAE

Tabelle 3: Gruppierung der Fachgebiete nach Vertiefung mit größtem Vorkommen, aus Tablle 1

Aber auch dies ist fehlerbehaftet, wenn wir die Werte für DT und SAE von IES in Tabelle 1 betrachten, welche ziemlich nahe beieinander liegen.

Fazit

Auch wenn möglicherweise nicht alle Statistiken, welche ich im Zuge dieses Projektes erstellt habe, die größte Aussagekraft bieten und auch wenn die Datengrundlage teils nur bedingt geeignet war, um diese gut auswerten zu können, so hat mir dennoch das arbeiten und lernen an diesem Projekt sehr viel Spaß bereitet.
Darüber hinaus konnte ich hierbei einiges über Data Science und Machine Learning lernen sowie meine Kenntnisse in Python wieder ein Stück weiter ausbauen.

März – April 2021

Verweise:
1 Eric Grimson, John Guttag, and Ana Bell. 6.0002 Introduction to Computational Thinking and Data Science. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare
2 MATLAB Fundamentals und Machine Learning with MATLAB
3 scikit-learn, SpectralCoclustering
4 coclust, co-clustering algorithm library

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.