社会网络模拟实践:‘Python大学的大一新生生活’

笔者在学习社会网络理论课程的时候,萌生一个想法,即现实世界的人们互相彼此联系,构成了一个社会网络,那么为什么不能用Python去模拟一个虚拟世界,毕竟Python的特色就是实例化,(不是为了揭示什么,单纯是有趣doge)。

本文截止到2025/1/7,已经由简单到复杂,模拟了三个模型,分别是InitialModel(最基础的社会网络模型)、BaseModel(对每个学生增加了属性的模型)与StructureModel(对网络结构增加了结构平衡机制的模型)。

本文章所涉及代码都已更新于GitHub(GitHub - ZhengDongHang/Social-network-simulation: This project uses Python to build a simple simulation of a social network by creating a virtual university with a class of freshmen in it. \n这个项目使用Python创建一个虚拟大学,里面有一群新生,以此来构建一个简单的社交网络模拟。),如果各位看官觉得还是有点趣味,麻烦点个收藏(这对于正在建立github的笔者很重要),项目基于MIT协议(这我上网搜索最宽松的协议了)。


一、引言

我们假设存在一个Python大学开始招生了,简化期间我们只招一个班,一个班30个人,模拟一个月30天的社会网络。这三十个学生之前互相并不相识,因此他们作为Freshman就会互相逐渐建立联系,这个联系有可能是好关系也有可能是坏关系。

模拟的设计原则是逐步递进,尽量贴近现实生活的复杂性。初始阶段,新生的个体属性较为简单,且互动方式以随机交互为主,旨在模拟陌生人之间最初的偶然接触。随着模拟的深入,学生的属性逐渐多样化,体现出个体间的差异性。 同时,交互方式也从简单的随机交互演变为更复杂的模式,如基于兴趣的同质性交互,之后又引入结构平衡概念来模拟现实世界社交规律的“小世界模型”。

本文将逐个介绍每个模型的原理与实验结果,在最后部分将梳理代码的实现逻辑。


二、InitialModel——初始系统

InitialModel 是模型演化的起点,用于模拟新生社会网络从无到有的建立过程。此阶段假设所有新生完全同质化,交互关系简单且随机,重点展示网络在最初阶段的动态变化特征。通过该模型,可以直观地观察随机交互对社会网络结构的影响。

(一)模型假设

1.完全同质性:新生个体之间没有任何属性上的差异,唯一的区分特征为学号。这种假设排除了个体差异对交互行为的影响,便于专注于随机交互的网络形成过程。

2.随机交互:新生之间的交互关系是完全随机的,每对学生在每次交互中都会出现一个关系值的波动,范围限定为 -1 至 1的正态分布。随机波动的值用于模拟个体之间的随机性好感或矛盾,从而体现社会网络在无规则干预下的初始演化特征。

3.时间跨度:模拟周期设定为 30 天,模拟新生入学的第一个月。

 4.对称关系:关系矩阵是对称矩阵,即两个人之间的关系是对等的。

(二)模拟原理

每天,每对新生之间的关系是通过简单的交互来维持的,并且这种交互是对等的。也就是说,若新生A与新生B存在关系变化,这种变化会同时作用于两者,且变化的大小是对称的。每天的关系变化服从正态分布,其均值为零,标准差根据特定的系统设定来控制,这意味着每天的关系变化是随机的,既有可能增进,也有可能削弱。

为了更直观地描述这一关系变化,我们假设每天的关系波动遵循下图所示的正态分布。图中,横坐标代表变化幅度,纵坐标表示变化的概率密度。在大多数情况下,关系的变化会集中在零附近,这意味着大多数时候关系变化较小。而在少数情况下,可能会出现关系大幅增进或减弱的情形,但这些情况的概率较低。

(三)实验结果

1.结果分析

在模型迭代30次(即模拟了30天的社交互动)后,我们可以从下图所展示的热力图中初步观察到,学生之间的关系波动呈现出正态分布的趋势。热力图中的不同色块代表了不同学生之间的关系变化,而整体分布呈现出一个钟形曲线,表明大多数学生的关系变化较小,集中在零附近。这表明在没有其他干预的情况下,学生之间的社交关系大多数时候是相对稳定的,且变化具有随机性。此时,我们可以初步得出结论:在纯粹的正态分布模型下,学生之间的关系变化较为均匀且没有明显的偏向性,说明该模型未引入其他外部影响因素。

进一步地,从下图所展示的直方图中,我们可以对每个学生与他人关系的分布情况有更直观的了解。每个颜色的直方图代表一个学生的社交关系指数的分布情况,横轴表示学生与他人之间的关系变化幅度,纵轴则表示这种关系变化出现的概率。通过直方图的分布形态,我们可以清晰地看到,大多数学生的关系变化呈现出正态分布的特征,即大部分学生的关系波动较小,位于中心位置。少数学生的关系变化较大,可能是由于某些偶然的事件或者外部因素的影响。

这些直方图进一步支持了我们在热力图中看到的趋势,表明在没有额外外力的情况下,学生之间的关系变化遵循随机波动的模式。同时,这也为后续模型的进一步优化提供了依据,即如何引入新的变量或规则,调整学生间的关系变化,进而模拟更接近现实的社交网络动态。

2.动态演化过程

        接下来我们将演示模型变化,下面三个图分别是10天,20天,30天的社交网络结果。动态演化过程在一定程度上符合现实逻辑。大一新生刚入学时,彼此之间大多是陌生人(在本模型中假设他们之前完全不认识),因此,初期的社交网络较为疏散,学生之间的连接较少,边的数量较低。这一阶段的网络呈现出一种稀疏的结构,表明大部分学生之间尚未建立起深厚的社交联系,彼此的关系相对较弱。由于缺乏足够的社交互动,网络中大多数节点的连接度较低,网络的聚集效应不明显。

        然而,随着时间的推移,学生们开始逐步建立起稳定的连接。通过与同学的互动、共同的课程、社团活动等因素,学生们逐渐从陌生人转变为彼此熟悉的伙伴。在这个过程中,学生们开始根据共同的兴趣爱好、宿舍关系、课程互动等因素,形成小范围的社交圈子,逐步加深彼此之间的联系。这种社交网络逐渐从初期的稀疏网络转变为一个逐步增密的网络。

3.结果实证分析

Node

度中心性

介数中心性

接近中心性

特征向量中心性

Node

度中心性

介数中心性

接近中心性

特征向量中心性

1

0.25

0.07

0.53

0.22

16

0.21

0.03

0.50

0.23

2

0.11

0.01

0.42

0.10

17

0.21

0.07

0.51

0.16

3

0.21

0.04

0.51

0.21

18

0.18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值