先画出关系图,再谈个体归因(Draw the graph before you blame the person)
2026-08-06 · 网络
同一封内部通知,在一家公司两天就人人都知道了,在另一家三周之后还有人说没听说。人差不多,通知一模一样。差别在于谁跟谁连着——而我们解释这件事的时候,几乎从来不看这张图。
接下来六期讲网络。这个词已经被用滥了,所以先把它降回一个很朴素的东西:一张"谁跟谁有关系"的图。只有点和线,没有别的。
反直觉的地方在于,这张看起来贫瘠得可笑的图,能吃掉很多本来要归给"人的素质""执行力""企业文化"的差别。你可以让两组人的能力、动机、规则完全一样,只改接线,然后眼看着一件事的结局翻转。接线是一个能单独测量、能和内容分开的变量。本期就干这一件事:把它测出来。
这一步是有历史的。1736 年欧拉解决哥尼斯堡七桥问题(Seven Bridges of Königsberg),证明那七座桥不可能一次不重复地走完——从此有了图论(graph theory),它问的是"存不存在这样一条路"这类是非题。而网络科学(network science)问的是另一类问题:一张有几万个点的真实的图,它的统计长什么样,跑在它上面的东西(消息、钱、病、故障)会怎么走。前者要答案,后者要分布。
先把词说定。图里的每个东西叫一个节点(node),比如一个人、一台服务器、一个物种;两个节点之间的关系叫一条边(edge)。一个节点连了几条边,这个数叫它的度(degree)。
现在做一个对照实验。两张图,都是 12 个节点、12 条边,因此平均每个节点连 2 条边——两边的平均度一模一样。区别只在接法:左边每个人只连左右两个邻居,围成一圈;右边有两个人各自连了一大片,这两片之间再搭一条。
然后跑同一条规则:从某个人出发,消息每一轮传给他所有的邻居,传三轮。
左边七个人知道,右边十二个人全知道。你手里那个最常用的数字——"平均每人认识几个人"——在这两张图上完全相等,因此对结果一点信息也不提供。
真正起作用的是度怎么散开的:左边所有人的度都是 2,右边有两个人的度是 6、大多数人的度是 1。这个"度的分布情况"叫度分布(degree distribution),它是网络最基本的指纹。当度分布是重尾的(少数节点极高、多数极低),平均值就会像上一期讲的那样变成一个陷阱 → 参考 · 幂律的识别与误判。
把结果归因到某个人之前,先花一小时把图画出来。不要凭印象画组织架构图——用留痕的数据:过去三个月谁给谁做过代码评审、谁在哪个工单里 @ 了谁、谁和谁同时出现在哪个会上。画完再看你原来那个解释还站不站得住。大多数时候会发现,你要怪的那个人正好站在图上唯一一个必经的位置上。
EN Two graphs, both 12 nodes and 12 edges, therefore identical average degree. Run the same three-round spreading rule: the ring reaches 7 people, the hub wiring reaches all 12. Average degree carries no information here; what does the work is the degree distribution.
要把"接线"说清楚,最少需要三个数,因为它们量的是三个不同的层次。
度量的是最局部的事:你自己连了几个人。最短路径长度(shortest path length)量的是最全局的事:从这个点走到那个点,最少几步。把所有点对的最短路径取个平均,就是这张图的平均最短路径长度——它大致等于"消息从任意一个人传到任意另一个人,通常要转几手"。
中间还差一层,而这层最容易被忽略:聚类系数(clustering coefficient)。它问的是——你的朋友之间,彼此认识吗?把你的邻居两两配对,数一数有多少对本来就是熟人,再除以总配对数,就是你的聚类系数。全是熟人是 1,互相都不认识是 0。
要紧的是最后那句:这三个量互相独立。一张图可以聚类很高而路径很长(每个村子内部人人相熟,村与村之间要走很远),也可以聚类很低而路径很短(一个大厅里所有人都只认识主持人,但任意两人转两手就到)。所以只报一个数就说"这个网络很紧密",等于什么都没说。
顺带一提,"高聚类 + 短路径同时出现"这件事本身很反常,也很常见,它有专门的名字,下一期专讲。
EN Three rulers at three levels: degree (how many you connect to), average shortest path length (how many hops the whole graph typically needs), and clustering coefficient (whether your neighbours know each other). They are mutually independent — high clustering implies nothing about path length, and vice versa. Quoting one number and calling a network "tight-knit" says nothing.
现在问一个所有人都想问的问题:这张图上谁最重要?
这个问题没有单一答案,而且不是因为它太难,是因为它问得不完整。衡量"重要"的量叫中心性(centrality),常用的有四种,各自对应一种完全不同的重要 → 参考 · 网络中心性指标:
度中心性(degree centrality)就是度本身——连的人最多。接近中心性(closeness centrality)看的是你到所有人的距离之和最小——你在"平均意义上离大家最近"的位置。介数中心性(betweenness centrality)数的是有多少对人之间的最短路径必须经过你——你是多少人的必经之路。特征向量中心性(eigenvector centrality)则是递归的:你重要,是因为连你的那些人重要——搜索引擎的 PageRank 就是它的一个变种。
下面这张图是社会网络分析里的标准算例(Krackhardt 的"风筝图"),十个人、十八条关系。三种中心性,选出来的是三个不同的人。
H 只有 3 条关系,度中心性排在中下游。但 I 和 J 通往其余所有人的路都必须过 H——把 H 拿掉,图就断成两块。最忙的人和最关键的人不是同一个人,而且经常离得很远。
那到底该用哪一个?答案取决于什么在流动、以及它怎么流。可以复制、可以同时往四面八方走的东西——一条消息、一个笑话、一种习惯——用度和特征向量中心性;不能复制、必须沿着一条路走完的东西——一笔钱、一批货、一个转诊的病人、一次面对面的引荐——用介数和接近中心性。选错了指标,你就会保护错人。
在算任何中心性之前,先用一句话写清楚:在这张图上流动的是什么,它能不能被复制。写不出这句话就别算——算出来的排行榜一定有人信,而一个没说清流的排行榜和星座运势的可靠性差不多。写得出来之后,指标是被这句话选定的,不是你挑的。
EN Four centralities — degree, closeness, betweenness, eigenvector — pick different people. On Krackhardt's kite, D has the most ties, F and G sit closest to everyone, and H, with only three ties, is the sole route between fourteen pairs. Which measure is right depends on what flows and whether it can be copied.
到这里为止,图还只是一堆点线。但真实的关系图几乎从不均匀:边会成块地密集,块与块之间只挂着几根线。这些块叫社群(community)。
难点在于,"看起来分成几块"是句主观的话。要把它变成可以算的东西,Newman 和 Girvan 在 2004 年提出了模块度(modularity,通常记作 Q)。它的定义只有一句话:按你这种切法,落在社群内部的边占了多大比例;再减去"如果保持每个点的度不变、把所有边随机重接一遍,本来该有多大比例"。
后面那半句是关键——它是一把尺子的零点。任何切法都会有一些边落在内部,光看比例会骗人;减掉随机情况下的期望之后,剩下的才是"这个结构确实比碰运气更成块"的部分。
这件事在真实数据上做过一个漂亮的检验。1970 年代,人类学家 Zachary 记录了一个大学空手道俱乐部 34 个成员之间的私下往来。后来俱乐部因为教练和会长闹翻,真的裂成了两半。Zachary 事后只用那张关系图去切,切出来的两半和实际站队只错了一个人。谁跟谁喝过酒这件事,比谁在会上说了什么更早地写好了结局。
社群结构也把第 3 期讲的近可分解性(near-decomposability)从一个哲学论断变成了一个能算的数:Simon 说复杂系统必然是"块内紧、块间松"的,模块度就是那个"必然"的刻度。
一句必要的警告:模块度不能当绝对分数用。Fortunato 和 Barthélemy 在 2007 年证明了它有分辨率极限(resolution limit)——最大化模块度的算法会系统性地看不见小于某个尺度的社群,而那个尺度随整张网的边数变大。也就是说,同一个小团体,在一张大图里会被算法揉进邻居里,在一张小图里却能被认出来。所以 Q 只能横向比较同一张图的不同切法,不能拿两张不同大小的图的 Q 来比。
EN Real graphs are lumpy: dense blocks joined by a few edges. Modularity Q measures the fraction of edges inside your proposed blocks minus the fraction expected from a degree-preserving random rewiring — the second term is the zero point. Zachary's 1977 karate club split in reality, and the structure alone predicted the sides with one error. But Q has a resolution limit (Fortunato & Barthélemy 2007), so it compares partitions of one graph, never two graphs of different size.
"先画关系图"是本期的主张。现在说它会在哪儿把你带沟里,而且这几条比前面四节加起来更重要。
第一,你画的那张图多半是错的。真实的边永远是抽样出来的:你只能看到留痕的互动,看不到走廊里那句话。而中心性对漏边极其敏感——尤其是介数中心性,因为它靠的是"唯一通道"这种性质,补上一条边,某个人的介数就可能塌掉一半。更麻烦的是"多熟才算一条边"这个门槛是你定的:门槛调一格,排行榜就换人。所以网络指标的小数点后两位没有意义,能用的只有量级和排序,而且排序还得做门槛扫描。
第二,也是最要命的:结构相关不等于结构导致。2007 年有一项被广泛报道的研究说肥胖会在社交网络里"传染"——你的朋友变胖,你变胖的概率显著上升。这个结论后来遭到了一个很难反驳的方法论批评:Shalizi 和 Thomas 在 2011 年证明,在观测性的社会网络数据里,"传染"和"同类相聚"(homophily,同质选择)一般是无法区分的。你看到相连的人彼此相似,可能是因为 A 影响了 B,也可能是因为 A 和 B 本来就像所以才成了朋友,还可能是他们住在同一片街区、面对同一家超市。三种机制留下的观测数据长得一模一样。
这条边界的实际后果很重:如果是传染,那么干预枢纽是对的;如果是同质选择,干预枢纽白花钱,该改的是让人聚成堆的那个筛选机制;如果是共同环境,那么改的既不是人也不是边,是环境。三种情况下的行动方案互相排斥,而漂亮的网络图对它们一视同仁。
第三,静态快照会系统性高估可达性。图上画着 A—B—C,你以为消息能从 A 到 C。但如果 A 和 B 的那次接触发生在 B 和 C 那次之后,这条路在时间上根本不存在。把带时间的互动压成一张静态图,你就把大量走不通的路算成了通路——传播模型因此普遍偏乐观。
第四,能画成图不等于该画成图。任何东西两两之间定义个关系都能得到一张网络,然后一堆指标就都能算了。但指标算得出来,不等于它测的是你以为的那件事。一个中心性数字要有意义,前提是这张图上真的有某种东西在沿着边流动;如果边只是"我觉得这俩有点关系",那么算出来的介数中心性只是把你的直觉重新排了个序,再用小数点给它镀了层金。
拿网络结论做决定之前,过三道关:① 边是怎么定义的、门槛变一变结论还在不在;② 你主张的是相关还是因果——如果是因果,说出你凭什么排除掉"他们本来就像"和"他们在同一个环境里";③ 有没有时间顺序,静态图算出的可达性是不是被高估了。三关过不了,就只把图当成一份地图看,别拿它当因果模型用。
EN Four limits. Observed graphs are sampled and threshold-dependent, and betweenness is especially fragile to missing edges. Homophily and contagion are generically confounded in observational network data (Shalizi & Thomas 2011), and the three causal stories imply opposite interventions. Static snapshots ignore edge timing and so overstate reachability. And anything can be drawn as a graph — the metrics only mean something if something actually flows along the edges.
因为真正起作用的那张图不是组织架构图,而是留痕之外的那张——谁信任谁、谁欠谁人情。行政命令能改的是前者,后者只能靠改变互动的机会成本慢慢移动。这也解释了为什么重组之后前三个月往往一切照旧:正式的图变了,实际跑消息的那张图还是老的。
两者是同一件事。他是效率的来源(信息不必绕路),也是单点故障,还占据着一个可以收租的位置——所有跨块的往来都得让他知道。所以"该不该给桥接加冗余"从来不是纯技术问题:加冗余会削弱某个具体的人的位置权力,这才是它推不动的真实原因。
能,而且一旦指标公开就一定会被操纵——这正是第 26 期要讲的古德哈特问题在网络上的版本。搜索引擎排名的历史就是完整的演示:PageRank 是特征向量中心性,公开之后立刻长出了链接农场。所以任何"用中心性做人事或资源分配"的方案,都得先想清楚被评估者能怎么便宜地加边。
不冲突,但要小心它变成另一种还原论。把一切归给结构,和把一切归给个人品质,犯的是同一个错误——都在声称一个层次能解释完。本期能站住的主张只有较弱的那一条:在做个体归因之前,结构这个变量应该先被扣掉,因为它便宜、可测、而且经常吃掉大半解释力。扣完之后剩下的部分,才轮到谈人。