# Evolutionary Features for Dynamic Link Prediction in Social Networks
## 2 Dynamic Similarity Metrics
### Actor-Level Evolution in a Dynamic Network
#### 2.1.2 Neighbourhood Dynamicity  
In social network analysis, the neighbourhood is defined as the local regions around individual actors considering different path lengths [43]. The neighbourhood also includes all the links among all the actors having a direct connection with egos. Neighborhood-based analysis within SINs can disclose different aspects of networks, including interesting features (e.g., local leadership changes, spurious/irregular activities) and structures not available from the aggregated global network [44]. In this study, we considered the neighbourhood as an individual's immediate field of interaction (i.e., at a distance). Subsequently, the neighbourhood dynamicity of an actor is measured in a SIN at timestamp (\(t>1\)) as the ratio of an actor's total neighbor count in \(G_{t}\) in comparison to the total neighbor count in an aggregated network at timestamp \(t\). This ratio is further quantified with the neighbourhood gaining rate at timestamp \(t\) in regard to the total number of actors in \(G_{t}\). Thus, the neighbourhood dynamicity \(\lambda^{a}(t)\) of actor \(a\) at timestamp \(t\) is defined as:  
\[\lambda^{a}(t)=\frac{|N^{a}(G_{t})|}{|N^{a}(G_{1}\cup G_{2}\cup G_{3}\cup \ldots G_{t})|}\times\frac{1}{V_{t}-N^{a}(G_{t})} \tag{3}\]  
where \(N^{a}(G_{t})\) denotes the set of neighbors of actor \(a\) (i.e., the neighbourhood of \(a\)), \(G_{t}\) denotes a SIN \(G\), and \(V_{t}\) denotes the total number of actors in the SIN at timestamp \(t\). The denominator in the first part of the Equation (3) denotes the neighbourhood of actor \(a\) in an aggregated network comprised of all network snapshots before and at timestamp \(t\) (i.e., \(G_{1}\cup G_{2}\cup G_{3}\ldots\cup G_{t}\)). Similar to structural dynamicity, in the case of directed networks,this study considered both in-degree and out-degree neighbors together. From Equation (3), we can observe that an actor can have a maximum score of one as neighbourhood dynamicity if it forms an association with every other actor in SIN at timestamp \(t=1\), maintains its neighbourhood in all the subsequent SINs in the dynamic network, and simultaneously form an association with every new actor appearing in the subsequent SINs. On the other hand, if an actor does not participate in any SIN, its neighbourhood dynamicity score will be counted as zero. From this equation, it is apparent that associations with more new actors in SINs and maintaining the already gained neighbourhood in subsequent SINs will boost the actor's neighbourhood dynamicity score. It is noteworthy that, for the first SIN, the aggregated network in the denominator of Equation (3) consists of only one and the first network snapshot. Therefore, for the first SIN where an actor crops up, the first part of this equation before the multiplication sign assigns a value of one for that actor. For example, considering Figure 1, in the case of actor \(a_{1}\), the neighbourhood dynamicity at \(t=1\) is computed as \((\frac{1}{t}\times\frac{1}{6-1}=0.143)\). Similarly, for \(t=2\) and \(3\), the neighbourhood dynamicity values for \(a_{1}\) are \(0.133\) and \(0.095\). On the other hand, for \(a_{2}\), the time series of neighbourhood dynamicity is \([0.2,0.042,0.083]\). Conversely, considering actor \(a_{9}\), the temporal sequence of neighbourhood dynamicity is \([0,0.167,0.167]\), where this actor appears in \(G_{2}\) for the first time and, therefore, for \(G_{1}\), the dynamicity value is zero (0). As mentioned earlier, contrary to neighbourhood dynamicity, every actor is assigned a zero value for the structural dynamicity in the first SIN, irrespective of their appearance in that SIN.