中心性指标
一、直观理解:谁在网络里“更重要”
中心性(centrality)用一个分数给每个顶点打分,刻画其结构位置上的重要性。但“重要”有多种含义,因此有一族指标:
| 指标 | 直观 |
|---|---|
| 度中心性 | 朋友多不多 |
| 接近中心性 | 到其他人是否整体更近 |
| 介数中心性 | 有多少最短路必须经过我(桥梁) |
| 特征向量/PageRank | 重要的邻居是否也指向我 |
选错指标 = 讲错故事:机场的“航线最多”与“中转必经”不是同一批机场。
二、适用场景与优缺点
| 类型 | 说明 |
|---|---|
| 适用场景 | 关键节点识别;传播源/免疫目标;交通枢纽;影响力初步排序。 |
| 核心优点 | 解释多样;计算有标准算法;可与删除实验(鲁棒性)结合验证。 |
| 局限与缺点 | 结构重要≠因果重要;介数计算较贵;不同指标排序可分歧;需处理有向/加权定义。 |
三、核心原理
记 。
1. 度中心性
2. 接近中心性
不连通时需用仅达分量或调和中心性 。
3. 介数中心性
为最短路条数, 为经过 的条数。Brandes 算法 量级。
4. 特征向量中心性
的主特征向量。重要邻居抬升自己。
PageRank 是带阻尼的有向版本(见专页)。
四、关键决策
1. 问题语义选指标
- 接触传播:度/特征向量;
- 控制中转:介数;
- 信息到达效率:接近。
2. 加权与有向
距离用阻抗;边权是相似度还是费用要分清(费用需转换)。
3. 验证
删除高中心性点后看连通性/路径长度变化,比只看排行榜更有说服力。
4. 相关性
多项中心性高度相关时,报告一种并附相关矩阵即可,避免堆砌。
五、MATLAB 示例
% 小图:两社团 + 桥
A = zeros(7);
% 社团1: 1-2-3-1
E = [1 2;2 3;3 1; 4 5;5 6;6 4; 3 7;7 4]; % 7 为桥点一侧连接
for e = 1:size(E,1)
A(E(e,1),E(e,2))=1; A(E(e,2),E(e,1))=1;
end
G = graph(A);
d = centrality(G, "degree");
c = centrality(G, "closeness");
b = centrality(G, "betweenness");
e = centrality(G, "eigenvector");
T = table((1:7)', d, c, b, e, ...
'VariableNames', {'node','degree','closeness','betweenness','eigenvector'});
disp(T);
figure;
p = plot(G, "MarkerSize", 8+20*b/max(b));
labelnode(p, 1:7, string(1:7));
title("节点大小 ∝ 介数中心性");
% 删除最高介数点后的连通性
[~, ib] = max(b);
G2 = rmnode(G, ib);
fprintf("删除节点 %d 后连通分量数=%d\n", ib, max(conncomp(G2)));
六、如何解释结果
- 网络与边含义;
- 选用的中心性及理由;
- Top-k 节点表;
- 与其它指标对照;
- 删除/免疫仿真;
- 明确结构度量边界。
七、常见误区
1. 只报度中心性当万能
桥点可能度不高。
2. 不连通图硬算接近中心性
出现 Inf/NaN。
3. 把中心性当因果影响力
需要传播模型或实验。
4. 加权方向错误
把“费用大”当“更重要连接”未转换。
八、小结
中心性指标的核心是:
从不同结构视角为节点的重要性排序。
用好它们的关键是“语义—指标匹配”,并用删除实验或传播仿真支撑解释,而不是只贴一张 Top-10 表。
补充说明(建模写作)
在数学建模论文中,除正文八段结构外,建议把下列材料放进附录或支撑材料,避免主文臃肿却又不失可复核性:
- 原始数据或模拟数据的生成设定:样本量、变量含义、单位、随机种子;
- 软件与函数清单:如
corr、coxphfit、centrality及关键参数; - 对照结果:与更简单基线(均值差、入度排序、不调整分析)并排;
- 失败诊断:不收敛、不连通、删失比例过高、重叠不足时的处理;
- 可复现脚本:保证评阅人按相同步骤得到同号结论。
这些补充不改变方法本身,但能显著提高结果的可信度与答辩时的解释效率。