zoukankan      html  css  js  c++  java
  • pajek 指标计算

    针对复杂网络(社会网络 社区网络 图拓扑)的分析工具 相关的一些链接

    http://blog.sciencenet.cn/home.php?mod=space&uid=636598&do=blog&classid=157925&view=me&from=space

    分析工具对比(选择的主要依据:网络规模,导入导出格式转换难易度,可视化的要求)

    http://wenku.baidu.com/link?url=nVmBect9pMCzb1r4oHm8QSMQLl6-PTnONb9mhNpOO_OMfou3vttut-Noxk6TJhT2CLoYeNd88iBzJcjxpXc1NUQOlIsIGfhmmnWmXBzAXca

    豆瓣小组,主要针对pajek, 小组不是很活跃,但是对于新手还是可以的,另外组长在线,会及时地回复: http://www.douban.com/group/Pajek/

    pajek 下载地址:http://mrvar.fdv.uni-lj.si/pajek/

    其他:

    http://blog.csdn.net/program_shun/article/details/7827563

    http://www.cnblogs.com/ylan2009/articles/2378811.html

    http://blog.sina.com.cn/s/blog_4c98b96001009a4p.html

    pajek可以解决的网络规模比较庞大,但是其中的指标计算并没有清晰的文档,下面是经过测试反推出来的指标计算方法。

    pajek可以生成如下格式的文件:

    .net 网络输入文件,具体格式参考自带数据:****pajekPajekData  分为有向图和无向图,一个节点可以携带其他信息。除了手工输入之外,还可以使用现有程序把excel或txt数据转换成.net文件。Pajek的官网上提供了两个程序:
    (1)Excell2Pajek
    (2)TXT2Pajek (推荐)
    另外,还可以使用Matlab编写代码把EXCEL或者TXT数据转换成.net数据结构。

    .vec 保存计算后的点指标

    .clu .per .cls .hie

    create random newtork:指定节点数 边数

    create vector: 易懂的忽略

    1 centrality closeness: 讯息接近性。某node到network所有其它node的距离总和最短。此种node在network中并 非处于核心的位置,与他人的relation并非最多;在degree-centrality上所处的位置也并非十分核心。但此node与network 中其他node的距离总和最短,也就是该node在network中有最佳视野,可以察知network中所发生的事情,以及讯息的流通方向。

    计算公式:

    当选择all 的时候,其中g(vi,vj)是两个节点间的地测距离(不考虑方向);当选择input的时候,g(vi,vj)指以vi为起点,出发到其他节点的距离;

    2 centrality betweenness

    这个pajek的计算公式和维基百科上的不同,维基百科如下:

    http://www.datalab.sinaapp.com/?p=212

    σst 图G中两节点s,t之间最短路径的条数。同时σss =1,无向图中σst =σts

    但是pajek中的分母不是最短路径的条数,在有向图中,是P(n-1,n-1),即所有可能的节点对;在无向图中,是C(n-1,n-1),含义相同。

    3 hubs-authorities   Hub/Authorities,在有向网中我们常确定两种重要结点类型:集线中心(Hub)和权威(Authorities)。一个结点被认为是很好的集线中心,如果它指向许多好的权威结点。而如果它被许多好集线结点连接,那么它就是一个好的权威。在获得的分类值“1”表示该结点是权威结点,值“2”表示该结点既是权威结点也是集线结点,值“3”表示该结点是一个集线结点。

    计算方法:

    需要指定几个明显的初始值作为hub authorities。然后经过类似于HITS的迭代算法,计算出来每个节点的类型。具体见

    http://nlp.stanford.edu/IR-book/html/htmledition/hubs-and-authorities-1.html

    未检测初始值对结果的影响度,应该不敏感。

    4 proximity prestige(邻近威望???)

    根据结点的输入、输入或所有邻居来计算,产生以下几个结果:
       (1)"Size of Input/Output/All Domain"(Partition)
           能获得的结点数(不包括自己)
       (2)"Normalized Size of Input/Output/All Domain"(Vector)
           对(1)除以n-1进行规范化
       (3)"Average Distance ..."(Vector)
           从/到该domain的平均距离(跳数)
           (根据Input/Output/All决定是"从"还是"到")
       (4)"Input/Output/All Proximity Prestige"(Vector)
           由(2)和(3)对应项目相除得到

    5 lines

    1)Min
          找到入边/出边/所有边中最小的权值
       (2)Max
          找到入边/出边/所有边中最大的权值

    6 centers

      在网络中使用"掠夺"(robbery)算法:结点若比邻居度数更高(更强大)则从它们那掠夺强度:

       首先根据结点的度数赋强度初值,或赋初值1。

       当"虚弱"结点被找到的时候,邻居根据强度从它掠取相应的强度,或平分。

    7 clustering coefficients (cc1)

    会生成 cc1 cc1` 如果是无向图 假设a为点vi的邻居节点个数,则cc1 为vi 邻居节点间的边数/c(a,a) 若是有向图, 分母是p(a,a) ,此处计算的是Watts-Strogatz Clustering Coefficient, 而cc1`计算的是Network Clustering Coefficient (Transitivity)。如果该点度数为1,则有一个很大的默认值;如果该点邻居节点之间无连接边,则系数为0;两种计算方法的差距:

    1. 把所有的节点的Local Clustering Coefficient在一起求平均值
    2. (3*闭合三点组数)/(所有三点组数)

    参见

    http://blog.qiwen.name/2012/11/

    8 clustering coefficient (cc2)

    一直没搞清楚,即使在参考文献1中也没搜索到。

    感谢小师妹 aifang Xu认真的态度,指出了betweenness centrality计算上的差异。

    参考资料

    1. W. de Nooy, A. Mrvar, V. Batagelj: Exploratory Social Network Analysis with Pajek, Structural Analysis in the Social Science

    2. V. Batagelj, A. Mrvar: Pajek – Program for Large Network Analysis. Home page: http://vlado.fmf.uni-lj.si/pub/networks/pajek/

     

  • 相关阅读:
    内存分配机制
    typedef struct 和struct的区别
    imshow
    #include<string.h>和#include<string>
    Internal Errors
    TStopWatch 基本知识
    string 新常量 Empty
    System 这四个单元多用用(近期)
    对象释放三种方法对比:Free --> FreeAndNil() --> DisposeOf()
    程序性能优化的3个级别
  • 原文地址:https://www.cnblogs.com/18fanna/p/3455869.html
Copyright © 2011-2022 走看看