Group25 Analysis

From Visual Analytics and Applications
Jump to navigation Jump to search
Bus Route 1.jpg


Journey to the End of the Line
Recommendation for Singapore Bus Routes Enhancement


OVERVIEW

PROPOSAL

ANALYSIS REPORT

POSTER

APPLICATION

ALL PROJECTS


Design Framework

According to the above mentioned problem statements, we have divided our application framework into 2 parts - Rerouting Analysis & Network Analysis.
1. Rerouting Analysis
To understand the rerouting of bus routes and too see which buses required rerouting we used visualisation of the bus route path by plotting on Leaflet Map along with data analysis techniques. Some of the buses take a substantial amount of time than actual to travel from starting point to the destination. One Such route is “972”. From Figure 1, we can see that Bus “972” circles around Bukit Panjang picking up passengers and then transits into the highway. For a person who starts at starting point and to reach the destination, it takes him more time than actual as extra time is lost in circling around an area instead of taking direct route.

Bus 972

Main 972.png


1.1. Identify Routes that require Rerouting Our main challenge was to find bus routes similar to “972”. For this purpose, we built a rerouting algorithm to identify the buses similar to “972”.

Flow diagram to show the working of our rerouting algorithm

Flow.png


From Step 1, we selected bus routes which had count > 4 because for a bus to circle or loop around an area, generally it will have a minimum of 8 bus stops in the loop, so we selected count 4 (half of 8) . In step 2, we considered distance between bus stops to check if the bus stop is taking a highway or not. We then shortlisted common routes form both steps and obtained 44 bus routes which satisfied both criteria from step 1 and step 2. Out of 44 bus routes, we manually shortlisted 22 bus routes with the help of Leaflet map Visualisation of the bus route path.

Recommended to introduce Feeder Buses in these routes 110, 23, 39, 5, 502, 518, 52, 538, 59, 129, 81, 85, 858, 972, 982E Night Riders – 1N,2N, 3N, 4N, 6N, NR1, NR6

1.2. Identify Optimal Bus Stop to Introduce Feeder Bus
For each of the above routes, it is important to find optimal bus stop where the feeder buses should be introduced. Firstly, we intuitively select one bus stop from the visualization of the bus route on map where we want to introduce feeder bus. We used “observe event” function in leaflet to capture the selected bus stop. Taking th index of the selected bus stop for a route, we have sliced the main route data into Feeder Bus and Transit Bus. The same is plotted on the Leaflet map as seen in Figure 2. The feeder bus route is colored in red and transit bus route colored in blue. The purple colored circle represents the nearest MRT Stations.

Slicing the original route into two parts

Zoom.png


To detect if the circling path is to the starting or ending of the bus route, we have used the index of the selected bus stop. If index(selected bus stop) > total bus stops in the route/2,
then it is considered as looping at the end of bus route otherwise it is considered as looping at the starting of the bus route.

To measure if the selected bus stop is optimal or not, we have anlysed it by computing the time saved if feeder bus is introduced at that point.

To compute Duration/Time Taken parameters, we applied basic speed formula, i.e, speed = distance travelled/time taken.

We assumed that the average speed of the bus is 30km/hr and distance travelled is the absolute Euclidean Distance calculated from the SVY21 coordinates of the bus stops.

Actual Time Taken = (Distance of the bus route(km)/Average Speed(kmph)) * 60 + (buffer of 0.5min stop at each bus stop)
Transit Time = (Transit Distance of the bus route(km)/Average Speed(kmph)) * 60 + (buffer of 0.5min stop at each bus stop)
Time Saved = Actual Time Taken – Transit Time

Gauge to reflect new service time and details

Gauge.png


Visualizing actual time taken and the time saved

Timetaken.png



Apart from time saved, we considered nearest MRT Station also a parameter to decide the optimal bus stop to introduce the feeder bus because when the feeder bus picks up the passengers around an area, the passengers can either select the nearest MRT station to travel further or to take respective bus.

From the MRT stations dataset we gatthered, we for the selected bus stop, we calculated the coordinate/Euclidean distance of that bus stop to each of the MRT stations and then found the nearest MRT station to the selected bus stop. We can also see the same visually from the graph as shown in Figure 2 with purple circles.


Distance to the Nearest MRT station

Mrt dis.png


Along with the Nearest MRT Station, for a quick analysis and exploring the number of bus stops near the selected area, we built an interactive point symbol map using “Marker Cluster” package in R as shown in below, which clusters the bus stops and shows number of bus stops in that area.


Visualizing near by bus stops

Busstops.png


In the second step, we compare the first selected bus stop with other nearby bus stops to find the most optimal cut for the feeder bus. A nested for loop was used to loop across each bus stop and calculate the above mentioned parameters. A comparison list built is as shown below:

Comparision List

Output.png


Now, from this comparison table, user can analyse which is the optimal cut for introducing feeder bus and rerouting the main bus route.


2. Network Analysis
We built a network model on Singapore Bus Routes to analyze the activity of the bus stops and to understand the connectivity of a selected bus stop.
Key thing to note in the Network Model – This Network Model is built on the origin-destination level of each Bus Stop and corresponding Bus Routes. Blue Square represents Bus Interchange and Purple Circle represents Bus Stop and the selected bus stop is highlighted in orange.
We performed Network Analysis at 2 levels – Degree Centrality (To analyze the activity of Bus Stops) and Betweenness Centrality (To understand the connectivity of the selected bus stop)

2.1. Activity of Bus Stops-
For a selected bus stop, there are a lot of in and out bus routes passing through it. To represent this in a network, we used the Degree Centrality which represents the node strength of bus stop denoted by the size. Therefore, the bigger the size, the more strength a node has, and thus bigger activity for the bus stops. For example, The Fullerton Square bus stop has high activity similar to the Bus Interchanges, it is clearly visible from the size of the bus stop which is comparable to the Bus Int. Such Bus Stops with good node strength should be considered for upgrading to the Bus Interchange with better infrastructure that is convenient for boarding and alighting of the passenger’s.

Route Connectivity Network

Network1.png


Ideally, all Bus Interchanges should have bigger node strength, but we found few Bus Interchanges with less activity/node strength like the one highlighted below.

Example of Bus Interchanges With Less Activity

Network2.png


2.2. Connectivity of Bus Stop –
To understand how well a bus stop is connected to other places/destinations, we have analyzed the connectivity of Bus stops by calculating the Betweenness centrality in the network modeling. This quantifies the number of times a node/bus stop acts as a bridge along the shortest path between two other nodes/bus stops. The size implies the connectivity of the bus stop. For the same bus stop – Fullerton Square, it is seen that the Betweenness Centrality is very little as seen by its size. Therefore, we can interpret from the model that even though the activity is more for Fullerton Square, the connectivity (i.e. the complexity) is less.

Route Connectivity Network

Network3.jpg


Although this behavior is interesting, what we want is actually the opposite. We want to see bus stops with a low degree (i.e. low in activity) but high in Betweenness. This means that those bus stops is connecting a lot of other bus stops and in turn, will be suitable for the upgrade into either interchange or terminal. However, in our initial analysis, we have not managed to find such bus stops. This is further proofing that, at least in term of bus services origin and destination, Singapore bus network is already quite efficient.

2.3. Connectivity Detail
We also created a network model for the user to be able to analyse the bus in more detail level. Here, the user can the detail network model for any of the selected bus service code and see the connectivity of that bus with the other buses. For example, the following network model is from bus service “167”. It travels from Sembawang interchange to Bukit Merah interchange.

Bus Service Connectivity Network

Network4.png


The objective for this network model is to allow the user to see in which area these buses travelling together (i.e. sharing the route together). In order to avoid bus bunching scenario (the same bus at the same route in the same time), the user can use this model as a reference to disperse the route. Notice that in some area, the line is more intense than the other and the size of some bus stops is bigger than the other. This indicates that bus service “167” shares route with a lot of other busses in that area. In fact, overall, bus “167” shares its route with 89 other busses, as shown below.

Output Illustrating the Connectivity of the Bus

Network5.png



2.4. Experimental Connectivity Detail
In order to see the detail of previous section networks, we created another network analysis that allowed the user to see the entire bus route associate with the selected bus service. Instead of just showing where they share the route, this network graph actually plots the entire bus stop all of associated bus service as a node along with their route. However, because of hardware limitation, this plot is too heavy to be fully utilized on our machine, though it is capable to analysing small detail. Using bus “167” again for example, below is the sample network graph.

Route Connectivity Network

Network6.png


The network graph above shows not only bus service “167” route, but also plot the other 89 busses route. This will give the user the ability to analysing each and every bus stop connection within “167” route, or any other bus services route. One of the analyses that can be done in this network graph is to see the complexity of the bus route itself. Below is the small highlighted area inside the network graph.

Zoomiing inside the Network Graph

Network7.png


Notice that in only this small area of the network graph, there exists multiple bus routes merging. Based on this, the user can then analyse which part can be considered for optimization.

Issues & Problem

  1. Problematic Bus Routes
    Some of the buses take a substantial amount of time to travel from starting point to the destination. For example, the route given below is of bus number 972, As we can see for a person to travel from the starting point to the ending point, he has to travel through a lot of bus stops which actually doesn't fall on his route which results in wasting the time and also money of the commuter. These kinds of buses usually circle around an area, picking all the passengers up and then transits into the highway. Now, such bus routes can cause overcrowding in buses and delay for the passenger alighting at the end of the circle before the transit.
  2. Activity of Bus Stops
    While visualizing the connectivity of the buses from their starting bus stop to their destination bus stop, we realized that there were few bus stops whose activity i.e. buses coming in and going out from that particular bus stop was similar to the bus interchanges. We call such bus stops as potential bus stops which can be upgraded to bus interchange.
  3. Connectivity of Bus Stop
    Connectivity is another measure which has to be considered before coming to a conclusion that a bus stop can be upgraded to a bus interchange. So, only when the connectivity of the potential bus stops as explained above is really good i.e. the potential bus stop is connected to various other destination points we can suggest that these bus stops can be converted to bus interchange.
  4. Data Manipulation
    One of the biggest challenge of the network analysis is data manipulation. Our network analysis required extensive data manipulation, from constantly changing the datatype, combining multiple column from multiple data, merging multiple dataframe, etc.
  5. Visnetwork Package parameter
    Our network graph is created using visnetwork package, and there are extremely many parameter inside visnetwork package. To be able to understand what each parameter used for required extensive learning of visnetwork.
  6. Network Layout
    Because the huge amount of nodes and edge, determining the best way to visualize the network is not easy. We go through multiple trial and error to finally manage to find the best way to visualize the network graph.
  7. Hardware Limitation
    Currently, our machine can barely render the experimental network graph, and to go deeper level of detail is virtually impossible. Note that our final datasets contain more than 4900 nodes and would have more than 20000 edges



References

  1. https://www.rdocumentation.org/packages/visNetwork/versions/2.0.4
  2. https://www.rdocumentation.org/packages/leaflet/versions/2.0.1
  3. http://datameet.org/2016/02/14/analysing-bangalores-bus-network/
  4. https://blog.rstudio.com/2015/06/24/leaflet-interactive-web-maps-with-r/
  5. http://www.liedman.net/leaflet-routing-machine/tutorials/basic-usage/
  6. https://repository.ntu.edu.sg/handle/10356/41216