社交网络分析(SNA)是探索关系背后的科学与技术,从数学的角度看社交网络,用图论的方法探查社交网络。在技术上,通过python 以及相关包文件的支持,来完成可计算的社交网络(http://www.github.com/maksim2042/SNABook)。
什么是关系呢?在人际关系中,除了友谊,影响,情感,信任之外呢?关系可以是二元的,也可以被赋值,可以是对称的,也可以是非对称的,现实中更常见的是双峰关系或者多模关系。
基于独立性假设,通过泊松过程或朴素贝叶斯可以建立一些模型进行统计分析,进而得到一些宏观结果的概率。但如果抛开独立性假设,认为所有的关系都是潜在的相依关系,着就是图论的用武之地。节点表示网络内的独立行动者,边表示行动者直接的关系,进而通过单模图,双模图,多模图来描述社交网络。数学上表示社交网络的基本方法是矩阵,但是邻接矩阵过于疏松,可以采用边列表的形式来存储社交网络。
用图来描述社交网络,图的距离是对图进行量化分析的一种方法,通过图的遍历可以获得信息传播中的最短路径和距离。我们学过的软件基础来了,深度优先和广度优先的搜索,在NetworkX 中有现成的算法dfs_edges 和bfs_edges. 对于非加权图,距离意味着最短路径;对于加权图,距离是最低成本路径, 而欧几里得距离是建立在节点相似性上的。
谁是社交网络中重要的人?看一个节点的边的个数——程度中心性。程度中心性是服从幂律分布的。
谁是社交网络中的消息传播者?看一个节点的平均距离的倒数——亲近中心性,值越大黏度越大。
谁是传播瓶颈?看每对节点的最短距离,然后归一化处理——居间中心性,值越大越是精英群体。
谁是“灰衣主教”? 相当于对程度中心性递归——特征向量中心性,它是隐形的核心。
google 的pagerank 算法可以说是将中心性理念发挥的淋漓尽致,面向移动产品的PageRank 很有空间呀?
对于社交网络中可分析的单元,图论中以子图和组元来描述。子图是一个以某一特定节点为核心的子网络,就象linkedin中“我的网络”,分析一个网络半径大于3的自我中心网络是一个错误。
关系来了:
1)不对称连接,维系不超过两周
2)对称的连接,较稳定
3)三元组随着时间的推移是最稳定的,然而存在着禁止进入的三元组和结构洞。
有向三元组有16种可能情况,哪些命名诞生于1972年,和我差不多大了。三元组形成了子图,最大的完全子图就是派系。建立子图的方法一般是分层聚类。人们的想法,态度和社会关系是由个体在群体中的身份所决定的,而群体的形成源于成员的态度。
鉴于节点的类型不同,形成了多模网络。从二模网络中可以创建隶属网络,以及同质性网络。对于多模网络,矩阵乘法可以得出很多有价值的结论。
如果可以对移动社交网络进行模拟仿真,是一件多么有意思的事呀? 初始化一个空的网络图,并在其中增加n个数据类型的对象,然后循环遍历每一个可能的节点之间的组合,当概率等于密度的参数的时候,将在两个节点间添加一个连接,这种生成图的算法称为Erdos-Renyi 算法,是一种生成随机图的最简单方法,并产生一个正太分布的度分布,但实际上多数社交网络符合一个长尾的度分布即幂律分布。