
【C0009】社会网络分析(SNA)
经济学
会计金融
管理科学
图情学
法学
新闻传播
文史哲
计量经济学与因果推断
社会网络分析
Python
项目概述
本项目是一个基于 Python 的社会网络分析与知识图谱构建工具,通过分析城市间高铁连接数据,展示网络分析的核心概念和实际应用。项目使用 NetworkX 库实现复杂的网络指标计算和可视化,帮助用户理解网络结构特征。
核心思路
项目以中国城市高铁网络为案例,将每个城市抽象为网络节点,城市间的高铁连接作为边,构建无向加权网络。通过计算多种网络中心性指标(度中心性、接近中心性、中介中心性、特征向量中心性)和结构洞指标,量化分析各城市在网络中的战略地位和影响力。同时实现 PageRank 和 TextRank 算法,对比有权和无权网络中的节点重要性排序。
使用流程
1. 数据准备
将“中国城市间高铁开通情况(2004-2023).csv”数据文件放置在项目根目录下的 data/ 文件夹中。数据应包含年份、城市1、城市2、高铁连接状态等字段。
2. 环境配置
确保安装 networkx、pandas、matplotlib 等必要 Python 库。
3. 网络构建
运行代码自动读取数据,筛选指定年份的高铁连接,构建城市网络图。网络会自动划分为连通子图,并聚焦分析最大连通分量。
4. 指标计算
代码自动计算结构洞约束指标、四种中心性指标、最短路径、离心度等网络特征,并支持自我中心网络分析。
5. 可视化展示
提供多种网络布局算法(力导布局、Kamada-Kawai、环形布局等)的可视化对比,生成网络结构图和分析结果图表。
6. 结果输出
生成包含各城市网络指标的数据表格,便于后续分析和研究使用。
技术特色
项目特别注重理论与实践的结合,不仅提供完整的网络分析流程,还包含详细的数学公式解释和指标含义说明,使使用者既能直接应用代码,又能深入理解背后的网络科学原理。通过高铁网络这一具体案例,生动展示社会网络分析在城市规划、交通优化等领域的实际应用价值。