生生不息分享 http://blog.sciencenet.cn/u/zjie 关于熵、秩序、自组织、复杂、混沌边缘、幂律、正反馈。。。

博文

一个Facebook实习生画的全球好友关系图

已有 5689 次阅读 2010-12-17 18:13 |个人分类:生活体悟|系统分类:海外观察| SNS, 社交网络, Facebook, 关系图


    Paul Butler 是 Facebook 的数据基础架构工程组(data infrastructure engineering team)的一名实习生,他在12月14日基于Facebook的数据,发布了一张很有意思的“可视化全球好友关系图”(Visualizing Friendships)。



    他的原始博文介绍了这张图的制作过程,简单翻译如下:

“   数据可视化就像摄影术。只是你并不是从一个空白的画布上开始,而是由你来操作镜头从一个特定的角度来“看”数据。

    当这个数据来自5亿人的社会化图时,你可以通过很多种镜头去看她。其中一个引起我好奇的是朋友联系与地理位置的关系。我很感兴趣看一看地理和政治的边界是如何影响朋友关系的。我需要一个可视图来展示不同城市之间的朋友联系。

    我从我们的数据仓库 – Apache Hive(http://hive.apache.org/) 中抽取了1000万对朋友的采样数据。我将用户按城市进行数据分组,并将两个城市之间含有的朋友对的数量加和。然后再给每个城市加上的经纬度的属性值。

    基于这个基础,我用了一个开源的统计工具 – R (http://www.r-project.org/)来做数据挖掘。我根据城市的经纬度画坐标点,画完后,已经能大致看到一个世界的轮廓。接着抹掉这些点,开始画点与点之间线(注:一条线代表两个城市之间有一个“朋友对”)。几分钟的渲染后,一个巨大的白团出现在图的中心。团的一些外边界大致上接近一些大陆的边界,但很明显的,仅仅这样画线,会由于数据太多而得不出有趣的结果。我想也许让线条变得半透明会更好,但我立刻意识到我的绘图环境不能处理足够的色度来达到我想要的效果。

    于是我想了一个替代方法来模拟。我定义了每一对城市间的“权重值”,该值是另两个参数的函数(一个是城市间的欧几里得距离,另一个是两个城市所含“朋友对”的数目)。然后我根据“权重值”来画线,两个城市间“朋友对”的个数越多,该线条将越置于别的线条的上面。 我用了一个从黑到蓝到白的色盘来标识不同权重的线的颜色。我还将那些跨度超过半个地球的线做了一些处理,让他们尽量沿着图的边上走。

    又经过几分钟的渲染,新的图终于出来了,我看到后大吃一惊。那个大白团变成了令人惊讶的一个世界图。不仅大陆架清晰可见,连一些国家的边界线都很清楚。这些真令人目瞪口呆,因为这些线条并不是用来描述海岸线、河流或是政治边界的,仅仅是真实的人际关系。每条线可能描述了一对远隔重洋的驴友,或者是分居两地的家庭成员,甚或是一对老校友!

    最后,我按地球仪上两点的最短球面线将所有的线重画。得到了你们所看到的现在这张图!

    当我把这张图拿给 Facebook 其他同事分享时,引起了很多人的共鸣!这不仅仅是一幅可爱的画,这是跨越海洋和国境的社交网络对人类所产生影响的一个重新肯定! ”

    高清版"Facebook 全球好友关系图",下载地址:http://sinaurl.cn/hb81D6



https://wap.sciencenet.cn/blog-402852-394614.html

上一篇:太极与混沌(Chaos)浅谈 - 1
下一篇:《失控》笔记 第 01 章 人造与天生(The Made and Born)
收藏 IP: .*| 热度|

2 彭建奎 张水

发表评论 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 15:15

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部