Distance & Measures 距离与结构度量算子集
算子类别:Distance & Measures(距离与结构度量)
算法数量:24 个
适用阶段:网络体检、拓扑跨度评估、中心/边缘识别、全局紧凑性分析、图电阻与随机游走分析、传播/追踪成本评估、同配性分析、连接偏好分析、混合矩阵建模、结构偏好诊断
产品定位:为“网络跨度有多大 / 哪些节点处于中心或边缘 / 整体距离成本是多少 / 图是否紧凑 / 节点是否倾向同类相连 / 高度节点是否互相连接 / 不同属性之间如何混合连接 / 邻居度结构如何分布”提供距离与结构度量能力底座。
一、算子集概述
Distance & Measures 算子集聚焦于图的全局距离结构、中心-边缘位置、整体紧凑性、随机游走稳定性、图电阻特征、同配连接偏好与混合模式分析,主要回答以下问题:
-
距离与跨度结构
- 一个节点到最远节点有多远?
- 网络中最远两点之间的距离是多少?
- 网络的最优中心位置在哪里?
- 哪些节点处于结构边缘?
- 整个网络是否紧凑,整体距离成本是否较高?
-
中心与边缘识别
- 哪些节点最适合作为监控入口、服务中心或调度枢纽?
- 哪些节点最偏远、最难覆盖?
- 图的半径、直径和中心节点集合如何分布?
-
图电阻与随机游走度量
- 两个节点之间的电阻距离是多少?
- 整个图的有效电阻水平如何?
- 随机游走在图上的长期访问效率如何?
- 网络整体是否存在较高的扩散或通达成本?
-
同配性与连接偏好
- 高度节点是否更倾向连接高度节点?
- 同属性节点是否更倾向互相连接?
- 数值属性相近的节点是否更容易连接?
- 网络是同质连接、异质连接,还是无明显偏好?
-
混合矩阵与边端点关系
- 不同属性类别之间的连接频次如何?
- 不同度数节点之间如何连接?
- 每条边两端节点的属性值或度数如何配对?
- 是否可以将连接偏好转化为矩阵或字典结构,供后续建模使用?
二、算子能力分类
| 能力类型 | 对应算子 | 功能描述 |
|---|---|---|
| 节点最远距离 | eccentricity | 计算节点到最远可达节点的距离 |
| 图半径 | radius | 计算全图最小离心率 |
| 图直径 | diameter | 计算全图最大离心率 |
| 图中心 | center | 返回离心率最小的中心节点集合 |
| 图边缘 | periphery | 返回离心率等于直径的边缘节点集合 |
| 图重心 | barycenter | 返回最短路距离总和最小的节点集合 |
| 调和直径 | harmonic_diameter | 用调和平均思想衡量图的有效距离尺度 |
| 维纳指数 | wiener_index | 计算全对最短路距离总和 |
| 电阻距离 | resistance_distance | 计算节点对之间的电阻距离 |
| 有效图电阻 | effective_graph_resistance | 衡量整个图的有效电阻水平 |
| Kemeny 常数 | kemeny_constant | 衡量随机游走到稳态的平均通达特征 |
| 度同配系数 | degree_assortativity_coefficient | 衡量连接两端节点度数的相关性 |
| 度 Pearson 相关 | degree_pearson_correlation_coefficient | 以 Pearson 方式计算度相关性 |
| 属性同配系数 | attribute_assortativity_coefficient | 衡量相同类别属性节点是否更倾向互连 |
| 数值属性同配系数 | numeric_assortativity_coefficient | 衡量数值属性在边两端的相关性 |
| 平均邻居度 | average_neighbor_degree | 计算每个节点邻居的平均度 |
| 平均度连接性 | average_degree_connectivity | 计算不同度数节点的邻居平均度 |
| 属性混合矩阵 | attribute_mixing_matrix | 构造节点属性之间的连接混合矩阵 |
| 度混合矩阵 | degree_mixing_matrix | 构造节点度数之间的连接混合矩阵 |
| 属性混合字典 | attribute_mixing_dict | 以字典形式表示属性混合关系 |
| 度混合字典 | degree_mixing_dict | 以字典形式表示度数混合关系 |
| 通用混合字典 | mixing_dict | 根据边端点取值对生成混合字典 |
| 属性端点对生成 | node_attribute_xy | 生成边两端节点属性值对 |
| 度端点对生成 | node_degree_xy | 生成边两端节点度数值对 |
三、通用输入输出约定
-
输入
G:NetworkX Graph / DiGraph -
常见输入参数:
weight:边权字段名、函数或Nonee:预计算的 eccentricity 字典,可用于radius、diameter、center、peripherysp:预计算的最短路距离字典,可用于eccentricity、barycenter、harmonic_diameterusebounds:无向图上的边界加速开关attribute:节点属性名,适用于属性同配和属性混合类算法nodes:限定计算的节点子集x/y:有向图中源端、目标端使用的度类型,如in/outsource/target:邻居度相关算法中指定边方向或度类型normalized:混合矩阵或混合字典是否归一化
-
常见输出类型:
- 距离度量类:数值、节点列表或
dict[node → value] - 电阻/随机游走类:数值或节点对度量结果
- 同配性类:浮点数相关系数
- 邻居度类:
dict[node → average_degree]或dict[degree → average_neighbor_degree] - 混合关系类:矩阵、字典或边端点值对迭代器
- 距离度量类:数值、节点列表或
四、算子详细说明
1. eccentricity —— 离心率
功能说明 计算节点到图中所有可达节点的最短路距离中的最大值。离心率越大,说明该节点距离最远节点越远,位置越偏。
产品价值
- 衡量节点的最坏可达距离
- 支持识别偏远节点和覆盖难点
- 是计算半径、直径、中心、边缘等指标的基础
典型场景
- 网络覆盖分析
- 服务入口选址
- 追踪成本评估
- 偏远节点识别
- 拓扑体检
适用与特性
- 图类型:有向图 / 无向图
- 输出:
dict[node → eccentricity]或单节点数值 - 注意:非连通图需要按连通分量或可达范围解释
2. radius —— 图半径
功能说明 图半径是所有节点离心率中的最小值,表示从最优中心节点出发,到最远节点的最小可能距离。
产品价值
- 衡量网络最佳中心的最坏覆盖距离
- 适合判断网络是否紧凑
- 可用于中心选址和全局协调能力评估
典型场景
- 服务中心选址
- 监控入口部署
- 应急调度中心选择
- 组织协调成本分析
- 网络紧凑性评估
适用与特性
- 图类型:有向图 / 无向图
- 输出:数值
- 可复用
eccentricity结果加速计算
3. diameter —— 图直径
功能说明 图直径是所有节点离心率中的最大值,表示网络中最远两点之间的最短路距离。
产品价值
- 衡量网络最大跨度
- 支持评估传播、追踪或协作的最坏成本
- 可用于不同网络结构的横向对比
典型场景
- 社交网络跨度分析
- 交通网络最大绕行距离评估
- 供应链最大层级距离分析
- 通信网络延迟上界评估
- 网络结构体检
适用与特性
- 图类型:有向图 / 无向图
- 输出:数值
- 非连通图场景需谨慎解释
4. center —— 图中心
功能说明 返回离心率等于图半径的节点集合。这些节点到最远节点的距离最小,是图中的结构中心。
产品价值
- 识别最适合作为全局中心的节点
- 支持服务、监控、调度与协调入口选择
- 有助于理解网络的中心位置
典型场景
- 监控节点选择
- 服务设施布局
- 枢纽节点识别
- 应急响应中心选择
- 网络中心性解释
适用与特性
- 图类型:有向图 / 无向图
- 输出:中心节点列表
- 可能存在多个中心节点
5. periphery —— 图边缘
功能说明 返回离心率等于图直径的节点集合。这些节点通常处于网络结构边界,距离某些节点最远。
产品价值
- 识别网络中的覆盖盲区和偏远位置
- 支持边缘节点、孤立风险点和结构边界分析
- 可用于网络优化和补边建议
典型场景
- 偏远设备识别
- 边缘用户分析
- 交通末端节点分析
- 供应链末端风险识别
- 网络覆盖优化
适用与特性
- 图类型:有向图 / 无向图
- 输出:边缘节点列表
- 通常与
diameter、eccentricity联合使用
6. barycenter —— 图重心
功能说明
返回到所有其他节点最短路距离总和最小的节点集合。与 center 关注最坏距离不同,barycenter 更关注整体距离成本最小。
产品价值
- 支持选择平均通达成本最低的节点
- 适合服务中心、物流中心或协调中心选址
- 能补充
center只看最远距离的局限
典型场景
- 仓储/物流中心选址
- 组织协调中心分析
- 网络服务节点选择
- 平均访问成本优化
- 路网中心位置识别
适用与特性
- 图类型:通常用于连通图
- 输出:重心节点列表
- 可结合
weight使用加权最短路距离
7. harmonic_diameter —— 调和直径
功能说明 使用节点对距离的调和平均思想衡量图的有效距离尺度。相比普通直径,它对极端远距离或不可达问题更稳健。
产品价值
- 提供更稳健的全局距离尺度
- 适合非完全连通或存在局部断裂的网络
- 可用于对比网络整体可达效率
典型场景
- 大规模社交网络距离分析
- 非连通网络有效距离评估
- 网络演化前后紧凑性对比
- 传播效率评估
- 拓扑优化效果衡量
适用与特性
- 图类型:有向图 / 无向图
- 输出:数值
- 特点:比普通直径更关注整体有效距离,而不是单一最远点
8. wiener_index —— 维纳指数
功能说明 计算所有节点对之间最短路距离的总和,用于衡量整个网络的全局距离成本。
产品价值
- 衡量网络整体紧凑性
- 支持不同网络之间的结构对比
- 可用于传播、协作、运输等全局成本评估
典型场景
- 交通网络总路径成本分析
- 供应链协作成本评估
- 社交网络紧凑性比较
- 分子图结构分析
- 拓扑优化前后对比
适用与特性
- 图类型:有向图 / 无向图
- 输出:数值
- 可按无权或加权最短路计算
9. resistance_distance —— 电阻距离
功能说明 将图看作电路网络,计算两个节点之间的等效电阻距离。电阻距离不仅考虑最短路,也考虑多条并行路径带来的连接增强效果。
产品价值
- 衡量节点间的全局连接强度
- 能反映路径冗余对节点接近性的影响
- 适合比单一最短路更细致的结构距离分析
典型场景
- 鲁棒性分析
- 电网/通信网络结构分析
- 节点相似性度量
- 多路径冗余评估
- 图核方法特征构造
适用与特性
- 图类型:通常用于无向连通图
- 输出:节点对电阻距离
- 特点:距离越小,说明节点间整体连接越强
10. effective_graph_resistance —— 有效图电阻
功能说明 计算整个图的有效电阻水平,可视为全局尺度上的电阻距离汇总指标。
产品价值
- 衡量网络整体连通韧性
- 反映图中多路径冗余和结构紧密程度
- 可用于比较不同网络的鲁棒性
典型场景
- 电力网络韧性分析
- 通信网络鲁棒性评估
- 交通网络冗余分析
- 图结构优化对比
- 网络脆弱性分析
适用与特性
- 图类型:通常用于无向连通图
- 输出:数值
- 一般数值越低,表示整体连接越紧密、冗余越强
11. kemeny_constant —— Kemeny 常数
功能说明 计算图上随机游走相关的 Kemeny 常数,用于刻画随机游走从任意起点到达稳态分布的平均通达特征。
产品价值
- 衡量网络随机游走混合效率
- 支持分析扩散、访问和稳定状态收敛特征
- 可作为图整体可达性和稳定性的度量
典型场景
- 随机游走模型分析
- 网页访问模型
- 推荐系统游走召回
- 扩散过程稳定性分析
- Markov 链网络评估
适用与特性
- 图类型:通常用于连通图或合适的有向图
- 输出:数值
- 与随机游走、转移矩阵和稳态分析相关
12. degree_assortativity_coefficient —— 度同配系数
功能说明 衡量边两端节点的度数是否相关。
r > 0:高度节点倾向连接高度节点r < 0:高度节点倾向连接低度节点r ≈ 0:无明显度连接偏好
产品价值
- 判断网络是否存在核心抱团或核心-边缘结构
- 支持分析高度节点之间是否相互连接
- 可用于识别网络连接偏好
典型场景
- 社交网络同配性分析
- 核心-边缘结构诊断
- 高活跃账号连接偏好分析
- 生物网络连接模式分析
- 交易网络层级结构分析
适用与特性
- 图类型:有向图 / 无向图
- 输出:浮点数相关系数
- 有向图可指定源端和目标端使用 in-degree 或 out-degree
13. degree_pearson_correlation_coefficient —— 度 Pearson 相关系数
功能说明 使用 Pearson 相关方式计算边两端节点度数之间的相关性,是度同配性的一种计算形式。
产品价值
- 提供标准相关系数视角的度连接偏好
- 适合统计分析和结构对比
- 可与度同配系数互相验证
典型场景
- 度相关性分析
- 网络结构统计建模
- 高度节点连接偏好判断
- 核心-边缘结构识别
- 不同网络同配性对比
适用与特性
- 图类型:有向图 / 无向图
- 输出:浮点数
- 结果解释与度同配系数类似
14. attribute_assortativity_coefficient —— 属性同配系数
功能说明 衡量相同类别属性的节点是否更倾向于相互连接。
r > 0:同属性节点更倾向互连r < 0:不同属性节点更倾向互连r ≈ 0:属性对连接偏好影响较弱
产品价值
- 判断网络是否存在同质性连接
- 支持分析群体、部门、类型、风险等级之间的连接偏好
- 可用于社区结构、组织结构和风控结构诊断
典型场景
- 部门内/跨部门协作分析
- 风险等级同质连接分析
- 用户类型连接偏好分析
- 机构层级互联分析
- 社区同质性评估
适用与特性
- 图类型:有向图 / 无向图
- 必填参数:
attribute - 输出:浮点数相关系数
15. numeric_assortativity_coefficient —— 数值属性同配系数
功能说明 衡量边两端节点的数值属性是否相关。不同于类别属性同配,它适用于年龄、评分、风险分、活跃度等连续或离散数值属性。
产品价值
- 支持数值型节点属性的连接偏好分析
- 可判断数值相近节点是否更容易连接
- 适合做风险、等级、能力、活跃度等维度的结构分析
典型场景
- 风险分相近账号是否互连
- 年龄相近用户是否互相关注
- 活跃度相近节点是否抱团
- 企业规模相近节点是否交易
- 节点评分与连接偏好分析
适用与特性
- 图类型:有向图 / 无向图
- 必填参数:
attribute - 输出:浮点数相关系数
16. average_neighbor_degree —— 平均邻居度
功能说明 计算每个节点邻居的平均度,用于衡量一个节点连接到的邻居整体活跃程度或结构层级。
产品价值
- 判断节点是否连接到高活跃邻居
- 支持识别“挂靠核心”或“连接外围”的节点
- 可作为节点局部结构特征
典型场景
- 节点影响力辅助评估
- 社交网络邻居质量分析
- 欺诈网络外围节点识别
- 交易对象活跃度分析
- 网络层级结构建模
适用与特性
- 图类型:有向图 / 无向图
- 输出:
dict[node → average_neighbor_degree] - 可结合
source、target、weight使用
17. average_degree_connectivity —— 平均度连接性
功能说明 按节点度数分组,计算每一类度数节点的邻居平均度,用于观察不同度数节点倾向连接到什么度数的节点。
产品价值
- 支持分析度层级之间的连接模式
- 可用于判断网络是否同配或异配
- 适合绘制度连接性曲线
典型场景
- 高度节点是否连接高度节点分析
- 核心-边缘模式识别
- 网络分层结构分析
- 社交网络活跃度连接偏好
- 生物网络度相关模式分析
适用与特性
- 图类型:有向图 / 无向图
- 输出:
dict[degree → average_neighbor_degree] - 常与同配系数联合解释
18. attribute_mixing_matrix —— 属性混合矩阵
功能说明 构造节点属性之间的连接混合矩阵,矩阵元素表示某类属性节点与另一类属性节点之间的连接关系。
产品价值
- 将属性连接偏好转化为矩阵
- 支持定量分析不同类别之间的连接频次或比例
- 可作为属性同配性分析的基础结构
典型场景
- 部门间协作矩阵
- 风险等级连接矩阵
- 用户类型交互矩阵
- 行业间交易关系矩阵
- 社区间连接偏好分析
适用与特性
- 图类型:有向图 / 无向图
- 必填参数:
attribute - 输出:矩阵
- 可设置是否归一化
19. degree_mixing_matrix —— 度混合矩阵
功能说明 构造节点度数之间的连接混合矩阵,矩阵元素表示某一度数节点与另一度数节点之间的连接关系。
产品价值
- 显示不同度数层级之间的连接模式
- 支持度同配性和核心-边缘结构分析
- 可用于网络结构统计建模
典型场景
- 高度节点连接偏好分析
- 核心-外围连接模式分析
- 网络同配/异配可视化
- 度层级结构建模
- 拓扑结构对比
适用与特性
- 图类型:有向图 / 无向图
- 输出:矩阵
- 有向图可指定
x、y度类型
20. attribute_mixing_dict —— 属性混合字典
功能说明 以字典形式表示节点属性之间的连接混合关系。相比矩阵形式,它更适合稀疏属性类别或需要直接查看键值结构的场景。
产品价值
- 便于查看具体属性类别之间的连接频次
- 适合稀疏类别关系分析
- 可作为混合矩阵的轻量化表示
典型场景
- 类别连接频次统计
- 部门间连接关系查询
- 风险类型交互分析
- 多标签节点关系分析
- 属性偏好规则抽取
适用与特性
- 图类型:有向图 / 无向图
- 必填参数:
attribute - 输出:嵌套字典
- 可选择是否归一化
21. degree_mixing_dict —— 度混合字典
功能说明 以字典形式表示不同度数节点之间的连接关系,便于查看度数层级之间的配对频次。
产品价值
- 直接呈现度数之间的连接分布
- 支持同配性、异配性和层级连接分析
- 适合后续自定义统计或规则分析
典型场景
- 度层级连接统计
- 高度-低度连接关系分析
- 核心-边缘结构解释
- 网络生成模型参数分析
- 拓扑连接偏好建模
适用与特性
- 图类型:有向图 / 无向图
- 输出:嵌套字典
- 有向图可指定源端和目标端度类型
22. mixing_dict —— 通用混合字典
功能说明 根据输入的边端点取值对生成混合字典,是属性混合、度混合等关系统计的通用底层工具。
产品价值
- 支持自定义端点取值的混合关系统计
- 可用于扩展属性、度数之外的连接偏好分析
- 适合构建定制化结构统计指标
典型场景
- 自定义类别混合统计
- 边两端标签配对统计
- 连接偏好规则生成
- 图特征工程
- 关系模式建模
适用与特性
- 输入:端点取值对序列
- 输出:混合字典
- 可设置是否归一化
23. node_attribute_xy —— 节点属性端点对生成
功能说明 生成图中每条边两端节点的属性值对,常作为属性混合矩阵、属性混合字典或属性同配性计算的基础数据。
产品价值
- 提供边端点属性配对能力
- 支持自定义属性连接偏好分析
- 可作为下游统计建模的数据准备步骤
典型场景
- 部门-部门连接对生成
- 风险等级连接对生成
- 用户类型交互对统计
- 属性同配性自定义计算
- 混合矩阵构建前处理
适用与特性
- 图类型:有向图 / 无向图
- 必填参数:
attribute - 输出:
(x, y)属性值对迭代器
24. node_degree_xy —— 节点度数端点对生成
功能说明 生成图中每条边两端节点的度数值对,常作为度混合矩阵、度混合字典或度同配性计算的基础数据。
产品价值
- 提供边端点度数配对能力
- 支持自定义度相关分析
- 可用于构造度混合统计和同配性指标
典型场景
- 高度节点连接模式分析
- 度同配性自定义计算
- 度混合矩阵构建
- 核心-边缘结构分析
- 图统计特征工程
适用与特性
- 图类型:有向图 / 无向图
- 输出:
(degree_u, degree_v)迭代器 - 有向图可指定
x、y使用入度或出度
五、推荐使用指南
1. 距离与跨度分析
- 计算节点最远距离:
eccentricity - 计算网络最大跨度:
diameter - 计算最佳中心的最坏距离:
radius - 寻找结构中心节点:
center - 寻找结构边缘节点:
periphery - 衡量整体距离成本:
wiener_index - 使用更稳健的有效距离尺度:
harmonic_diameter
2. 中心位置与整体成本分析
- 寻找最小总距离节点:
barycenter - 寻找最小最坏距离节点:
center - 对比全局距离成本:
wiener_index - 评估平均意义上的通达效率:
harmonic_diameter
3. 图电阻与随机游走分析
- 计算节点对电阻距离:
resistance_distance - 衡量全图有效电阻:
effective_graph_resistance - 分析随机游走稳定通达特征:
kemeny_constant
4. 同配性与连接偏好分析
- 判断高度节点是否互连:
degree_assortativity_coefficient - 使用 Pearson 方式计算度相关:
degree_pearson_correlation_coefficient - 判断类别属性是否同质连接:
attribute_assortativity_coefficient - 判断数值属性是否相关连接:
numeric_assortativity_coefficient
5. 邻居度结构分析
- 查看每个节点连接到的邻居平均度:
average_neighbor_degree - 查看不同度数节点连接到的邻居平均度:
average_degree_connectivity
6. 混合矩阵与混合字典分析
- 构造属性混合矩阵:
attribute_mixing_matrix - 构造度混合矩阵:
degree_mixing_matrix - 构造属性混合字典:
attribute_mixing_dict - 构造度混合字典:
degree_mixing_dict - 自定义混合统计:
mixing_dict
7. 边端点对数据生成
- 生成边两端属性值对:
node_attribute_xy - 生成边两端度数值对:
node_degree_xy
六、可直接回答的典型问题
- “这个网络的最大跨度是多少?”
- “哪些节点处于网络中心?”
- “哪些节点最偏远、最难覆盖?”
- “从最优中心出发,最坏情况下要走多远?”
- “整个网络的距离成本是多少?”
- “哪个节点到所有节点的总距离最小?”
- “这个网络是否紧凑?”
- “两个节点之间的电阻距离是多少?”
- “这个图整体有效电阻高不高?”
- “随机游走在这个网络上的整体通达效率如何?”
- “高度节点是否更倾向连接高度节点?”
- “网络是否呈现核心-边缘结构?”
- “同部门、同类型、同风险等级节点是否更容易互连?”
- “数值属性相近的节点是否更容易连接?”
- “每个节点的邻居平均度是多少?”
- “不同度数节点倾向连接到什么度数的节点?”
- “不同属性类型之间的连接矩阵是什么?”
- “不同度数层级之间的连接矩阵是什么?”
- “边两端节点的属性值如何配对?”
- “边两端节点的度数如何配对?”
七、工程与使用注意事项
-
连通性要求
eccentricity、radius、diameter、center、periphery、barycenter、wiener_index等距离类指标在非连通图中需要谨慎解释。- 无向图:建议按连通分量分别计算,或先取最大连通分量
- 有向图:建议结合强连通分量或可达范围解释
-
加权距离语义
weight通常表示距离、成本、耗时或阻抗。 如果边权表示容量、相似度、强度等“越大越好”的含义,不应直接作为距离使用,需要先转换为正向距离成本。 -
同配性解释边界 同配性系数反映的是连接偏好,不直接等价于因果关系。
r > 0表示同类或相近节点更倾向连接,r < 0表示异类连接更强,r ≈ 0表示没有明显线性偏好。 -
混合矩阵与混合字典的使用
- 矩阵形式适合可视化和数值计算
- 字典形式适合稀疏类别、规则抽取和直接查询
- 是否归一化会影响解释口径:频数视角 vs 概率视角
-
性能建议
- 同时计算
eccentricity、radius、diameter、center、periphery时,建议先计算并复用eccentricity - 大图中全对最短路相关指标成本较高,应优先考虑采样、分量分析或近似方法
- 混合矩阵和同配性类指标通常比全局最短路类指标更轻量
- 同时计算
八、算子清单
| 序号 | 算子名称 | 中文说明 |
|---|---|---|
| 1 | eccentricity | 计算节点离心率 |
| 2 | radius | 计算图半径 |
| 3 | diameter | 计算图直径 |
| 4 | center | 获取图中心节点集合 |
| 5 | periphery | 获取图边缘节点集合 |
| 6 | barycenter | 获取图重心节点集合 |
| 7 | harmonic_diameter | 计算调和直径 |
| 8 | wiener_index | 计算维纳指数 |
| 9 | resistance_distance | 计算节点对电阻距离 |
| 10 | effective_graph_resistance | 计算有效图电阻 |
| 11 | kemeny_constant | 计算 Kemeny 常数 |
| 12 | degree_assortativity_coefficient | 计算度同配系数 |
| 13 | degree_pearson_correlation_coefficient | 计算度 Pearson 相关系数 |
| 14 | attribute_assortativity_coefficient关注团的规模,也关注团的总价值 |
- 适合寻找“完全兼容且价值最高”的节点组合
- 可用于强约束组合优化问题
典型场景
- 高价值核心小组识别
- 投资组合筛选
- 广告渠道组合选择
- 基因模块筛选
- 互相兼容的团队成员选择
适用与特性
- 图类型:无向图
- 关键参数:
weight - 输出:团节点列表及对应权重
- 注意:最大权重团属于 NP-hard 问题,大规模图需谨慎使用
5. make_max_clique_graph —— 最大团图构造
功能说明 将图中的极大团转换为一个新的图结构。在新图中,每个节点代表原图中的一个极大团,如果两个极大团存在共享节点,则在新图中连接它们。
产品价值
- 将“节点关系”转换为“团关系”
- 支持分析极大团之间的重叠与连接
- 有助于理解紧密群体之间的交叠结构
典型场景
- 社群重叠关系分析
- 团伙之间的交叉成员分析
- 兴趣圈层重叠分析
- 生物模块关系分析
- 紧密子群之间的结构建模
适用与特性
- 图类型:无向图
- 输出:以极大团为节点的 NetworkX Graph
- 特点:适合从“团级别”理解网络结构
6. make_clique_bipartite —— 团-节点二分图构造
功能说明 构造一个二分图,用于表示原图中节点与其所属团之间的关系。一侧是原图节点,另一侧是 clique 节点。
产品价值
- 显式表达“节点属于哪些团”
- 支持团归属、团重叠和成员覆盖分析
- 便于将团结构转化为可分析的二分网络
典型场景
- 用户-圈层归属分析
- 成员-团体关系建模
- 重叠社区分析
- 群组覆盖率统计
- 团结构可视化
适用与特性
- 图类型:无向图
- 输出:节点-团二分图
- 特点:适合做团归属关系建模和可视化
7. node_clique_number —— 节点最大团规模
功能说明 计算指定节点所属的最大 clique 的规模。直观理解为:某个节点能参与的最紧密小群体最大有多大。
产品价值
- 衡量节点参与紧密群体的能力
- 支持识别处于大规模完全互联小组中的节点
- 可作为节点局部凝聚力指标
典型场景
- 核心成员识别
- 用户小圈层影响力分析
- 团伙成员结构评估
- 协作网络紧密度分析
- 节点局部结构特征提取
适用与特性
- 图类型:无向图
- 输出:节点到最大团规模的映射,或指定节点的数值
- 特点:关注节点参与的最大完全连接结构
8. number_of_cliques —— 节点团数量统计
功能说明 统计节点参与的 clique 数量,用于衡量节点在多个紧密群体中的参与程度。
产品价值
- 识别跨多个紧密小圈子的节点
- 支持发现桥接型核心成员
- 可用于节点多圈层参与度分析
典型场景
- 多社群活跃用户识别
- 跨团队协作成员发现
- 欺诈网络多团伙交叉成员识别
- 学术合作圈参与度分析
- 用户圈层覆盖能力评估
适用与特性
- 图类型:无向图
- 输出:节点到 clique 数量的映射,或指定节点的数值
- 特点:关注节点参与团结构的频次
9. core_number —— 核心层级计算
功能说明 计算每个节点的 core number。一个节点的 core number 表示它能够参与的最大 k-core 的 k 值。
产品价值
- 识别节点处于网络核心还是边缘
- 支持核心-边缘结构分析
- 可作为网络稳定性、影响力和韧性分析的基础指标
典型场景
- 核心用户识别
- 核心设备识别
- 核心论文或核心作者识别
- 网络骨架分析
- 传播潜力评估
适用与特性
- 图类型:无向图 / 有向图
- 输出:
dict[node → core_index] - 复杂度:通常为
O(V + E)
10. k_core —— K-Core 子图提取
功能说明 提取指定 k 值下的 k-core 子图。k-core 是所有节点度数至少为 k 的最大诱导子图,通常通过递归剥离低度节点得到。
产品价值
- 提取网络中的稳定核心骨架
- 移除低连接、边缘、噪声节点
- 支持网络韧性和核心结构分析
典型场景
- 网络主干提取
- 社交核心圈识别
- 僵尸节点过滤
- 供应链稳定结构分析
- 知识网络核心主题识别
适用与特性
- 图类型:无向图 / 有向图
- 关键参数:
k - 输出:k-core 子图
- 复杂度:通常为
O(V + E)
11. k_shell —— K-Shell 壳层提取
功能说明 提取指定 k 值对应的 k-shell。k-shell 通常表示 core number 等于 k 的节点组成的层级结构。
产品价值
- 将网络按核心层级分层
- 区分不同核心深度的节点群体
- 支持核心-边缘分层展示
典型场景
- 用户层级分群
- 网络核心层次可视化
- 传播层级分析
- 组织网络层级划分
- 核心成员与准核心成员区分
适用与特性
- 图类型:无向图 / 有向图
- 关键参数:
k - 输出:k-shell 子图
- 特点:关注“正好处于某一核心层”的节点
12. k_crust —— K-Crust 外壳结构提取
功能说明 提取核心层级不高于指定 k 的外壳结构。它常用于观察网络中较外围、较低核心层级的部分。
产品价值
- 识别网络边缘结构
- 支持外围节点、弱连接节点和低稳定结构分析
- 与 k-core 搭配使用,可形成核心与外壳对比
典型场景
- 边缘用户分析
- 低活跃节点筛选
- 外围设备识别
- 网络去噪前的边缘结构观察
- 核心-边缘对比分析
适用与特性
- 图类型:无向图 / 有向图
- 关键参数:
k - 输出:k-crust 子图
- 特点:关注核心层级较低的外围结构
13. k_corona —— K-Corona 冠层结构提取
功能说明 提取 k-core 中度数恰好为 k 的节点组成的结构。它可以理解为某一核心层中处于临界支撑状态的节点集合。
产品价值
- 识别核心结构中的临界节点
- 支持分析核心结构的稳定边界
- 可用于判断核心层是否容易被破坏
典型场景
- 网络脆弱性分析
- 核心层边界节点识别
- 传播网络临界节点发现
- 组织结构稳定性分析
- 基础设施网络风险评估
适用与特性
- 图类型:无向图 / 有向图
- 关键参数:
k - 输出:k-corona 子图
- 特点:关注 k-core 内“刚好满足 k 度约束”的节点
14. k_truss —— K-Truss 三角支撑子图
功能说明
提取 k-truss 子图。k-truss 要求子图中的每条边至少被 k - 2 个三角形支撑,因此它比 k-core 更强调边的局部三角凝聚性。
产品价值
- 发现具有强三角闭合关系的稳定群体
- 比 core 更关注边的关系质量和局部支撑
- 适合识别高可信、高内聚的关系结构
典型场景
- 强社群发现
- 欺诈团伙识别
- 互信网络分析
- 协作网络稳定群体发现
- 高凝聚关系子图提取
适用与特性
- 图类型:通常用于无向图
- 关键参数:
k - 输出:k-truss 子图
- 特点:强调三角形支撑,适合高阶内聚结构分析
15. onion_layers —— 洋葱层分解
功能说明 在 k-core 剥离过程中进一步记录节点被剥离的层级,得到比 core number 更细粒度的洋葱层级。
产品价值
- 提供比核心数更精细的核心-边缘排序
- 支持观察节点从外到内的逐层剥离过程
- 适合做网络韧性、传播能力和层级结构分析
典型场景
- 网络层级精细排序
- 核心-边缘结构分析
- 节点重要性评估
- 网络鲁棒性分析
- 传播路径与影响力分层
适用与特性
- 图类型:通常用于无向图
- 输出:
dict[node → layer_index] - 特点:比 core number 粒度更细,能表达同一 core 内的剥离先后顺序
五、推荐使用指南
1. 团结构发现
- 枚举所有极大团:
find_cliques - 使用递归方式枚举极大团:
find_cliques_recursive - 枚举所有规模的团:
enumerate_all_cliques - 寻找权重最高的团:
max_weight_clique
2. 团归属与团关系分析
- 构造极大团之间的关系图:
make_max_clique_graph - 构造节点-团二分图:
make_clique_bipartite - 查询节点参与的最大团规模:
node_clique_number - 统计节点参与的团数量:
number_of_cliques
3. 核心结构分析
- 计算每个节点的核心层级:
core_number - 提取指定 k 的核心子图:
k_core - 提取指定核心层壳层:
k_shell - 提取外围外壳结构:
k_crust - 提取核心临界冠层:
k_corona
4. 高阶凝聚结构分析
- 提取三角支撑稳定子图:
k_truss - 进行细粒度核心剥离分层:
onion_layers
5. 场景化选型建议
- 想找“彼此全部相连”的小圈子:
find_cliques - 想找所有可能的完全连接子群:
enumerate_all_cliques - 想找总价值最高的完全互联组合:
max_weight_clique - 想看节点属于哪些紧密群体:
make_clique_bipartite - 想看不同极大团之间如何重叠:
make_max_clique_graph - 想判断节点参与的最大紧密群体规模:
node_clique_number - 想判断节点参与了多少个团:
number_of_cliques - 想识别网络核心成员:
core_number - 想提取网络主干结构:
k_core - 想按核心层分层观察节点:
k_shell - 想分析外围结构:
k_crust - 想找核心层中的临界节点:
k_corona - 想找三角关系支撑很强的稳定群体:
k_truss - 想获得更细粒度的核心-边缘排序:
onion_layers
六、可直接回答的典型问题
- “网络中有哪些完全互联的小圈子?”
- “所有极大团分别包含哪些节点?”
- “这个节点所在的最大团有多大?”
- “这个节点参与了多少个紧密小团体?”
- “哪些团之间存在成员重叠?”
- “能不能把节点和团的归属关系构造成二分图?”
- “在完全互相连接的前提下,哪组节点价值最高?”
- “谁是网络中最核心的成员?”
- “剥掉外围节点后,网络还剩下什么主干?”
- “哪些节点属于某一层 k-shell?”
- “哪些节点属于网络外围结构?”
- “核心结构中哪些节点处于临界支撑状态?”
- “哪些关系受到足够多三角形支撑?”
- “这个网络从外到内的洋葱层级是什么?”
- “这个节点是核心成员、准核心成员还是边缘节点?”
七、算子清单
| 序号 | 算子名称 | 中文说明 |
|---|---|---|
| 1 | find_cliques | 枚举所有极大团 |
| 2 | find_cliques_recursive | 递归枚举所有极大团 |
| 3 | enumerate_all_cliques | 枚举图中所有团 |
| 4 | max_weight_clique | 寻找最大权重团 |
| 5 | make_max_clique_graph | 构造极大团关系图 |
| 6 | make_clique_bipartite | 构造节点-团二分图 |
| 7 | node_clique_number | 计算节点所属最大团规模 |
| 8 | number_of_cliques | 统计节点参与的团数量 |
| 9 | core_number | 计算节点核心层级 |
| 10 | k_core | 提取 K-Core 核心子图 |
| 11 | k_shell | 提取 K-Shell 壳层结构 |
| 12 | k_crust | 提取 K-Crust 外壳结构 |
| 13 | k_corona | 提取 K-Corona 冠层结构 |
| 14 | k_truss | 提取 K-Truss 三角支撑子图 |
| 15 | onion_layers | 计算洋葱层分解结果 |