带属性同节点集networkx有向图相似性指标构建及算法咨询
适配二部交易有向图的相似性指标方案
1. 结构类相似性指标
- 交易子结构Jaccard相似度
针对图固定的address→transaction→address结构,以每个交易节点为核心做匹配:对所有交易节点t,分别提取真实图中t的前驱地址集合S₁(t)、后继地址集合T₁(t),模拟图中t的前驱地址集合S₂(t)、后继地址集合T₂(t)
单个交易的结构匹配度 = (Jaccard(S₁(t), S₂(t)) + Jaccard(T₁(t), T₂(t))) / 2
全局交易结构相似度 = 所有交易节点匹配度的算术平均值 - 全边集合Jaccard相似度
直接统计两张图边的整体重合程度,计算方式:边相似度 = |E₁ ∩ E₂| / |E₁ ∪ E₂|
其中E₁为真实图的边集合,E₂为模拟图的边集合。
2. 属性类相似性指标(用到address节点的3个自带属性)
- 逐节点属性余弦相似度
先对所有地址节点的balance、in-degree、out-degree三个属性做min-max归一化,每个地址节点对应一个三维属性向量:对地址节点a,真实图中对应向量为v₁(a),模拟图中对应向量为v₂(a),计算两个向量的余弦相似度
全局节点属性相似度 = 所有地址节点余弦相似度的算术平均值 - 属性分布拟合相似度
针对三个属性分别统计两张图的属性值分布,用Kolmogorov-Smirnov检验得到分布差异值D,单属性相似度为1-D,三个属性的相似度均值即为全局分布拟合度。该指标更侧重整体属性分布的匹配程度,不需要逐节点对齐。
3. 综合相似性指标
可根据业务对结构、属性的重视程度,给上述指标分配权重加权求和得到最终得分,参考权重配置:综合相似度 = 0.4*交易结构相似度 + 0.2*全边Jaccard相似度 + 0.2*逐节点属性相似度 + 0.2*属性分布拟合相似度
内容的提问来源于stack exchange,提问作者Duccio Borchi
相关产品推荐
相关产品推荐

