用途:把社会网络分析方法纪律应用于关系数据,核心是“关系(tie)是分析单位”,重点不在跑中心性函数,而在选择与实质问题匹配的中心性指标、尊重网络依赖性(关系不是独立观测),并在需要解释关系形成而非仅描述时使用 ERGM 推断模型。计算部分交由 alterlab-networkx 完成。
主要能力:中心性选择——谁直接联系最多用 degree(nx.degree_centrality(G));谁桥接不同群体用 betweenness(nx.betweenness_centrality(G));谁能最快到达所有人用 closeness(nx.closeness_centrality(G));谁连接着连接良好者用 eigenvector 或 PageRank(nx.eigenvector_centrality(G) / nx.pagerank(G))。社区检测——nx.community.louvain_communities(G)、nx.community.greedy_modularity_communities(G)、nx.community.modularity(G, communities);Leiden 在 networkx ≥ 3.7 原生支持 nx.community.leiden_communities(G, metric="modularity", seed=...),大图可用 igraph 的 g.community_leiden(objective_function="modularity") 或 leidenalg。推断——解释关系形成(互惠、同质性、三元闭合)用 ERGM,Python 无成熟实现,标准做法是经 R 桥接使用 statnet/ergm,例如 library(ergm); model <- ergm(net ~ edges + mutual + nodematch("group") + gwesp(0.5, fixed = TRUE)); summary(model)。
使用方式:先明确网络是有向/加权、节点与边数及关系定义,再按问题命名所选中心性或社区算法并说明理由,输出结果需给出关键节点或划分及模块度,而非仅一个数字;推断部分需声明 ERGM 项与拟合或置换/QAP 检验,并区分描述性(结构)与推断性(关系形成)结论范围。
适用场景:计算网络中心性、识别关键参与者或中介、检测社区/聚类、拟合 ERGM 解释关系成因。
限制:通用图算法、绘图与 I/O 应走 alterlab-networkx;图神经网络或节点嵌入预测走 alterlab-torch-geometric;关系型设计是否合适走 alterlab-ssci-design-gate;普通表格统计走 alterlab-statistical-analysis。网络关系违反普通回归的独立性假设,不能把结果对中心性做回归后直接读标准误,应使用置换/QAP 检验或 ERGM/潜空间模型。networkx 与 igraph 默认 CPM 目标,在 resolution 1 时可能返回近单例划分,需显式传入模块度目标或设定 CPM resolution。不要虚构 Python ERGM API。更多算法选择、ERGM 术语表与依赖注意事项见 references/sna_methods.md。