红楼梦航空航线数据分析

发布于:2022-11-09 ⋅ 阅读:(14) ⋅ 点赞:(0) ⋅ 评论:(0)





**作业名称 自选网络分析 **
**学生姓名 曾培圣 **
**学 号 2019210025 **
**专业班级 19级交通工程2班 **
**指导教师 王世广 **
**院系名称 **

2021年 12月 21日
第一部分:全国航空航线网络分析
一 gephi 3
1.1 在excel中处理数据 3
1.2 在gephi中导入数据 4
1.2.1 先将点表格和边表格导出为csv文件。 4
1.2.2 在gephi中导入数据表格,选择合适的解码方式。 5
1.3 在gephi中执行可视化 5
1.3.1 在gephi中先选择使用map of countries 选择china生成中国背景。 5
1.3.2 再选择使用geo layout,使坐标匹配。 5
1.3.3 再通过调整颜色,大小进行可视化。 5
1.3.4 在预览窗口调整一些细节,如边框宽度为0,线条弯曲等。 6
1.4 在gephi中导出矢量文件 7
1.5 在gephi中对指标进行统计 7
二 ai 9
2.1 导入矢量文件 9
2.2 进行适当修改 9
2.2.1 导入中国边界矢量文件。 9
2.2.2 将区域颜色,调整填充颜色和透明度等。 10
2.3 导出为PS文件 10
三 ps 11
3.1 导入PS文件 11
3.2 进行美观,美化 11
3.2.1 可以将图层分别合并成点图层和边图层等,方便统一处理。 11
3.2.2 通过高斯模糊和滤色叠加等操作可以使图片效果更加明显。 11
四 excel 12
4.1 各航空公司延误统计 12
4.1.1 各航空公司延误次数统计 12
4.1.2 各航空公司平均延误时长统计 13
4.2 各航空公司起点统计 13
4.3 城市作为航线出发点统计分析 14
第二部分:红楼梦人物分析
一 导入数据 18
1.1 分别导入,节点和边数据。 18
1.2 对节点进行过滤。 19
二 进行布局 19
2.1 外观设置 19
2.2 布局设置 22
三 统计分析 24
3.1 模块化 24
3.2 PageRank 24
3.3 改变显示方式 24
** **
全国航空航线网络分析

1 gephi

1.1 在excel中处理数据

对初始航班数据删除重复项,提取城市,以及坐标,处理成gephi可以处理的点表格和边表格格式。

图 1原始航班数据

图 2点表格

图 3边表格

1.2 在gephi中导入数据

1.2.1 先将点表格和边表格导出为csv文件。

1.2.2 在gephi中导入数据表格,选择合适的解码方式。


图 4选择GBK格式

图 5gephi中数据表格

1.3 在gephi中执行可视化

1.3.1 在gephi中先选择使用map of countries 选择china生成中国背景。


图 6使用Map of Countries

1.3.2 再选择使用geo layout,使坐标匹配。


图 7使用Geo Layout

1.3.3 再通过调整颜色,大小进行可视化。


图 8节点的颜色

图 9边的颜色

图 10gephi可视化图

1.3.4 在预览窗口调整一些细节,如边框宽度为0,线条弯曲等。


图 11参数设置

图 12预览图

1.4 在gephi中导出矢量文件

在预览窗口将可视化结果输出为svg文件。

图 13输出Svg文件

1.5 在gephi中对指标进行统计

表 1案例与航空航线指标对比

属性 平均度 平均加权度 网络直径 图密度 模块化 连接部件 平均聚类系数 平均路径长度
案例 6.597 21.299 5 0.087 0.545 1 0.736 2.641
航线网 2.853 5.895 142 0.005 0.632 65 0.055 55.571


图 14Gephi中的案例

图 15航空航线网络
图 16指标对比1
图 17指标对比2
图 18指标对比3
可以从图中看出,网络直径和平均路径长度都急剧上升,而案例是符合小世界网络特性的,所以该网络里小世界特性,还有许多的距离。其中平均聚类系数也是急剧下降。网络的平均度也比案例的要降低许多,说明节点之间连接并不是很充分。

2 ai

2.1 导入矢量文件

打开生成的svg文件。

图 19导入AI

2.2 进行适当修改

2.2.1 导入中国边界矢量文件。


图 20中国边界图

2.2.2 将区域颜色,调整填充颜色和透明度等。


图 21AI中效果图

2.3 导出为PS文件

将已经修改好的图片导出为psd文件。

图 22导出为psd文件

3 ps

3.1 导入PS文件

在ps中打开psd文件。

3.2 进行美观,美化

3.2.1 可以将图层分别合并成点图层和边图层等,方便统一处理。

3.2.2 通过高斯模糊和滤色叠加等操作可以使图片效果更加明显。


图 23ps效果图

4 excel

4.1 各航空公司延误统计

4.1.1 各航空公司延误次数统计

通过在excel中利用数据透视表,统计和分析各航空公司的延误次数情况。

图 24各航空公司延误次数

图 25各航空公司延误次数柱形图

4.1.2 各航空公司平均延误时长统计


图 26各航空公司平均延误时长统计

4.2 各航空公司起点统计


图 27各航空公司起飞地次数统计

4.3 城市作为航线出发点统计分析

  1. 使用excel对数据进行清洗,并使用数据透视表功能,构建出行OD矩阵。


图 28航空航线出行OD矩阵(部分)

  1. 再对起点进行统计。

表 2起点统计

阿克苏 5 丹东 1 赤峰 1 哈密 1 乌鲁木齐 1
阿勒泰 1 东营 2 达州 1 海口 4 武汉 1
安庆 6 敦煌 3 大理 5 邯郸 1 西安 3
百色 5 鄂尔多斯 4 大连 17 杭州 4 郑州 2
包头 12 恩施 4 大庆 4 合肥 3 重庆 19
保山 4 福州 12 大同 1 和田 1 珠海 1
北海 14 赣州 2 连云港 1 呼和浩特 3 青岛 3
北京 74 格尔木 2 泸州 1 黄山 2 三亚 1
常德 3 广州 21 芒市 1 鸡西 2 上海 1
常州 4 贵阳 11 绵阳 2 济南 2 丽江 2
朝阳 1 桂林 6 牡丹江 1 济宁 1 西昌 1
成都 38 哈尔滨 9 南昌 1 佳木斯 1 西宁 1
深圳 3 盐城 1 南充 1 嘉峪关 2 铜仁 1
沈阳 3 伊宁 1 南京 1 景德镇 2 温州 1
石家庄 1 银川 2 南宁 3 喀什 1 长沙 31
天津 1 张家界 1 南通 2 克拉玛依 1 长治 4
天水 1 长春 23 南阳 1 昆明 4 拉萨 3
齐齐哈尔 2 兰州 5 宁波 1

图 29起点统计
由图可以看出,以北京,成都,长沙,大连,广州,长春城市为起点的航空航线,次数远比其他航线要多,也间接地说明了,这些城市作为节点地重要性。

  1. 对终点进行统计。

表 3终点统计

阿里 鞍山 北京 毕节 昌都 常州 朝阳 成都 池州 赤峰 达州 大理
1 2 6 4 1 2 1 6 2 1 1 2
西双版纳 夏河 香格里拉 襄阳(中国) 兴义 徐州 烟台 延安 延吉 盐城 扬州 伊春
3 2 1 3 1 4 2 1 1 2 2 1
梅县 绵阳 牡丹江 南昌 南充 南京 南宁 南通 宁波 攀枝花 普洱 齐齐哈尔
1 2 2 3 2 3 6 4 5 1 1 1
呼和浩特 淮安 黄山 惠州 鸡西 济南 济宁 佳木斯 嘉峪关 揭阳 锦州 景德镇
7 2 4 3 1 6 1 2 2 7 1 3
广州 贵阳 桂林 哈尔滨 哈密 海口 海拉尔 邯郸 汉中 杭州 合肥 和田
11 5 3 6 1 8 2 2 1 9 2 1
长沙 长治 昭通 郑州 芷江 中卫 重庆 舟山 珠海 遵义 大连 伊宁
3 1 1 8 1 1 7 1 5 5 4 1
铜仁 威海 潍坊 温州 乌海 乌鲁木齐 无锡 梧州 武汉 西安 西昌 西宁
4 4 3 3 4 12 4 1 5 9 3 6
柳州 泸州 洛阳 吕梁 满洲里 芒市 丹东 稻城 东营 敦煌 鄂尔多斯 大庆
3 2 4 1 1 2 1 1 2 1 2 3
恩施 二连浩特 佛山 福州 阜阳 广元 宜春 义乌 银川 永州 榆林 宜昌
1 1 1 5 1 1 2 4 4 1 4 3
玉树 运城 湛江 张家界 张掖 长白山 厦门 上海 深圳 沈阳 石家庄 三亚
1 2 1 3 1 2 9 13 13 5 3 7
台州 太原 唐山 腾冲 天津 通辽 克拉玛依 库尔勒 昆明 拉萨 兰州 凯里
3 3 1 4 3 1 2 1 11 2 6 1
丽江 荔波 连城 连云港 林芝 临沂 青岛 喀什 衡阳
4 1 1 4 1 1 8 1 5

从图中可以看出,作为航线终点次数较多的城市有成都,南宁,杭州,广州,乌鲁木齐,上海,深圳,昆明,青岛等。它们也是中国城市里,发展规模较大的城市。

图 30终点统计

红楼梦人物网络

5 导入数据

5.1 分别导入,节点和边数据。


图 31点数据

图 32边数据

图 33导入后图

5.2 对节点进行过滤。

例如过滤category,去掉location、event,只留下person。为之后分析人物关系打下基础,而且过滤后页面也简洁许多。

图 34过滤后图

6 进行布局

6.1 外观设置

  1. 显示节点标签,并设置微软雅黑,设置合适的文字大小。


图 35显示节点标签

  1. 进行模块化计算,为后续使用Modularity Class进行分类显示打下基础。


图 36模块化计算

  1. 设置节点颜色,使用Modularity Class。


图 37节点颜色-Modularity Class

  1. 设置标签颜色,使用Modularity Class。


图 38标签颜色-Modularity Class

  1. 设置节点大小,使用节点度进行分级。


图 39节点大小-度

  1. 设置标签大小,使用度进行分级,多次进行尝试,选择好看的界面。


图 40标签大小-度
通过度对节点大小和标签大小进行分级显示,已经可以看出网络的一部分端倪,比如贾宝玉为书中主人公,所以贾宝玉在网络逐渐处理中也越来越显眼,说明该人物在书中的关键位置,以及他是与其他人进行关联和发生事情的关键点。
同时,在与贾宝玉连接的人物中,也是较为重要的人物,如林黛玉,薛宝钗,贾珍,袭人,麝月等。通过最简单的节点,颜色的显示以及可以看出书中一定的人物关系情况。

6.2 布局设置

Force Atlas:
基于力导向 (Force-directed) 的算法作为弹簧理论算法的一类典型,被广泛应用于描述社交网络等关系型信息图。它的原理其实非常易懂,我们可以把整张网络想象成一个虚拟的物理系统。系统 中的每个节点都可以看成是一个带有一定能量的放电粒子,粒子与粒子之间存在某种库仑斥力,使它们两两相互排斥。同时,有些粒子间被一些“边”所牵连,这些 边产生类似弹簧的胡克引力,又紧紧牵制着“边”两端的粒子。在粒子间斥力和引力的不断作用下,粒子们从随机无序的初态不断发生位移,逐渐趋于平衡有序的终 态。同时整个物理系统的能量也在不断消耗,经过数次迭代后,粒子之间几乎不再发生相对位移,整个系统达到一种稳定平衡的状态,即能量趋于零。此刻,最终的 这幅理想的社交网络图也基本绘制完成。
基本上绝大多数算法都遵循着这样的原则,即:
1将网络看成一个顶点为钢环,边为弹簧的物理系统
2不断迭代,使整个系统的总能量达到最小

  1. 选择Force Altas进行布局。


图 41Force Altas布局

  1. 对网络进行过滤。目的:取一些小点的度和大点的度,过滤掉中间的度。

步骤:将拓扑—度范围,拉入到查询里面,然后进行度范围设置,最终进行选择。

图 42过滤度小节点

  1. 目的:将2个度范围进行并集运算。步骤:将拓扑—并集,拉入查询里面,然后将两个度范围拉入并集里。


图 43度的并集

7 统计分析

统计分析里面的不同算法→选择不同的渲染模式→最终图形,因此我们需要搞懂算法原理,才能进一步分析。

7.1 模块化

  1. 由于我们节点本身大小与节点标签尺寸都是选择Rank中的度,所以由图可以明显看出谁的度越大,说明在个图中与其他点联系越大,作用越大。
  2. 由于我们节点本身颜色和标签颜色的渲染方式都选的模块化,所以整个图以度大的节点最终呈现出社区稳定。
  3. 模块化:Modularity Measure(模块化度量值),由Newman等人提出,是目前常用的一种衡量网络中社区稳定度的方法。
  4. 模块度值的大小主要取决于网络中结点的社区分配C,即网络的社区划分情况,可以用来定量的衡量网络社区划分质量,其值越接近1,表示网络划分出的社区结构的强度越强,也就是划分质量越好。因此可以通过最大化模块度Q来获得最优的网络社区划分。

7.2 PageRank

PageRank算法主要应用在搜索引擎的搜索功能中,其主要用来计算网页的重要程度,将最重要的网页展示在网页的前面,此算法主要围绕以下两个假设:
①如果存在一个网页,它被许多其他的链接链接到,则说明这个网页比较重要,则此网页的PageRank值比较高。
②如果存在一个网页,它本身的PageRank值比较高,且此网页又链接了一个网页,则这个被链接的网页比较重要,其PageRank值较高。

7.3 改变显示方式

  1. 改变1,外观——节点颜色与标签颜色,渲染方式都从Modularity改为PageRank,结果如下。

首先改变节点颜色,显示为PageRank,看不出太大的变化。

图 44节点颜色-PageRank
在改变标签颜色,显示为PageRank,发生了许多肉眼可见的变化。

图 45标签颜色-PageRank
分析:这个就不是看以谁度大然后呈现出的社区情况,而是看哪个节点的搜索更多更重要,像上图我们就可以看出是以林黛玉、薛宝钗等众多妹子的PageRank高些。

  1. 改变2,布局:从Force Altas变为Fruchterman Reingold,结果如下。


图 46Fruchterman Reingold布局
Force Altas:
FR算法改进了弹簧算法,是现在用途最为广泛的布点算法,很多算法都是在这个算法上改进的。
FR受到了天体重力系统的启发,使用力来计算每个节点的速度,而不是加速度,从而得到每个节点应当移动的距离。它的每次迭代分为三个步骤:
计算节点之间的排斥力
计算相邻节点之间的吸引力
综合吸引力和排斥力,通过最大位移限制移动的距离
使用模拟退火算法,使得在图变得越来越稳定时,温度变得更低,节点每次移动的距离就变得更小。其主要原因是防止震荡。
KK算法使得能量最小化,在图的布局上减少了边的交叉,除了需要计算所有节点对之间的最短路径,并不需要其他理论知识。它虽然每一步的计算复杂度高于FR算法,但迭代次数较少,使其执行速度和效果都比FR好。

  1. 改变3,统计:选择边概述⇨平均路径长度,然后选择外观⇨节点⇨Betweenness Centrality,操作如下。


图 47标签颜色-Betweenness Centrality操作过程
结果如下:

图 48标签颜色-Betweenness Centrality
中间状态(betweenness)—— 在整个网络中,一个点在其他两两节点之间的最短路径上多次出现,我们说这样的点具有较高的中间状态值。
所以上图分析结果:就是像金陵这些人中间状态比较高,在连接中的作用比较重要。

  1. 最终回到原始设置,并进行统计分析。

表 4Gephi中案例与红楼梦人物网络指标对比

属性 平均度 平均加权度 网络直径 图密度 模块化 连接部件 平均聚类系数 平均路径长度
案例 6.597 21.299 5 0.087 0.545 1 0.736 2.641
红楼梦 1.603 1.607 17 0.007 0.602 11 0.108 5.675


图 49Gephi中的案例

图 50红楼梦人物网络结果图
图 51指标对比1
图 52指标对比2
图 53指标对比3
对比gephi中的案例网络,可以看出红楼梦中的人物网络:平均度和平均加权度较低且大小相近;网络直径,连接部件,平均路径长度的值都比案例网络要高。这说明红楼梦里的人物关系网大,虽然联系不密切,但是却错综复杂。平均路径高,也符合小说人物特点,通过某些人物引导出其他人物,这会导致网络的平均路径变大。