跳到主要内容

度分布

一、直观理解:每个点有多少条边,整体怎么分布​

点的度 kik_i 是与 ii 相连的边数(有向图分出度、入度)。把全部点的度做成直方图或频率分布 P(k)P(k),就是度分布。

它回答:

  • 网络是“大家差不多”(均匀),还是“少数超级中心 + 大量末梢”(异质)?
  • 随机打乱边后,这种分布是否仍常见?

经典参照:

  • Erdős–Rényi 随机图:度近似泊松,集中在均值附近;
  • 无标度网络:P(k)∼k−γP(k)\sim k^{-\gamma},重尾,存在枢纽(hub)。

度分布是复杂网络的“体检第一项”,后续中心性、传播、鲁棒性解释常从它出发。

二、适用场景与优缺点​

类型说明
适用场景社交、交通、引用、电力、生物网络的结构描述;对比模型(ER/WS/BA);识别枢纽节点。
核心优点计算简单;图示直观;与传播阈值、随机攻击/蓄意攻击鲁棒性密切相关。
局限与缺点只含一度信息,忽略高阶结构;重尾拟合对 binning 敏感;度高≠信息控制力一定最强(还看位置)。

三、核心原理​

无向图:

ki=∑jAij,P(k)=1n#{i:ki=k}k_i=\sum_j A_{ij},\quad P(k)=\frac{1}{n}\#\{i:k_i=k\}

平均度 ⟨k⟩=2m/n\langle k\rangle=2m/n(无向)。

有向图分别统计 P(kin),P(kout)P(k^{\mathrm{in}}),P(k^{\mathrm{out}})。

重尾检验(谨慎):

  • log–log 直方图或互补累积分布 CCDF;
  • 幂律拟合应用严谨统计(如 Clauset 方法),避免“看起来直就是幂律”。

模型对照:

  • ER:G(n,p)G(n,p),⟨k⟩=p(n−1)\langle k\rangle=p(n-1);
  • BA 优先连接:生成近似幂律。

四、关键决策​

1. 用 PDF 还是 CCDF​

重尾用 CCDF 更稳。

2. 是否加权/多重边​

加权看强度 si=∑jwijs_i=\sum_j w_{ij};简单图先去重。

3. 与同配性​

度度相关:高度点是否互相连接,影响模块与传播。

4. 报告​

直方图 + 均值/方差/最大度 + 与 ER 对照。

五、MATLAB 示例​

rng(28);
% 构造一个优先连接风格的网络(简化 BA)
n = 200; m0 = 3; m = 2;
A = zeros(n);
% 初始完全图 m0
A(1:m0,1:m0)=1; A(1:m0+1:m0^2)=0;
for v = m0+1:n
deg = sum(A(1:v-1,1:v-1),2);
if sum(deg)==0, pr = ones(v-1,1)/(v-1);
else, pr = deg/sum(deg); end
% 抽 m 个邻居
targets = zeros(m,1);
for t = 1:m
r = rand; c = cumsum(pr);
targets(t) = find(r<=c,1,"first");
pr(targets(t)) = 0; pr = pr/max(sum(pr),eps);
end
A(v,targets)=1; A(targets,v)=1;
end
G = graph(A);
d = degree(G);

figure;
subplot(1,2,1);
histogram(d, "BinMethod","integers", "Normalization","probability");
xlabel("k"); ylabel("P(k)"); title("度分布");
subplot(1,2,2);
[kk,~,ic] = unique(d);
cnt = accumarray(ic,1)/n;
ccdf = 1 - cumsum(cnt)/sum(cnt) + cnt/sum(cnt);
loglog(kk, ccdf, "o"); grid on;
xlabel("k"); ylabel("CCDF"); title("度 CCDF");

fprintf("n=%d, m=%d, <k>=%.2f, kmax=%d\n", n, numedges(G), mean(d), max(d));

% ER 对照
p = mean(d)/(n-1);
GER = random_graph_er(n, p);
dER = degree(GER);
fprintf("ER 对照 <k>=%.2f, kmax=%d\n", mean(dER), max(dER));

function G = random_graph_er(n, p)
R = triu(rand(n) < p, 1);
A = R + R';
G = graph(A);
end

六、如何解释结果​

  1. 网络含义与是否有向/加权;
  2. 平均度、密度、最大度点是谁;
  3. 分布形态(均匀/泊松样/重尾);
  4. 与随机图对照;
  5. 对传播或鲁棒性的含义;
  6. 避免过度宣称“无标度”除非做了严谨拟合。

七、常见误区​

1. 对数坐标“看起来直”就断定幂律​

需要统计检验。

2. 把度分布当网络的全部​

聚类、社区、路径长度同样关键。

3. 有向图只报一个度​

应分入/出度。

4. 含自环重边未清洗​

度量被污染。

八、小结​

度分布的核心是:

统计节点连接数的整体规律,识别均匀或异质结构。

它是复杂网络描述的起点。与 CCDF、随机对照和业务含义结合,才能从“一张直方图”变成有建模价值的结构结论。