Last fixes

This commit is contained in:
Tim
2024-01-07 16:56:38 +01:00
parent 6c87ef9841
commit 23eaf763c0
2 changed files with 22 additions and 22 deletions

View File

@ -1,11 +1,11 @@
# Netzwerkanalyse (Tim Ronneburg)
In diesem Abschnitt wird die Umsetzung der Netzwerkanalyse behandelt, die den Aufbau und die Analyse eines Netzwerks gemäß den im Kapitel 3.5 erwähnten Verflechtungsanalysen betrifft.
Wie bereits im vorherigen Abschnitt erläutert, kam im Rahmen des Projekts Plotly Dash zum Einsatz, ein Tool, das für die Erstellung von Dashboards mit Python entwickelt wurde. Zusätzlich wurde dieses Tool um die Bibliothek NetworkX erweitert, um Netzwerkgraphen darzustellen.
Wie bereits im vorherigen Abschnitt erläutert, kommt im Rahmen des Projekts Plotly Dash zum Einsatz, ein Tool, das für die Erstellung von Dashboards mit Python entwickelt wurde. Zusätzlich wird dieses Tool um die Bibliothek NetworkX erweitert, um Netzwerkgraphen darzustellen.
Die Netzwerkanalyse wurde an verschiedenen Stellen im Projekt integriert. Zunächst auf der Hauptseite, wo der gesamte Graph dargestellt wird, dann auf der Unternehmensdetailseite zur Untersuchung der Verflechtungen aus der Perspektive des ausgewählten Unternehmens, sowie auf der Personendetailseite aus dem gleichen Grund wie auf der Unternehmensseite.
Die Netzwerkanalyse wird an verschiedenen Stellen im Projekt integriert. Zunächst auf der Hauptseite, wo der gesamte Graph dargestellt wird, dann auf der Unternehmensdetailseite zur Untersuchung der Verflechtungen aus der Perspektive des ausgewählten Unternehmens, sowie auf der Personendetailseite aus dem gleichen Grund wie auf der Unternehmensseite.
Quellcode-seitig wurden mehrere Dateien für die Erstellung des Netzwerks erstellt. Im Verzeichnis "UI" befindet sich ein Unterordner "utils" mit dem weiteren Unterordner "networkx", in dem die Dateien zu finden sind:
Quellcode-seitig werden mehrere Dateien für die Erstellung des Netzwerks erzeugt. Im Verzeichnis "UI" befindet sich ein Unterordner "utils" mit dem weiteren Unterordner "networkx", in dem die Dateien zu finden sind:
- network_2d.py
- network_3d.py
- network_base.py
@ -13,7 +13,7 @@ Quellcode-seitig wurden mehrere Dateien für die Erstellung des Netzwerks erstel
Die ersten beiden Dateien enthalten den Quellcode für die Visualisierung des Netzwerks mithilfe eines Scatterplots in 2D oder 3D. Die Datei "base" umfasst die Initialisierung des Netzwerks anhand der ausgewählten Daten. Hierbei werden gleichzeitig die relevanten Metriken gebildet. In der Datei "data" sind verschiedene Funktionen enthalten, die dazu dienen, Daten abzurufen, welche anschließend dem Netzwerk zugeführt werden können.
Die "base"-Datei legt somit den Grundstein für das Netzwerk, indem sie nicht nur die Struktur initialisiert, sondern auch wichtige Metriken generiert. Die "data"-Datei hingegen stellt eine Schnittstelle dar, durch die das Netzwerk mit den benötigten Daten versorgt wird, wobei diverse Funktionen zur Datenabfrage integriert sind
Die "base"-Datei legt somit den Grundstein für das Netzwerk, indem sie nicht nur die Struktur initialisiert, sondern auch wichtige Metriken generiert. Die "data"-Datei hingegen stellt eine Schnittstelle dar, durch die das Netzwerk mit den benötigten Daten versorgt wird, wobei diverse Funktionen zur Datenabfrage integriert sind.
Der Ablauf gestaltet sich unter anderem wie folgt: Wenn ein Nutzer die Startseite aufruft, werden bestimmte Funktionen in "networkx_data" ausgeführt, um die Datenbank nach den voreingestellten Informationen zu durchsuchen. Diese Daten werden aufbereitet und als Pandas DataFrame an "network_base" übergeben, wo mithilfe des Frameworks NetworkX ein Graph erstellt wird. In diesem Graph-Element sind die Positionen der Nodes enthalten. Zusätzlich werden Methoden bereitgestellt, um Standard-Netzwerkanalysemetriken zu berechnen. Für dieses Projekt handelt es sich dabei um die Metriken "degree", "betweenness", "closeness" und "pagerank".
@ -52,7 +52,7 @@ Ein Unterschied zur Unternehmensseite besteht jedoch: Auf der Personen-Seite wer
<!-- Bild Personen Seite -->
## Ausgelassene Features
Im Kapitel 3.5 wurden neben den hier beschriebenen Funktionen auch weitere Aspekte betrachtet und evaluiert, insbesondere im Hinblick auf die Darstellung und Analyse unternehmerischer Kennzahlen wie EBIT, Umsatz, Gewinn, Aktienkurs usw. Leider konnten im Zuge der Datenerfassung die hierfür benötigten Daten nicht zuverlässig und in ausreichender Menge generiert werden. Dies führte dazu, dass diese Funktionen aus dem Verflechtungsscope herausgenommen wurden.
Im Kapitel 3.5 wurden neben den hier beschriebenen Funktionen auch weitere Aspekte betrachtet und evaluiert, insbesondere im Hinblick auf die Darstellung und Analyse unternehmerischer Kennzahlen wie EBIT, Umsatz, Gewinn, Aktienkurs usw. . Leider konnten im Zuge der Datenerfassung die hierfür benötigten Daten nicht zuverlässig und in ausreichender Menge generiert werden. Dies führte dazu, dass diese Funktionen aus dem Verflechtungsscope herausgenommen wurden.
Ein weiterer Herausforderungspunkt war die schwierige und performante Einbindung des Graphen in Plotly Dash. Die Generierung des Graphen bei größeren Datenmengen dauerte mit dem ursprünglich ausgewählten Tool deutlich länger, als es in den Proof-of-Concepts den Anschein erwecken ließ. Daher erfolgte eine Umstellung auf eigens erstellte Scatter Plots, für die ein eigener Algorithmus entwickelt werden musste, der die Positionen aus dem NetworkX ausließt und in Punkte für den Scatter Graphen formatiert. Dies hatte einen deutlichen Einfluss auf die Entwicklung und führte zu Verzögerungen.