提交 29e7d680 编写于 作者: W wizardforcel

ch4

上级 7d64ac94
# 三、小世界图
> 原文:[Chapter 3 Small world graphs](http://greenteapress.com/complexity2/html/thinkcomplexity2004.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
现实世界中的许多网络,包括社交网络在内,具有“小世界属性”,即节点之间的平均距离,以最短路径上的边数来衡量,远远小于预期。
在本章中,我介绍了斯坦利·米拉格(Stanley Milgram)的著名的“小世界实验”,这是小世界属性在真正的社交网络中的第一次科学演示。之后我们将考虑 Watts-Strogatz 图,它是一个小世界图的模型。我将复制 Watts 和 Strogatz 所做的实验,并解释它打算展示的东西。
......
# 四、无标度网络
> 原文:[Chapter 4 Scale-free networks](http://greenteapress.com/complexity2/html/thinkcomplexity2005.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
在本章中,我们将处理来自在线社交网络的数据,并使用 WS 图对其进行建模。WS 模型像数据一样,具有小世界网络的特点,但是与数据不同,它的节点到节点的邻居数目变化很小。
这种差异是 Barabási 和 Albert 开发的网络模型的动机。BA 模型捕捉到邻居数量的观察到的变化,它具有小的世界属性之一,短路径长度,但它没有一个小世界网络的高聚类。
......@@ -14,7 +22,9 @@ WS 图的目的是,模拟自然科学和社会科学中的网络。Watts 和 S
在本节中,我们将使用不同的数据集,Facebook 用户及其朋友的数据集,来进行相同的分析。如果你对 Facebook 不熟悉,那么彼此连接的用户被称为“朋友”,而不管他们在现实世界中的关系的性质如何。
我将使用来自斯坦福网络分析项目(SNAP)的数据,该项目分享了来自在线社交网络和其他来源的大型数据集。具体来说,我将使用他们的 Facebook 数据集 1,其中包括 4039 个用户和 88,234 个朋友关系。该数据集位于本书的仓库中,但也可以从 [SNAP 网站](https://snap.stanford.edu/data/egonets-Facebook.html)上获取。
我将使用来自斯坦福网络分析项目(SNAP)的数据,该项目分享了来自在线社交网络和其他来源的大型数据集。具体来说,我将使用他们的 Facebook 数据集 [1],其中包括 4039 个用户和 88,234 个朋友关系。该数据集位于本书的仓库中,但也可以从 [SNAP 网站](https://snap.stanford.edu/data/egonets-Facebook.html)上获取。
> [1] J. McAuley and J. Leskovec. Learning to Discover Social Circles in Ego Networks. NIPS, 2012.
数据文件为每条边包含一行,用户由 0 到 4038 之间的整数标识。下面是读取文件的代码:
......@@ -251,7 +261,7 @@ logPMF(k) ~ −α logk
## 4.5 Barabási-Albert 模型
1999 年,Barabási 和 Albert 发表了一篇论文“随机网络中的标度的出现”(Emergence of Scaling in Random Networks),描述了几个现实世界的网络的结构特征,包含一些图,它们展示了电影演员,万维网(WWW)页面和美国西部电网设施的互联性。可以从 <http://www.sciencemag.org/content/286/5439/509> 下载该论文。
1999 年,Barabási 和 Albert 发表了一篇论文“随机网络中的标度的出现”(Emergence of Scaling in Random Networks),描述了几个现实世界的网络的结构特征,包含一些图,它们展示了电影演员,万维网(WWW)页面和美国西部电网设施的互联性。可以从 <http://www.sciencemag.org/content/286/5439/509> 下载该论文。
他们测量每个节点的度并计算`PMF(k)`,即节点度为`k`的比例。然后他们在双对数标度上绘制`PMF(k)``k`的关系。这些曲线可用一条直线拟合,至少对于`k`的较大数值;所以他们得出结论,这些分布是重尾的。
......@@ -267,7 +277,7 @@ BA 模型不是从固定数量的顶点开始,而是从一个较小图开始
最后,他们表明,由 Barabási-Albert(BA)模型模型生成的图,度的分布遵循幂律。
具有这个属性的图有时被称为无标度网络,原因我不会解释;如果好奇,可以在 <http://en.wikipedia.org/wiki/Scale-free_network> 上阅读更多内容。
具有这个属性的图有时被称为无标度网络,原因我不会解释;如果好奇,可以在 <http://en.wikipedia.org/wiki/Scale-free_network> 上阅读更多内容。
NetworkX 提供了一个生成 BA 图的函数。我们将首先使用它;然后我会告诉你它的工作原理。
......@@ -295,7 +305,7 @@ ba = nx.barabasi_albert_graph(n=4039, k=22)
下表总结了这些结果。WS 模型捕获了小世界的特点,但没有度的分布。BA 模型捕获了度的分布,和平均路径长度,至少是近似的,但没有群聚系数。
在本章最后的练习中,可以探索其他可以捕获所有这些特征的模型。
在本章最后的练习中,可以探索其他可以捕获所有这些特征的模型。
| | Facebook | WS 模型 | BA 模型 |
| --- | --- | --- | --- |
......@@ -468,3 +478,42 @@ logCCDF(x) = −α (logx − logx_m)
+ BA 模型表明,社交网络很小,因为它们包括度较高的节点,作为中心,并且随着时间的推移,由于优先添加,中心​​会增长。
在科学的新兴领域,往往是这样,问题不是我们没有解释,而是它们太多。
## 4.9:练习
练习 1:
上一节中,我们讨论了小世界现象的两种解释,“弱关系”和“中心”。这些解释是否兼容?也就是说,他们能都对吗?你觉得哪一个解释更令人满意?为什么?
是否有可以收集的数据或可以执行的实验,它们可以提供有利于一种模型的证据?
竞争模型中的选择,是托马斯·库恩(Thomas Kuhn)的论文“客观性,价值判断和理论选择”(Objectivity, Value Judgment, and Theory Choice)的主题,你可以在 <https://github.com/AllenDowney/ThinkComplexity2/blob/master/papers/kuhn.pdf> 上阅读。
对于竞争模型中的选择,库恩提出了什么标准?这些标准是否会影响你对 WS 和 BA 模型的看法?你认为还有其他标准应该考虑吗?
练习 2:
NetworkX 提供了一个叫做`powerlaw_cluster_graph`的函数,实现了 Holme 和 Kim 算法,用于使用度的幂律分布和近似平均聚类,使图增长。阅读该函数的文档,看看是否可以使用它来生成一个图,节点数、度的均值和群聚系数与 Facebook 数据集相同。与实际分布相比较,模型中的度的分布如何?
练习 3:
来自 Barabási 和 Albert 论文的数据文件可从 <http://www3.nd.edu/~networks/resources.htm> 获得。他们的演员协作数据包含在名为`actor.dat.gz`的文件中。以下函数读取文件并构建图。
```py
import gzip
def read_actor_network(filename, n=None):
G = nx.Graph()
with gzip.open(filename) as f:
for i, line in enumerate(f):
nodes = [int(x) for x in line.split()]
G.add_edges_from(thinkcomplexity.all_pairs(nodes))
if n and i >= n:
break
return G
```
计算图中的演员数量和度的均值。以双对数刻度绘制度的 PMF。同时在对数-线性刻度上绘制度的 CDF,来观察分布的一般形状,并在双对数刻度上观察,尾部是否服从幂律。
注意:演员的网络不是连通的,因此你可能想要使用`nx.connected_component_subgraphs`查找节点的连通子集。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册