# DyEgoVis: Visual Exploration of Dynamic Ego-Network Evolution
## 4 Visual Design and Implementation  
### Ego-Network Embedding  
Using the ego-network embedding, we can reduce dynamic ego-networks and their snapshots to 2D points to generate overview views for users. The embedding pipeline has three stages: feature extraction, feature vector construction and dimensionality reduction. Below, we introduce this pipeline. **Feature Extraction. ** We need to select some features to characterize an ego-network (i.e., a snapshot) at timestep \(t\). The studies on ego-networks or network similarity [4; 35; 42; 43] have proposed many effective topological features. Based on our analytical tasks, we choose the following topological features for the ego-network:  
* **TF1:** number of the ego \(u\)'s one-level alters. * **TF2:** number of edges between one-level alters. * **TF3:** clustering coefficient of the ego-network, computed as \(\frac{TF2}{TF1(TF1-1)/2}\). * **TF4:** average weight of edges (i.e., ego-alter edges) between the ego u and one-level alters, computed as \(\frac{\sum_{i=1}^{TF1}w_{i}}{TF1}\), where \(e_{i}\) is an ego-alter edge and \(w_{e_{i}}\) indicates \(e_{i}\)'s weight. * **TF5:** number of the ego \(u\)'s two-level alters. * **TF6:** average degree of one-level alters, computed as \(\frac{1}{TF1}\sum_{i=1}^{TF1}d_{i}^{t}\), where \(d_{i}^{t}\) is the degree of node \(i\). In addition to the above topological features, we can take the ego-network's node attributes into consideration, which increases the possibility of clusters with semantic meanings in overview views. **Feature Vector Construction. ** To tackle tasks T1 and T3, we need to construct a feature vector for each dynamic ego-network. However, for tasks T2 and T4, we need to construct a feature vector for each snapshot of a dynamic ego-network. Based on the extracted features, we propose an ego-network embedding model as shown in Figure 2. Besides the six topological features, the model can integrate node attributes, i.e., domain features depending on datasets, such as publication number per year in a dynamic co-authorship network. For each snapshot, we aggregate its extracted features into a vector as its feature vector. For the dynamic ego-network, we use corresponding feature sequences to describe it. If these feature sequences are directly aggregated into a single vector, dynamic ego-networks with different timespans will have different lengths of feature vectors. To solve this issue, we first calculate five metrics for each feature sequence: mean, variance, skewness, kurtosis, and approximate entropy. The first four metrics can characterize the distribution of the feature sequence. The approximate entropy [44] can quantify the complexity and predictability of the feature sequence. We then aggregate the above metrics of all feature sequences into a single vector as the dynamic ego-network's final feature vector. Its length is \(5*N\) where \(N\) is the number of features. Based on the ego-network embedding model, we can obtain feature vectors of dynamic ego-networks and their snapshots. Next, we perform dimensionality reduction to project the feature vectors onto corresponding 2D views, thereby generating overview views. However, we should normalize feature vectors before dimensionality reduction because each feature has a different scale and unit. To adapt different dimensionality reduction methods, we provide two normalization methods: z-score and min-max. Z-score normalization transforms features per dimension to have zero mean and unit variance. Min-max normalization scales features per dimension to \([0,1]\). **Dimensionality Reduction. ** To explore different datasets, we provide three dimensionality reduction methods as options: Principal Component Analysis (PCA) [45], MultiDimensional Scaling (MDS) [34] and t-distributed Stochastic Neighbor Embedding (t-SNE) [46]. As a widely used linear method, PCA offers faster computational performance.