input: 3D array of traffic density per street, per hour, per day |
output: pattern-dependant cluster classification |
BEGIN |
for each street in All_streets do |
if (peak_traffic_intensity in < 690 veh/h) then |
remove street from All_streets |
|
for each Week_day in WEEK_DAY do |
average_Week_day = get_average_pattern(Week_day) |
clusters = FindClusters(Week_day, average_Week_day) |
mean_clusters = get_average(clusters[Week_day]) |
median_clusters = get_median(clusters[Week_day]) |
if (clusters[average_Week_day] == round(mean_clusters)) then |
num_clusters[week_day] = clusters[average_Week_day] |
else |
num_clusters[week_day] = round(get_average(mean_clusters, |
median_clusters, clusters[average_Week_day])) |
|
for all week_day pairs (, ) |
where num_clusters[] == num_clusters[] do |
if (Matching(cluster_elements(), cluster_elements()) > 90%) |
then pattern[] = pattern[] |
|
for all week_day pairs () with different pattern do |
for all clusters in and in do |
if (correlation(average_street(), average_street()) > 0.9) |
then |
pattern[] = pattern[] |
|
|
RETURN cluster pattern classification |
END algorithm |