How to Use Graph ML to Analyze Street Networks
What is a Graph
Graphs are structures of nodes and edges; the nodes represent entities, and the edges represent interactions/connections between a pair of nodes. Many systems can be represented as graphs since only interactions between entities are required: from social behavior to buildings and cities, most types of problems can be modeled as graphs.
What is Graph ML?
Graphs have been shown to have added value when studying different types of problems, so a new branch of machine learning, commonly known as Graph ML has emerged. This focuses on how to obtain features based on graphs and the development of algorithms that considers the structure of a graph.
What are Graph ML Algorithms?
Graph ML Algorithms are specialized tools in machine learning designed to handle and interpret graph-structured data. These algorithms utilize the unique characteristics of graphs – nodes and edges – to decipher intricate patterns and relationships. Unlike traditional ML techniques which focus on tabular or linear data, Graph ML dives deep into interconnected systems. Be it social networks, biological structures, or road maps, these algorithms discern the hidden dynamics within, making them invaluable in fields that deal with complex relational data
Why is Graph ML Popular?
Leaving aside the development of computational resources (GPUs) that allow processing these types of graphs, the most crucial factor is that these structures capture shows that connections are as important as the data itself and outperform traditional ML tabular data and models.
Another critical factor is that they are easy to interpret since they can visually show results, some as simple as understanding how people are related by their links in accounts belonging to any social media.
How Can We Use Graph ML?
Graph ML can be used to perform a wide range of tasks. You can use it to classify nodes, make predictions on missing links between nodes, and classify graphs. Graph data can also help with clustering as it can detect whether specific nodes conform a community.
For example, if we want our system to predict if someone X would be interested in buying a house in a particular city(such as Miami), a graph that connects people and types of houses by the owner’s pet might not be helpful. On the contrary, if the connection would be related to children’s age and budget, the output would be pretty great.
What Is The Road Network?
A road network refers to the system of road segments and intersections which route traffic. It is a natural graph, in the mathematical sense, where intersections **correspond to nodes and road segments **to directed edges.
A road segment can have properties like speed limit, the legal maximum speed cars should drive on the stretch of road, and road class, which specifies how “important” that road is to the network as a whole e.g. if it is a highway or residential road. A road segment also has physical properties like road length and curvature.
Why Use Graph ML On Street Networks?
As we mentioned earlier, road networks are not only natural graphs but are the perfect subject of study due to their scale and complexity. Also, we all live in these types of structures, and improving them could have a significant impact. Imagine that we could define the best design for a new development based on the real needs of the users and not merely follow the city grid or start redefining where schools, libraries, or even hospitals should be located with a great degree of precision.
Another great advantage is that nowadays, there are many excellent sources to obtain datasets of cities like Argis and Mapbox or even free and open tools like OpenStreetmaps that will allow you to analyze info on most of the cities in the world.
How to use Graph ML?
This is a series of posts about the use of Graph ML and its uses, so here we will not deep dive into all the details of how to analyze or predict the behavior of a street network. Still, you can always check out Aditi Jain’s tutorial on Analyzing OpenStreetMap Road Network Attributes with NetworkX, PyG, and Graph Neural Networks; this is an excellent example as a starting point.
An Open Road Ahead
Even when there are many ongoing studies on this subject, this is still a new approach, so there is still a lot to improve and discover, so If this is a topic you like we encourage you to work on it. Who knows how big of an impact Graph ML technologies could have in the development of our future cities? Do you consider it will have a significant impact?
Let us know what you think.
References
- https://medium.com/@aditiajain/analyzing-openstreetmap-road-network-attributes-with-networkx-pyg-and-graph-neural-networks-2f3d7b0f832
- https://www.kaggle.com/datasets/crailtap/street-network-of-new-york-in-graphml
- https://www.marktechpost.com/2022/05/16/researchers-propose-a-graph-based-machine-learning-method-to-quantify-the-spatial-homogeneity-of-subnetworks/
Valentin Noves
I'm a versatile leader with broad exposure to projects and procedures and an in-depth understanding of technology services/product development. I have a tremendous passion for working in teams driven to provide remarkable software development services that disrupt the status quo. I am a creative problem solver who is equally comfortable rolling up my sleeves or leading teams with a make-it-happen attitude.