## 4 Solution Methodology
### Baseline Algorithm 1--Network Metrics Clustering  
A rich literature [22; 23; 24; 25] of unsupervised techniques for network data analysis exists with applications in multiple optimizations, planning, and reconfiguration tasks related to cellular networks. This process involves the acquisition of a dataset that includes network metric measurements that will then be used to derive clusters (i.e., groups) of data that present similar behavior. These groups are then linked to insights by applying the cluster label analysis process, which gives characteristics to these groups that can then be included in algorithms for optimization. In the case of azimuth angle optimization, clustering of network metrics can be used to determine a set of cells labelled as, for example, \"cells of low coverage quality and high traffic demand\". This is an indicator that a reconfiguration action should be performed in the specific cell and/or its neighboring cells that will improve the  
Figure 2: High level concept and context of our optimal azimuth steering solution. radio quality. Based on the approaches found in [22; 23; 24], appropriately tuned K-means execution followed by statistical label traceback analysis can robustly provide automated results for the select network metrics. In addition, we can monitor the performance of the clustering operation by inspection of the cluster boundaries in various projected spaces (e.g., with the principal component analysis (PCA) method). After the clustering operation, we translated the cluster label to actions of cell azimuth steering. For this purpose, location information was indirectly derived by each cell sector's geometry--its assumed coverage--and the algorithm indicates that the population density hot-zone is spatially correlated to this area. However, the actual position of the hot-zone cannot be accurately pinpointed, so this algorithm focuses on moving neighboring cells toward the center of the problematic cell, which is arguably a drawback of this algorithm. The algorithmic process of this method is as follows: Having clustered the UEs on the available network features (RSRP and SINR values) each cell is characterized by the KPI scores of the clusters that are serving. When a \"bad\" cell is found (low score for both KPIs), the derived action is to rotate its closest \"good\" cell to the direction of the geometric center of the area covered by the \"bad\" cell to improve their RSRP and SINR scores. The method can be seen in Baseline Algorithm 1. ```
0: Azimuth Steering Action for each gNB Input: 1. Serving gNB for each UE
2. Cluster label for each UE
3. RSRP score (low/medium/high) for each UE
4. SINR score (low/medium/high) for each UE Begin  Cells < Set of Serving gNBs  Clusters < Set of Cluster labels Foreach Cluster in Clusters do:

1. Cluster RSRP score < majority RSRP of Cluster's UEs
2. Cluster SINR score < majority RSRP score of Cluster's UEs End Foreach Cell in Cells do:

1. Find the Subset of Clusters that are served by Cell
2. Assign to Cell RSRP and SINR scores based on scores of this subset
3. Calculate the distances from other Cells End Foreach Cell in Low Score Cells do:

1. Calculate the geometric center of the Cell coverage
2. Find the closest high-score cell to Cell
3. Calculate the delta azimuth between the high-score cell direction and the geometric center
4. Rotate high-score cell to make the delta azimuth zero End End End

### Baseline Algorithm 2--Spatial Clustering

Spatial clustering is the process of applying unsupervised learning to identify clusters of geospatial significance (density). The K-means algorithm [22; 23; 24] that was also included in Baseline Algorithm 1 has also been shown to be an effective approach for the detection of spatial centroids. The algorithm requires measurements that include location information (in the form of latitude, longitude), user equipment device identifier, and temporal information (in the form of timestamp). The K-means algorithm generates centroids that are population densities detected throughout the underlying area.