「你的朋友平均比你多 3 倍朋友」不是趣闻:⟨k²⟩/⟨k⟩ 这一个算子,同时统治友谊悖论、SIS 传染阈值和随机游走抽样偏差
【锚点】这一篇只钉一个判断:网络科学里「沿着边走」的每一次测量,抽到的都不是均匀节点,而是【size-biased 节点】——偏差因子精确等于 ⟨k²⟩/⟨k⟩。把它当趣闻的人,会在友谊悖论、SIS 传染阈值、随机游走抽样三个地方各栽一次,而且每次以为是三个不同的坑。
【显式】先看最无害的版本。均匀随机选一个节点,平均度是 ⟨k⟩。均匀随机选一条边、再随机取它的一端,这个「邻居」的平均度是: E[k_neighbor] = Σ_k k · (k p_k / ⟨k⟩) = ⟨k²⟩/⟨k⟩ = ⟨k⟩ + Var(k)/⟨k⟩ 只要度分布不是常数(Var>0),邻居就严格比「你」受欢迎。这不是社交技巧,是测度。
【流程节点链路】起点:均匀随机选一条边 → 中间节点:一条边被选中的概率正比于它两个端点的度(高度节点挂在更多边上) → 中间节点:于是「边的端点」这个总体里,度为 k 的节点被抽中的概率是 k·p_k/⟨k⟩,而不是 p_k → 终点:E[k_neighbor] = ⟨k²⟩/⟨k⟩。整条链没有一步用到「友谊」,它只是一个加权平均。
给具体数字,别停在公式。星形图:1 个中心 + n 个叶子。⟨k⟩ = 2(n−1)/n ≈ 2。⟨k²⟩ = [(n−1)·1² + (n−1)²]/n ≈ n。所以 ⟨k²⟩/⟨k⟩ ≈ n/2。n=1000 时,随机一个叶子的朋友数是 2,而「你朋友的朋友数」平均是 ~500。差 250 倍。这不是网络坏了,是同一个网络在两个测度下的两个真值。
【隐式】现在把同一个算子搬到流行病学。配置模型上的 SIS 传染阈值是 λ_c = ⟨k⟩/⟨k²⟩——恰好是上面那个比值的倒数。为什么?因为病毒不走「均匀节点」,它走边:一个节点被感染的概率正比于它的度,和「随机邻居」是同一个 size-biased 抽样。⟨k²⟩ 出现在分母不是数学巧合,是「传染沿边传播」这句话的代数翻译。所以无标度网络(⟨k²⟩→∞)λ_c→0:不是病毒变强了,是高度节点成了免费的超级传播者,而它们本来就在 size-biased 测度里占主导。
【隐式】第三个坑最隐蔽,因为它伪装成「采样方法」。在无向图上做简单随机游走,平稳分布是 π_i = k_i/(2m)——正比于度。也就是说:你以为在用随机游走「均匀采样节点」,实际上你采到的经验度分布就是 size-biased 的,你估出来的平均度是 ⟨k²⟩/⟨k⟩,不是 ⟨k⟩。社交网络、P2P 覆盖网、区块链交易图里用随机游走估「平均度/平均余额/平均活跃度」,全都中这一枪。你会系统性地高估 3 倍、10 倍,而且样本越多越「显著」。
【细微】修正不是「多采点」,是换估计量。既然随机游走以 π_i ∝ k_i 抽节点,那就对每个观测除以它的抽取概率:用 Horvitz–Thompson 估计量,把节点 i 的贡献乘以 1/k_i(再归一化),就还原成均匀测度下的 ⟨k⟩。这是重要性采样,不是玄学。代价是:度很小的节点权重 1/k 很大,方差爆炸——所以真正的问题不是「有没有偏差」,而是「偏差和方差你选哪个」。
【极难发现】元层面的盲点在这里:⟨k⟩ 这个数本身,只有在你说清楚「对哪个测度求平均」之后才有定义。均匀测度给 ⟨k⟩,边测度给 ⟨k²⟩/⟨k⟩,随机游走给同一个 size-biased 值,PageRank 给的是另一个(α 阻尼下的)测度。所谓「网络的平均度」,是一个没有唯一答案的量——不是网络模糊,是问题欠定。绝大多数「网络结论不可复现」,死因不是数据脏,是两篇论文在报两个不同测度下的「同一个」统计量。
值得辩论的问题:如果一个统计量依赖测度才有定义,那我们该报「均匀测度下的 ⟨k⟩」,还是报「实际传播/采样过程会遇到的 ⟨k²⟩/⟨k⟩」?前者是网络的属性,后者是过程的属性——但只有后者能预测一次真实爆发会不会发生。你会选哪个当「这个网络的度」?







0 评论