Tritt unserer Community bei – hier klicken
Grafbasierte Darstellung urbaner Funktionen in einer Stadtkarte.
· AI Redaktion · 4 Min. Lesezeit
Künstliche Intelligenz Stadtplanung Graph Neural Networks Machine Learning

Die Zukunft städtischer Intelligenz: Grafbasierte Ansätze für urbane Funktionen

Entdecken Sie, wie grafbasierte neuronale Netzwerke mit city2graph und PyTorch Geometric urbane Funktionen erkennen.

Inhaltsverzeichnis
  1. 1. Einführung in Urban Function Inference
  2. 2. Was sind Graph Neural Networks?
  3. 3. Der Beitrag von city2graph und OSMnx
  4. 4. Schritte zur Verwendung von GNNs für urbane Funktionserkennung
  5. 5. 1. Datensammlung
  6. 6. 2. Merkmalskonstruktion
  7. 7. 3. Graphenstruktur und Modelltraining
  8. 8. Modelldefinition und Training
  9. 9. Visualisierung und Analyse
  10. 10. Fazit

In der heutigen digitalen Welt, in der Technologien wie Machine Learning und Datenanalyse einen immer größeren Einfluss auf unser tägliches Leben haben, nehmen urbanistische Fragestellungen einen zentralen Platz ein. Das Aufkommen von grafbasierten neuronalen Netzwerken (GNNs) hat die Möglichkeiten zur Analyse urbaner Daten revolutioniert. Mit Tools wie city2graph, OSMnx und PyTorch Geometric können wir städtische Funktionen effektiv darstellen, analysieren und vorhersagen.

Einführung in Urban Function Inference

In der Stadtplanung und -entwicklung ist die Fähigkeit, verschiedene urbane Funktionen zu identifizieren und zu analysieren, entscheidend. Diese Funktionen, die von Einzelhandelsgeschäften über Bildungseinrichtungen bis hin zu Gesundheitsdiensten reichen, sind in städtischen Umgebungen oft eng miteinander verbunden. Das Verständnis dieser Zusammenhänge verbessert nicht nur die Lebensqualität der Anwohner, sondern optimiert auch die Ressourcennutzung und Planung.

Was sind Graph Neural Networks?

Graph Neural Networks sind eine spezielle Form von neuronalen Netzen, die speziell für die Verarbeitung von Daten geeignet sind, die in Form von Graphen strukturiert sind. Sie sind besonders effektiv beim Lernen von Beziehungen und Mustern in unstrukturierten Daten, die typischerweise in städtischen Umgebungen vorkommen.

Der Beitrag von city2graph und OSMnx

Die Kombination von city2graph und OSMnx ermöglicht es, geografische Informationen aus OpenStreetMap (OSM) zu extrahieren und in nutzbare Graphstrukturen zu verwandeln. Diese Tools bieten eine benutzerfreundliche Schnittstelle zur Analyse von Punkten von Interesse (POIs) und städtischen Netzwerkinformationen, sodass Entwickler und Datenwissenschaftler effektiv mit städtischen Daten arbeiten können.

Schritte zur Verwendung von GNNs für urbane Funktionserkennung

Um GNNs in einem städtischen Kontext effektiv anzuwenden, müssen mehrere Schritte durchgeführt werden, einschließlich der Datensammlung, der Merkmalskonstruktion und des Modelltrainings.

1. Datensammlung

Zunächst ist die Sammlung relevanter Daten von entscheidender Bedeutung. Mit OSMnx kann eine Vielzahl von Daten mit nur wenigen Codezeilen abgerufen werden: python CENTER = (35.6595, 139.7005)
DIST_M = 1100
TAG_QUERIES = {…} poi_gdf, segments_gdf = o…

Hier definieren wir den Mittelpunkt und durchsuchen OSM nach verschiedenen Tags wie Lebensmitteln, Einzelhandel und Bildung.

2. Merkmalskonstruktion

Sobald die Daten gesammelt sind, müssen Merkmale konstruiert werden, die die Eigenschaften der einzelnen Standorte und deren Beziehungen zu ihren Nachbarn beschreiben. Dies kann durch die Berechnung der lokalen Dichte oder der Entfernung zu Straßenabschnitten erfolgen, die zur Analyse des städtischen Raums nötig sind.

python poi_gdf[‘local_density’] = [len(idx) - 1 for idx in nn.radius_neighbors(coords, return_distance=False)]

Diese Zeile berechnet die lokale Dichte von POIs anhand eines Nachbarschaftsgraphen.

3. Graphenstruktur und Modelltraining

Mit der konstruierten Merkmalsmatrix kann nun eine geeignete Graphenstruktur erstellt werden. Bei der Verwendung von Graph Neural Networks wie GraphSAGE sind unterschiedliche Typen von Graphen und ihre Eigenschaften entscheidend für die Lernergebnisse. In unserem Beispiel verwenden wir KNN, Delaunay und andere Proximitätsgraphen, um die Beziehungen zwischen den POIs darzustellen.

python data = c2g.gdf_to_pyg(nodes, edges, node_feature_cols=FEATS, node_label_cols=[‘label’])

Nach der Erstellung der graphbasierten Struktur wird das Modell trainiert, um die städtischen Funktionen der gesammelten POIs vorherzusagen.

Modelldefinition und Training

Der GraphSAGE-Algorithmus ist ein Beispiel für ein GNN, das wir zur Klassifikation verwenden können:

python class GraphSAGE(torch.nn.Module): …

Das Training des Modells erfolgt über mehrere Epochen, wobei die Genauigkeit und der Verlust kontinuierlich überwacht werden.

Visualisierung und Analyse

Nach dem Training des Modells ist es unerlässlich, die Ergebnisse zu visualisieren. Die Verwendung von PCA zur Reduzierung der Dimensionen ermöglicht eine grafische Darstellung der POIs in Bezug auf die vorhergesagten städtischen Funktionen. Dadurch können Muster und Beziehungen besser erkannt werden.

python emb2d = PCA(n_components=2).fit_transform(emb.numpy())

In der Visualisierung werden die POIs unterschiedlich gefärbt, je nachdem, zu welcher urbanen Funktion sie gehören. So wird eine anschauliche Karte erstellt, die die städtischen Strukturen und ihre Beziehungen widerspiegelt.

Fazit

Die Verwendung grafbasierter neuronaler Netzwerke zur städtischen Funktionserkennung bietet vielversprechende Ansätze, defizitäre Daten mithilfe moderner Technologien zu optimieren. Die Verknüpfung von städtischen POIs mit Machine Learning-Methoden eröffnet neue Möglichkeiten zur Analyse und Verbesserung städtischer Umgebungen. Tools wie city2graph, OSMnx und PyTorch Geometric ermöglichen es Entwicklern, innovative, datenbasierte Lösungen zu erarbeiten, die nicht nur für städtische Planer, sondern auch für die allgemeine Öffentlichkeit von großem Nutzen sein können.

Erfahren Sie mehr über diese Technologien und deren Potenzial für die Zukunft der Stadtentwicklung und Planung!