返回资讯

StructInf:Mining Structural Influence from Social Streams

发布时间:2026年11月4日

Structure Influence

Definition1. Structural Influence. 

When the target user vj performs action a at tj and her γ-degree (γ ≥ 1) friends who already performed the action before tj (0 < tj − ti ≤ τ, ti is the latest time when a friend performed the action), we define structural influence as the combination effect of peer influences from active friends to the target user and the diffusion structure formed by these active friends and the target user. Table 1 lists all the structures when considering 1, 2, and 3 active friends (red nodes). We call the influence structure as a structural influence pattern Ck and an instance of Ck for any action is named a pattern instance cki .

Given the above definition, the key question we want to answer is how to efficiently discover the different structural influence patterns with high influence probability? In particular, influence probability can be defined as: 

 

 

where xk represents the number of instantiated pattern instances with target action lt being active in actual action logs L; yk rep- resents the number of instantiated pattern instances with lt being inactive in L; zk denotes the number of other instantiated pattern instances except Ck with lt being active in L; and wk is the number of other instantiated pattern instances except Ck with lt being inactive in L. Please note that when we count a pattern instance cki , we do not count its subgraphs that have the same number of nodes with it. For example, in Table 1, when counting an instance of C4, its subgraphs of types C2 and C3 are not counted. 

 

StructInf-Basic

Given a social network G=(V, E) and action logs  L={(v,a,t)}, StructInf-basic is to estimate the statistics of all the structural influence patterns, based on which we can calculate the influence probability of each pattern. 

Assume the social network is static, while the action logs are very large and arrive in real time. Our approach loads the static network into the memory at the beginning and update the statistics whenever an action log arrives. The key idea of the approach is to 1) identify active and inactive target actions; and 2) enumerate the structural influence patterns from the target actions backwards along the diffusion edges. 

The key contributions of the StructInf-Basic algorithm for estimating structural influence include: 1) the proposal of the streaming approach for estimating structural influence, which only need one-time scan of the streaming action logs; and 2) the proposal of the dynamic labeling mechanism to avoid duplicate enumeration.

StructInf-S: Fast Sampling Algorithms

  • The time complexity of StructInf-Basic is high  because it enumerates all possible influence patterns for each target action. To speedup the algorithm, we propose several sampling strategies. The basic requirement here is to guarantee unbiased estimation of xˆk, yˆk, zˆk and wˆk. 

  • StructInf-S1:
  • To achieve this, we change the algorithm StructInf-Basic as follows: Outsides Lines 9-10 and 20-21 in Algorithm 1, we add a judgment statement to determine whether target action lt will be enumerated or not by a probability p. In the same way, we judge whether a neighboring action l will be enumerated or not by p outsides Lines 8-10 in Algorithm 2.  

     

    StructInf-S2:

    Another idea is to first sample each diffusion edge uniformly to form a sampled action diffusion graph, and then enu- merate the influence patterns based on the sampled graph. To do this, we can make some changes to Algorithm 1. Outside Lines 7-8, we add a judgment statement to determine whether the diffu- sion edge ls → lt will be added into the action diffusion graph Gp by a probability q. Outside Lines 14-22 and 18-19, we determine whether lr → lt or ls → lt will be added into Gp by a probability q in the same way.  

     

    StructInf-S3: Combining the two sampling strategies.

    We propose the third sampling approach that combines the first and the second approaches. In particular, we not only sample diffusion edges when changing the action diffusion graph, but also randomly sample the action nodes when enumerating pattern instances on the sampled action diffusion graph.  

     

  •  

Experimental Results

Trade off between Error and Time. To quantitatively analyze and compare the performance of the sampling methods, we show how the accuracy and speed of the sampling methods vary by vary- ing the sampling probabilities on Weibo dataset. The experimental setting is as follows. 

  1. We tune the sampling probabilities. For StructInf-S1, we try the node enumeration probability p as all the possible values in the range {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0}; for StructInf-S2, we try the edge sampling probability q with the same values as p ; for StructInf-S3, we try all the possible combinations of p and q in the same above range.
  2. For each configuration of the parameters p and q, we calcu- late the average error of x􏰁k over all the influence patterns, and then average them over 10 independent sampling results.
  3. We use the number of iterations that Algorithm 2 invokes as the metric to measure how fast the approximate estimation will be. The more iterations we run, the more influence pat- terns will be sampled. 

Figure 4 plots all the (error, #iterations) pairs when varying the sampling probabilities p and q on the Weibo dataset. For each method, the sampling parameters change from 0.1 to 1.0 incre- mentally from the upper-left points to the lower-right points. As in StructInf-S3, there are two tunable parameters, the points cannot be connected by one single line. From the results, we can get the following observations:

  1. For all the sampling methods, the error curve almost follows an exponential distribution. For example, for StructInf-S1, the average error drops dramatically when p increases at the very beginning, and then changes slowly when p gets larger than 0.5.
  2. It seems that StructInf-S1 performs better than StructInf-S2 because its curve is below that of StructInf-S2, implying that it needs less iterations to achieve the same error. In particular, when the average error is relatively large, e.g., larger than 0.04, StructInf-S2 performs much slower than StructInf-S1.
  3. The resultant points of StructInf-S3 are more concentrated in the bottom-left corner than those of StructInf-S1 and StructInf-S2, suggesting that StructInf-S3 is less sensitive to the parameters. This probably because StructInf-S3 combines the power of StructInf-S1 and StructInf-S2, thus achieves a more stable performance. In addition, StructInf- S3 performs better than the other two methods when p and q have relatively large values, such as p = 0.6 and q = 0.9. 

Data & Code

Please find the code from here, and the used Weibo dataset from here