ucinet网络分析实例(网络分析app)

ucinet介绍UCINET为菜单驱动的Windows程序,可能是最知名和最经常被使用的处理社会网络数据和其他相似性数据的综合性分析程序。与UCINET捆绑在一起的还有Pajek、Mage和NetDraw等三个软件。UCINET能够处理的原始数据为矩阵格式,提供了大量数据管理和转化工具。该程序本身不包含网络可视化的图形程序,但可将数据和处理结果输出至NetDraw、Pajek、Mage和Kr…

大家好,又见面了,我是你们的朋友全栈君。

ucinet介绍

UCINET为菜单驱动的Windows程序,可能是最知名和最经常被使用的处理社会网络数据和其他相似性数据的综合性分析程序。与UCINET捆绑在一起的还有Pajek、Mage和NetDraw等三个软件。UCINET能够处理的原始数据为矩阵格式,提供了大量数据管理和转化工具。该程序本身不包含 网络可视化的图形程序,但可将数据和处理结果输出至NetDraw、Pajek、Mage和KrackPlot等软件作图。UCINET包含大量包括探测凝聚子群(cliques, clans, plexes)和区域(components, cores)、中心性分析(centrality)、个人网络分析和结构洞分析在内的网络分析程序。UCINET还包含为数众多的基于过程的分析程序,如聚类分析、多维标度、二模标度(奇异值分解、因子分析和对应分析)、角色和地位分析(结构、角色和正则对等性)和拟合中心-边缘模型。此外,UCINET提供了从简单统计到拟合p1模型在内的多种统计程序。

ucinet使用技巧

ucinet的安装我觉得不用多说,因为不论是csdn本站,还是百度里面都有很多的资源可以下载,一般都是英文版,所以我就不从开头介绍了。另外就是虽然很多东西当初用过并且记得,但等过了一段时间后,再次看这个功能其实很可能英文单词的意思都已经忘了,就记得如何去使用。所以这里,我直接以一个案例的方式进行演示:

1.数据导入:
Ucinet的数据输入方式有多种:初始数据(Raw)、Excel数据和数据语言数据(Data Language,DL)。Ucinet处理的Excel数据最多只能有255列。就好像我记得excel的最大存储数据为104万左右,超过就会提示显示不全。ucinet它导入数据步骤为输入路径:数据>输入> Excel矩阵:
在这里插入图片描述
当然,这里只是为了测试是否这个数据可以被ucinet所引用,不会有什么乱码或者其它格式问题,另外如果中途选择了什么其它操作,那么除了上述的打印外,还将生成了一个新的excel文件位于上面的路径。

2.可视化数据分析

网络密度指的是网络中各个成员之间联系的紧密度,可以通过网络中实际存在的关系数与理论上可能存在的关系数相比得到,成员之间的联系越多,该网络的密度越大。整体网的密度越大,该网络对其中行动者的态度、行为等产生的影响可能越大。计算的时候最好将多值关系数据转换成二值关系数据。将多值关系数据转换成二值关系数据路径:变换→对分。

在对原始数据进行二值化处理以后,所有的权值变为了0和1(即是否有关联),这样计算出来的结果是普通的中心度。想要得到加权网络的中心性,只需要在矩阵数据中保留权值,不进行二值化计算即可,和之前的唯一区别在于计算公式中的0与1变成了具体的权值。

我们这里也可以进行二值化,将上述的频次转换成只有0、1变量的数据,我这里不转了,依据的公式一般是:
H i j = { 1,    if    x i ∈ N k ( x j )    or    x j ∈ N k ( x i ) 0,    otherwise    } H_{ij}=\left\{ \begin{matrix} \text{1,}& \,\,\text{if\,\,}x_i\in N_k\left( x_j \right) \quad \,\,\text{or\,\,}x_j\in N_k\left( x_i \right)\\ \text{0,}& \,\,\text{otherwise\,\,}\\ \end{matrix} \right\} Hij={
1,0,ifxiNk(xj)orxjNk(xi)otherwise}

其中 N k ( x i ) N_k\left( x_i \right) Nk(xi)表示数据集中距离 x i x_{i} xi最近的 k 个邻居的集合。

然后我们需要将excel文件转换成ucinet能识别的类型,即.h结尾的文件,这里有很多种转换的方式,我比较喜欢的是打开一个矩阵,然后将数据导入,这里它会提示imported success,然后将其以.h文件保存到桌面,然后就可以开始可视化了。
在这里插入图片描述

最后进入netdraw直接可视化,选项为Net- Draw >Open > Ucinet Dataset > Network:
在这里插入图片描述
这里我们可以在右边栏看到可选框,可以根据喜好改变点的大小颜色以及线的粗细,另外就是去除某个点对整体图的影响,检测整个系统的波动性和稳定性,这个我记得我之前都是做层次分析法或者PCA用的,但在网络里自己也没试过这个。

我主要试的是图上面的工具栏,可以选择中心性的网络可视化,即centrality measures:
在这里插入图片描述
选择任何一个图都会根据其改变,比如我选择closeness:
在这里插入图片描述
然后关于上述的区别,也就是我接下来要总结的,但只是做一个粗略总结。

3、社会网络分析技术

首先如果数据不是非结构化数据,并且它的缺失值与异常值都在合理范围内(关于上述两者的概念,我在另一篇博客有提:kaggle(一):随机森林与泰坦尼克),那么我们可以做一个相关性分析,相关系数公式即为:
p i j = E ( y i y j ) − E ( y i ) E ( y j ) ( [ E ( y i 2 ) − ( E ( y i ) ) 2 ] ⋅ [ E ( y j 2 ) − ( E ( y j ) ) 2 ] p_{ij}=\frac{E\left( y_iy_j \right) -E\left( y_i \right) E\left( y_j \right)}{\sqrt{\left( \left[ E\left( y_{i}^{2} \right) -\left( E\left( y_i \right) \right) ^2 \right] \cdot \left[ E\left( y_{j}^{2} \right) -\left( E\left( y_j \right) \right) ^2 \right] \right.}} pij=([E(yi2)(E(yi))2][E(yj2)(E(yj))2]
E(yiyj)E(yi)E(yj)

可以根据它得到相关系数权值矩阵,以此去判断一些指标权重密度还有啥的,不过ucinet基本都封装好了,我在这里提一下,因为我下面的数据基本都是围绕这个来弄,

社会网络分析技术主要有网络密度、中心性分析、凝聚子群分析、核心-边缘分析等,这里对涉及到的前三种方法作简单介绍。

中心性(centrality)是度量整个网络中心化程度的重要指标,在城市群网络中,处于中心位置的城市更易获得资源和信息,拥有更大的权力和对其他城市更强的影响力。网络中心性又可以分为点度中心度、接近中心度和中间中心度三个指标。

  度数中心性(Degree) 中间中心性(betweenness) 接近中心性(Closeness)
绝对点度中心度 C A D i = d ( i ) = ∑ j X i j C_{ADi}=d\left( i \right) =\sum_j{X}_{ij} CADi=d(i)=jXij C A B i = ∑ j < k b j k ( i ) = ∑ j < k g j k ( i ) / g j k C_{A B i}=\sum_{j<k} b_{j k}(i)=\sum_{j<k} g_{j k}(i) / g_{j k} CABi=j<kbjk(i)=j<kgjk(i)/gjk C A P i − 1 = ∑ j d i j C_{A P i}^{-1}=\sum_{j} d_{i j} CAPi1=jdij
相对点度中心度 C R D i = d ( i ) / ( n − 1 ) C_{RDi}^{}=d\left( i \right) /\left( n-1 \right) CRDi=d(i)/(n1) C R B i = 2 C A B i / [ ( n − 1 ) ( n − 2 ) ] C_{RBi}^{}=2C_{ABi}^{}/\left[ \left( n-1 \right) \left( n-2 \right) \right] CRBi=2CABi/[(n1)(n2)] C R P i − 1 = 2 C A P i − 1 / ( n − 1 ) C_{RPi}^{-1}=2C_{APi}^{-1}/\left( n-1 \right) CRPi1=2CAPi1/(n1)
图的中心势 C A D = ∑ i ( C A D max ⁡ − C A D i ) ( n − 1 ) ( n − 2 ) C R D = ∑ i ( C R D max ⁡ − C R D i ) n − 2 \begin{array}{l}{C_{A D}=\frac{\sum_{i}\left(C_{A D \max }-C_{A D i}\right)}{(n-1)(n-2)}} \\ {C_{R D}=\frac{\sum_{i}\left(C_{R D \max }-C_{R D i}\right)}{n-2}}\end{array} CAD=(n1)(n2)i(CADmaxCADi)CRD=n2i(CRDmaxCRDi) C B = 2 ∑ i ( C A B max ⁡ − C A B i ) / [ ( n − 1 ) 2 ( n − 2 ) ] = 2 ∑ i ( C B B max ⁡ − C R B i ) / ( n − 1 ) C_B=2\sum_i{\left( C_{AB\max}-C_{ABi} \right)}/\left[ \left( n-1 \right) ^2\left( n-2 \right) \right] =2\sum_i{\left( C_{BB\max}-C_{RBi} \right)}/\left( n-1 \right) CB=2i(CABmaxCABi)/[(n1)2(n2)]=2i(CBBmaxCRBi)/(n1) C C = ∑ i ( C R C max ⁡ ′ − C R C i ′ ) ( n − 2 ) ( n − 1 ) ( 2 n − 3 ) C_{C}=\frac{\sum_{i}\left(C_{R C \max }^{\prime}-C_{R C i}^{\prime}\right)}{(n-2)(n-1)}(2 n-3) CC=(n2)(n1)i(CRCmaxCRCi)(2n3)

上表摘自SNA(社会网络分析)——三种中心度总结,这张表里的有些公式和我之前建模用过的差不多,不外乎就是中间有进行过变式,就比如我之前喜欢写 n 3 − 4 n 2 + 5 n − 2 = ( n − 1 ) 2 ( n − 2 ) n^{3} – 4n^{2} + 5n -2 = \left( n-1 \right) ^2\left( n-2 \right) n34n2+5n2=(n1)2(n2),然后中间具体怎么推导的,例如betweenness可以看我给的参考链接2,我不是专门研究的我也不太清楚。我们还可以来看一下相关的图,对于上述三种情况的文字对比图:
在这里插入图片描述
然后我们就可以用ucinet软件做出上述三种关系,这里只做一个,因为步骤操作都是基本一致的,选择network ——> centrality ——> Degree ,就可以得到Degree centrality
在这里插入图片描述
closeness centrality:
在这里插入图片描述
然后关于betweenness centrality,一般都是选择Node betweenness ,其它两种linesHierarchically Reduction 我也没有在实际建模中用过,不太清楚有啥具体意义,而且这两种没有显示完各个点中心性值后的探索性分析的表格,关于一些平均值、方差、标准差等,所以这里直接拉到第一个就行了。
在这里插入图片描述
关于上述三张表所能给出的信息,我们都可以通过分析他们按高位降序排序的指标来进一步得出结果,其中还是以Degree centrality为例,因为我没有进行二值化,或者说排除一些其它类型的指标,另外就是当时晚上时间匆忙,现在第二天是接着昨晚的写,一般如果数据做了处理,当我们做了这个中心性后,Num值的区间都是在0 ~ 100之间,排在最前的Num一定是在95%左右再降序,这样才能根据降序来定义最后的指标区别,这里倒是有些无法判断。其余两个中心性的解释根据公式和网络分析图结合起来说明更加有真实性与连贯性,在建模中,这就是基本的网络分析了。

4、凝聚子群分析

凝聚子群是满足如下条件的-一个行动者子集合,即在此集合中的行动者之间具有相对较强、直接、紧密、经常的或者积极的关系。城市网络凝聚子群是用于揭示和刻画城市群体内部子结构状态。找到城市网络中凝聚子群的个数以及每个凝聚子群包含哪些城市成员,分析凝聚子群间关系及联接方式,这都可以从新的维度考察城市群网络的发展状况。

利用ucinet软件中的CONCOR法进行凝聚子群分析。CONCOR是-种迭代相关收敛法( convergent correlation或者convergence of iterated correlation)。它基于如下事实:如果对-一个矩阵中的各个行(或者列)之间的相关系数进行重复计算(当该矩阵包含此前计算的相关系数的时候),最终产生的将是一个仅由1和-1组成的相关系数矩阵。进一步说我们可以据此把将要计算的一些项目分为两类:相关系数分别为1和-1的两类(刘军,2009)[4]。

这个我不太记得具体有啥作用了,找自己之前写过的网络分析法中很少用凝聚子群,但确实用过所以我现在才有一个大致的印象,然而怎么解释已经忘了,都过了一年多了,所以尴尬了,还是在这里记录一下吧,下次记起来回来补。

凝聚子群分析结果:
在这里插入图片描述
凝聚子群分析结果:
在这里插入图片描述

总结

其实抛开一些太专业性的东西不讲,本篇博文写得挺爽的,很久没有敲过这么多文字以及再次以一种建模的心理完成对ucinet的一些基本操作介绍,起因是一个建模群的网友问我网络分析里的一些技巧,还有他用python做的话好不好做,于是我去搜了一下,找到了本篇的第一篇参考文献,看了下python确实可以做但比较麻烦,我没用过,而ucinet的话,脑子一闪,发现这不就是我大学一直在用的东西嘛,伴随着的还有spss statistics、spss modeler、MATLAB、PS、灰色系统软件、yaahp等等各种零零碎碎的东西,突然就有些怀旧,虽然刚出来不久,由大学学的电气跨进计算机的道路,终是专业化了,但想想曾经大二一年里在建模路上的摸爬滚打,每次和队友完成一篇篇论文到获奖的喜悦,也终是我如今很难获取到的了。所以,且行且珍惜吧,end。

参考与推荐:
[1]. 六个主要的社会网络分析软件的比较

[2]. 网络的介数中心性(betweenness)及计算方法

[3]. SNA(社会网络分析)——三种中心度总结

[4]. 《社会网络分析法》(刘军 译)

[5]. 薛萍. 基于社会网络的研究型高校优势学科方向发展预测研究 [D]. 导师: 朱凌. 浙江大学,2014

[6]. 社会网络分析方法简介

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127388.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 计算机错误代码0x 00000006,什么原因造成了蓝屏 电脑蓝屏错误代码介绍

    计算机错误代码0x 00000006,什么原因造成了蓝屏 电脑蓝屏错误代码介绍电脑蓝屏是在上网的时候再常见到的现象了,造成电脑蓝屏的原因很多,所以微软在操作系统中设计了蓝屏代码,让大家电脑在出现蓝屏的时候能够及时的发现是什么原因造成了蓝屏。一般蓝屏代码都位于屏幕提示文字的第一段或者倒数第三段,但是蓝屏代码都是以“***Stop”开头。编号代码含意00×00000000作业完成。10×00000001不正确的函数。20×00000002系统找不到指定的档案。…

  • stm32f103可以驱动摄像头吗?_stm32f103c8t6手册

    stm32f103可以驱动摄像头吗?_stm32f103c8t6手册最近,由于想要做摄像头巡线小车,所以就花了两个星期的时间写了一个OV7725的摄像头驱动。主要器材:鹰眼OV7725摄像头、stm32f103vet6、LCD液晶屏(ILI9341)在这里我不讲解OV7725的工作原理(传输时序、寄存器配置),但是关键还是在OV7725上,详细讲解网上有很多,也可以参考下这篇博客https://www.cnblogs.com/raymon-tec/cate…

  • resharper激活码(最新序列号破解)

    resharper激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 自己工作用到的 linux添加路由的方法

    自己工作用到的 linux添加路由的方法linux下添加路由的方法一、查看及添加临时路由1.查看路由(linux下)[root@nfs~]#route#同netstat-rnKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface192.168.90.2*255.255.255.255UH00

  • 单例模式与静态方法_静态内部类单例模式原理

    单例模式与静态方法_静态内部类单例模式原理本文主要介绍java的单例模式,以及详细剖析静态内部类之所以能够实现单例的原理。OK,废话不多说,进入正文。首先我们要先了解下单例的四大原则:1.构造私有。2.以静态方法或者枚举返回实例。3.确保实例只有一个,尤其是多线程环境。4.确保反序列换时不会重新构建对象。我们常用的单例模式有:饿汉模式、懒汉模式、双重锁懒汉模式、静态内部类模式、枚举模式,我们来逐一分析下这些模式的…

    2022年10月11日
  • Java内存模型详解

    Java内存模型详解前几天,发了一篇文章,介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型,是这三个知识点当中最晦涩难懂的一个,而且涉及到很多背景知识和相关知识。网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号