大家好!欢迎观看我们今天的演示,内容是关于 JMP 的一款新网络插件,它可以通过网络图来展现人员网络。我叫 Jerry Fish,在 JMP 工作。我为美国中北部地区、密歇根州、威斯康星州、伊利诺伊州和印第安纳州的客户提供支持。今天我的同事 Scott Allen 也和我们一起分享了这次演示。
我是斯科特·艾伦。我也是一名系统工程师,我支持美国俄亥俄河谷地区。
这个项目大概始于四年前左右。我当时在沃顿商学院选修了一门人力资源分析课程。课程内容之一与网络图有关,这引起了我的兴趣。最终,我为今年的探索峰会提交了一份关于网络图的摘要。
我刚提交摘要就收到了录取通知,然后就发现Scott已经完全独立地开始做这件事了。效果真的很好。Scott功不可没。他至少完成了95%的工作,可能更多是繁重的工作,包括编码和软件开发。谢谢你,Scott。很高兴我们能一起合作。效果真的很好。
今天,我们将讨论网络图在商业组织中的应用。我们假设有一家公司,我稍后会讲解,并展示其绘制过程。我会先讲解其中的几个方面,然后请 Scott 讲解该软件的工作原理、他是如何开发的,以及其中的一些额外功能,这些功能我不会在本次演讲中涉及。
然后我们再回过头来讨论其他网络图应用程序。它不仅适用于人力资源部门,还可以用于许多不同的地方。最后,我们将介绍如何找到并下载此插件。
让我们从虚构的公司 ACME Medical Products 开始。我使用 Microsoft Copilot 创建了一家公司,其中包含各种部门和众多员工,并随机给我一些名字。实际上,我以此为基础,使用 PowerPoint 创建了这张组织结构图。我相信每个人都见过组织结构图。它本质上是层级结构。它只是显示了谁向谁汇报的命令结构以及业务布局。
我想提一下,在我们把CEO、他的直接下属以及他们的直接下属等等都列出来之后,几乎所有这些方框都代表一个人。但有时在组织结构图中,你会看到类似这样的情况。如果我放大这个方框,你会发现实际上是三个人。这本身并没有什么问题,但如果你只是想看看有多少人向某个人汇报工作,组织结构图的视觉效果可能会有点误导。这只是需要注意的一点。看看我们现在能不能回到正题。好了。
让我们问自己一个问题。如果我们能以不同的方式布局这张图表,会发生什么?如果我们看到的不仅仅是谁向谁汇报的层级,而是这张新图表中的关联性,又会如何?这就是我们一直在研究的,这张网络图。
这是网络图的示例。目前我所做的就是从组织结构图中提取层级数据,然后将其从我们新的插件中转置到网络图中。这里稍微解释一下,它们只是一些非常简单的连接。中间这个红点代表我们的首席执行官。在这个场景中,他的名字是达伦·惠特莫尔 (Darren Whitmore)。他位于组织的中心位置,所有延伸出的线条代表他的直接下属。然后,从这些点开始,是另一个人,这个人有四个直接下属,依此类推。这些信息与我们在层级组织结构图中看到的信息完全相同,只是布局略有不同。
聚类通常用于讨论或推断部门。我们可以进行一些更改,您会看到很多变化,例如点的大小、颜色,它们都有意义。我们称之为边的大小、厚度和颜色……它们也有意义。稍后我们会看到。此外,当 Scott 展示实际插件的演示时,您可以将鼠标悬停在点上,并从该特定点获取常规信息,就像普通的 JMP 图表一样。目前这只是一张 PowerPoint 幻灯片。
一些定义。像这样的图中的圆圈称为节点。我们以后会经常用节点来讨论它们。在人力资源部门,你可以将其转化为人。每个点代表一个人,一个个体。正如我提到的,节点的颜色可以改变。在这个例子中,它可以代表部门。我做了一些调整,所以现在每个部门都有颜色编码。边或线代表人与人之间的联系。目前,我们仍然只使用组织结构图的连接,也就是层级结构。
现在,我们接下来会看到几个术语。其中一个叫做“度”。这是一个相当简单的术语。如果我们看一下这个人,这个人的节点值是4度。这意味着有四条线从这个节点连接到其他节点。这就是我们所说的“度”。
介数性有点不同。介数性与如何从一个节点到达另一个节点有关?想象一下……这里,我们有安德烈·刘易斯 (Andre Lewis) 和奥利维亚·格兰特 (Olivia Grant),他们位于这个大网络图的两端。如果安德烈想与奥利维亚沟通,可以想象他在课堂上传递纸条或类似的东西。安德烈把纸条传给他的老板,他的老板再传给她的老板,如此反复,直到奥利维亚收到信息。嗯,这很好。可能还有其他路径。这个人可能从这里到这里,再到这里,或者可以从这里到这里到这里,再到这里。这里有一个最短路径的概念,比如说,从安德烈到这里到奥利维亚。
如果你标记每个人到每个人之间的每条最短路径,然后统计其中有多少条最短路径经过单个节点——这里又是我们的首席执行官达伦·惠特莫尔——结果显示,他有83%的最短路径经过达伦·惠特莫尔。看起来,基于此……顺便说一下,我们得到了节点大小,点的大小与介数有关。他看起来像个大人物。他处理所有事情。所有事情都经过他。但这并不能告诉我们这个组织真正的联系程度。让我们更进一步。
如果我们假设,作为我们的第一个假设,假设我们有一个部门有 8 个人,这 8 个人都互相交流,我们将这些连接添加到那个层级组织结构图中。这会如何改变中介性?这就是这张图。现在,我们可以看到在这个部门,这个蓝色的部门,我们有 8 到 10 个人。你看不太清楚,但他们都通过线、通过节点……抱歉,通过边相互连接。现在我们知道,如果这个人想和这个人交谈,他们可以直接交谈。他们不必一路经过 Darren 或其他人。
现在,我们重新计算了中介值,发现我们这位高管的中介值降低了。他现在位于中间。我们的首席执行官达伦·惠特莫尔现在的中介值是2.7%,所以现在日常沟通中只有很少一部分是通过达伦进行的。更多的是通过比如说坦尼娅·布鲁克斯进行的。她现在的点更大了。有2.4%的沟通是通过她进行的,以此类推。我们开始更多地了解沟通方式、信息如何在我们的业务中流动,以及业务如何运作。
现在怎么办?好吧,我们来做个调查。想想看。我们要做一个调查。我们要给公司里的每个人发一份调查问卷。这份抽样调查问卷只会包含一个问题。请列出所有你经常与公司员工进行业务往来的员工。
这是一个相当简单的问题,很容易理解。例如,首席执行官达伦·惠特莫尔回复说:“嗯,我和他所有的高管团队都有联系。” 嗯,从莉娜、拉吉夫、莫妮卡一直到下面都是这样。他还和卡洛斯、维克多有联系,所以他们也列在这里。我们创建了一个JMP数据表,这只是其中的一个小片段。第一列是达伦的名字,第二列是他提到的所有联系人。然后,我们继续为组织中的每个人构建这个数据表。当我们把它放到网络图中时,会是什么样子呢?
就是这样。现在,我们看到我们的首席执行官坐在中间。他的连接率仍然在 2.7% 左右。不过,让我们把注意力集中在比安卡·托雷斯身上。比安卡在工程部门工作。这是工程部门,而这位恰好是工程部门的老板。但比安卡坐在这里。她曾经是这里的一个独立点,但现在她的规模更大了,这意味着她拥有更多的连接。如果你仔细观察,就会发现,除了与整个部门的联系之外,她还与质量部门有联系。她与制造部门有联系。她与市场部门有联系。她参与了公司里很多不同的事情。
作为公司经理或人力资源部,你可能会注意到这一点,并会说几句话、想几件事。比如比安卡,她为了维系公司凝聚力付出了很多努力。也许她应该得到奖励。又或者,有人会说:“嘿,我们让比安卡忙得不可开交,以至于她无法胜任日常工作。所以她其他方面的努力一直在下滑。也许我们需要找人来接手她的部分工作,让公司运转得更好一些。” 这时,我们公司的关键人物比安卡就会冲我们喊:“嘿,她是一位宝贵的员工。这里肯定出了问题。我们需要调查一下,看看这是否真的是我们想要的公司运作方式。”
另一方面,我们可能有一个孤立的人。比如乔丹·埃利斯,他在市场营销部门工作。乔丹向他的老板汇报工作,这是他告诉我们的唯一联系方式。这到底是好事还是坏事?也许吧。也许乔丹正在外面处理一个特殊项目之类的事情,这是他应该做的。他只是应该在外面做他自己的事情。但也可能是因为乔丹是一名远程员工,他感觉与部门里的其他人没有真正的联系。如果是这样的话,也许我们应该付出额外的努力,让乔丹融入到我们的团队中,并与他进行一些沟通,确保他感觉与公司有联系。这会对公司有所帮助,也可能有助于乔丹的职业发展等等。
以上是关于如何在人力资源环境中使用网络图的一些介绍。现在我将把时间交给 Scott,让他来跟大家讲解一下这个程序本身的工作原理以及他是如何构建它的。
太好了!谢谢,杰瑞。我们将逐步讲解这个插件和一些选项,并展示如何创建这些图表,然后介绍一些可以用来更改视觉效果并与之交互的选项,以便得出结论或获得一些见解。
这是数据表,和Jerry用的一样。我只是在这里添加了一列,一些信息列。也许那份调查中有一些额外的信息,这些信息表明了频率,数字越高,两个人之间的交流就越频繁或数量越多。
要启动该插件,我们只需进入“插件”菜单,找到“网络分析”插件。如果您是网络分析新手,或者还没有设置好数据,这里有一个帮助文档可以帮助您入门,这里也有一些示例数据,您可以在运行自己的网络之前进行练习。我们只需点击“运行网络分析”。
网络分析使用一个名为 NetworkX 的 Python 包。它还会调用其他一些 Python 包。除非您安装了相应的 Python 包,否则无法运行它。您可以检查状态。您将收到一个小的状态更新,显示您已安装相应的包。如果缺少任何包,您将看到一个小 x,然后您可以在此处安装缺少的包。系统不会自动安装任何包。您需要确保安装这些包。
安装完所有 Python 软件包后,您就可以构建网络图了。我们只需选择节点并将它们转换为 Nodes 角色即可。我们需要指定这些节点的初始排列方式。在空间中排列这些节点有很多不同的方法。一种常见的方法是使用 Spring 算法,我们将使用它。或者,您也可以根据自己的视觉效果选择其他方法。
然后我们可以选择不同的中心性度量。Jerry 之前提到过度和介数。这些度量默认启用,还有一些其他度量可以选择。在本例中,网络规模很小,所以这些度量计算起来很快。但如果网络规模很大,你可能不会全部运行,因为它们可能需要一些时间。指定这些度量后,点击“确定”。
现在,我们将得到我们的网络图。它可能看起来与Jerry的略有不同,因为其中存在一些随机性。生成这些图需要使用随机种子。通常情况下,它们应该具有相同的特征,但看起来可能略有不同。
网络分析还会生成一些额外的表格和统计数据。最上面是网络图,其中包含一些汇总统计数据。这个节点表显示了 NetworkX 中生成的所有节点的空间排列,这只是原始表的副本。
您可能想做的第一件事就是探索这个网络。这里有很多工具可以做到这一点。例如,我们的首席执行官达伦·惠特莫尔 (Darren Whitmore) 在这个网络中的什么位置?我们可以获取所有节点的列表,然后向下滑动找到达伦。现在,我们可以看到他的位置,当然,我们也可以选择任何其他节点来查看他们的位置。
嗯,你可能还想做的另一件事就是看看谁和谁有联系。我们可以在这里选择一个节点。我们来看看金伯利。我们要选择金伯利连接的所有不同节点。我们可以通过选择所有连接的节点来实现这一点,这样就能显示她与谁有联系。我们可以反复执行此操作,所以我可以再次运行该操作,这样就能显示所有与这些连接相关的人。现在,你就可以真正开始探索这些网络了。
在这种情况下,我们或许需要查看一下。就像Jerry提到的,有时我们会遇到一些难以看清的聚类。我们可以隐藏其他所有内容,然后重新缩放视图以放大,只显示选定的子网。现在,我们可以看到该互连子网的更多细节,或者我们当然可以使用一些JMP工具来帮助我们进一步放大。我们还可以做的另一件事是,当我们……也许你在这里迷失了方向,需要完全退出,这样你就可以显示所有这些节点,然后重新缩放视图,这样我们就可以回到原始视图。
接下来你可能想做的就是开始做一些基本的分析。Jerry 之前讲过最短路径分析,所以你当然可以这样做:选择任意两个节点,将它们转换为角色,然后找到最短路径。
我们还可以做的另一件事是进行社群检测,或者说社群检测。这类似于聚类。其中一些社群会具有相似的统计数据或相似的特征。您可以运行不同的算法来查找这些社群。我们知道组织中存在固有的社群,例如部门或职位。但在本例中,我们可能关注的是沟通集群或沟通社群。我们可以使用默认设置并点击“运行”来运行其中一个。这里我们有一个按列着色的选项,因此我们现在可以按这些集群着色,然后点击“确定”。
现在,我们得到了一个聚类视图,可以看到不同的颜色对应着网络中不同的社群。其中一些颜色可能很有意义。当然,不同的部门可能聚集在一起,但这里可能也有一些意外。我们看到了这种有趣的沟通和聚类安排,可能需要进一步研究。您还可以获得这些社群的一些汇总统计数据。
分析此网络时,您可能还想做的另一件事是查看“网络摘要”选项卡,它提供了整个网络的一些常见统计数据,以及节点特征和边特征。您还可以获得所有计算的中心性度量的摘要直方图,例如度、介数、特征向量以及在打开的对话框中选择的任何内容。
在这种情况下,我们可能对介数感兴趣。就介数而言,我们可以看到,大多数社区或网络的介数都很低,它们处于边缘。但也有一些介数很高。因为我们在 JMP 中使用关联数据表,所以我们可以选择这些介数,然后返回到我们的网络图,看看它们是谁。
我认为这确实展现了 Python 的强大功能,可以进行 JMP 原生无法完成的分析。本质上,只需将数据发送到 Python,然后抓取结果并将其导入 JMP 的交互式图表即可。我们可以对此处的任何选择执行此操作,然后返回到我们的网络图。
我认为网络分析实际上包含两个部分。首先是统计部分,也就是获取我们这里提到的网络统计数据;其次是可视化部分。有很多不同的图表选项可以帮助你以更方便的方式排列这些节点和边,从而提供更多信息。
您可以更改排列方式。有些网络在不同的排列方式下可能看起来不错,您只需选择并运行它们即可。它会将网络传回 Python 运行 NetworkX 分析,重新生成空间方向,然后将其返回。您还可以更改这些网络的系数。您会发现不同的系数也会导致不同的结果。我现在先回到弹簧。您会注意到,如果您只运行同一个程序几次,您可能会得到不同的视图,仅仅是因为它们的起始点是随机的。
您可能还想做的另一件事是为以后的列选择不同的颜色或大小。在本例中,我们或许应该回到度数。我要找到节点颜色。我选择它,它实际上就是度数。我选择该列,点击“确定”,这样我们就可以回到节点颜色了。我还想提一下,这是使用 JMP 的气泡图功能。您也可以使用所有常用的气泡图选项。在本例中,我们或许希望所有节点都填充并带有轮廓,以便形成对比。
您可能想要做的最后一件事是更改边线。您可以更改边线颜色。如果您不喜欢该颜色,可以通过列来为其着色。我在这里想要做的可能是更改这些线的宽度。我们知道,在我们的调查中,我们有频率列,但在我们的网络图中,每条线都是相同的宽度。如果我根据频率更改宽度会怎么样?现在,我不仅可以看到谁在与谁交流,还可以看到交流的频率。我们可以将其更改为列,我将将其更改为“频率”,然后单击“确定”。现在,我们当然可以看到最频繁的对话在哪里。即使有些人像这两个人一样在交流,但交流次数并不多。我们当然可以在这张图中看到谁交流最多,只是为了添加额外的信息。
您还可以进行各种其他自定义。您现在实际上可以使用边权重列来运行此排列。在网络图中,节点和边在结果或最终排列中扮演着不同的角色。您可以添加权重列并重新运行它,得到不同的排列,以帮助展现您想要讲述的故事。
这就是我真正想展示的全部内容。希望如果你刚开始接触网络分析,或者看完这篇文章后想要开始学习,你会发现这里有很多工具可以帮助你,在 JMP 和 Python 之间进行交互。Jerry,我把这个交给你了。
好的。谢谢,斯科特。有一件事我想……我们看看能不能同时在这里分享。一举两得,一边聊天一边分享。我想指出的是,你一直在谈论 Python 和 JMP。JMP 与 Python 配合得很好,而且你正在使用……为什么要重新发明轮子呢?你使用 Python 进行一些计算,然后利用 JMP 的强大功能和交互功能来显示数据。我觉得这太棒了。现在,我们应该再次分享了。
这些数据从何而来?关于图表本身我们已经讨论过很多了。嗯,我们已经提到过这可能是一项调查。不过,我还是想在这里补充一点。做调查时要注意隐私问题。你可能会问一些人们可能不想回答的问题,这可能会带来麻烦。如果你是为了人力资源部门申请,请务必与人力资源部门沟通。你可以从Facebook、LinkedIn之类的平台下载一些数据,并查看这些社交网络。
你可能需要考虑一些问题。如何量化连接的强度?斯科特提到了连接的频率,我认为你用的是1-10的量表。那么,如何确保一个人量表上的7分在另一个人量表上也是7分呢?这是这些主观量表的常见问题。
你该如何解决人际关系上的差异?假设甲说:“我和……关系很密切。” 又比如说:“我和斯科特关系很密切。” 斯科特说:“不,我和杰瑞其实根本不怎么说话。” 你该如何解决这个问题?我没有好的答案。这可能需要你自己去思考。
你如何量化信息流的方向?斯科特可能每天都会给我很多信息,但我给他的信息却不多。我们之间可能联系紧密,沟通频率也很高,但信息都是单向流动的。你在使用这个插件时需要考虑很多不同的事情。
在人力资源领域,我们讨论过如何发现隐藏的影响者和孤立的个体。你也可以用它来提升入职培训的效果。你招募员工时,与其只给他们看组织结构图,不如说:“这个人是关键人物。你想和他接触,因为他对目前的情况非常了解。” 你可以用这张图来展示这一点。在变革管理方面,如果你宣布了新的组织架构,这可能是一个展示这一点的好方法。你可以用它来解释人力资源部门的行动,比如晋升和鼓励员工。你可以看到组织内部的信息流,所有这些都对企业有用。
现在,正如我之前所说,除了人力资源之外,还有其他应用。如果你查看帮助文档,你会看到这些……我记得斯科特在他的帮助文件中嵌入了四张幻灯片。斯科特,你想分别说明一下这些幻灯片分别是什么吗?
当然。每个数据集都可以在插件中找到。这个数据集是匿名的 Facebook 数据。在这种情况下,有数千个节点,您可能想要分析这些数据,看看谁是影响者,或者谁可能是两个不同社群之间的桥梁。在本例中,我们通过选择一个节点来给它们着色。我们选择了紫色节点,选择了所有连接的节点,然后这些节点被涂成蓝绿色,而任何未连接到紫色的节点都显示为蓝色。您可以看到,在底部的蓝色区域里,紫色节点与蓝绿色节点相连。您可以看到谁是连接者,或者谁可能是大型社交网络中的影响者。
下一个是微生物组分析。这是对一些已发表结果的复现,我提供了该出版物的链接以及数据集。这可以显示哪些细菌、哪些微生物(在本例中是肠道中的细菌、微生物)可以以正向或负向的方式相互作用,以及这些相互作用的强度或厚度。现在您可以开始了解生态或生物系统之间的关系。
下一个例子,这只是一个有趣的例子。我在寻找网络分析的例子时看到了这个图。我找到了这个数据集,只是想展示一下如何制作一些有趣的网络图。它展示了1886年至1985年世界象棋锦标赛的所有不同比赛和比赛。只需说明谁与谁对弈即可。在很多情况下,它都是线性的,但你确实可以看到其中有一些分支。伊曼纽尔·拉斯克与很多人对弈过。你可以看到鲍比·菲舍尔在最上面,只与鲍里斯·斯帕斯基对弈过。这只是这个数据集中的一个有趣的例子,我相信插件中也有这个功能。
菲舍尔是我小时候学棋时的偶像。我正在和自己约会。
最后一个例子是……我记得在JMP中,当谈到人工神经网络时,我们经常讨论预测模型和神经网络。另一个应用是将实际的神经网络可视化。这是某种蠕虫,它的实际神经网络被映射出来了。每个节点都是一个神经元,它与不同的神经元有不同的连接。我运行了一个简单的社群聚类算法,根据这些节点给它上色,并进行排列。你可以看到,它看起来几乎像一张人工神经网络图,然后根据节点之间的连接数给这些边上色。颜色越深,表示节点之间的连接越多。
希望如果您刚开始进行网络分析,但还没有数据,您可以开始使用这些数据集进行练习。
网络图还有其他应用。你可以查看利益相关者关系和客户关系,以及项目管理。你可以绘制社区资源图,促进合作。如果你发现两个团体独立运作良好,你可以将它们整合在一起。疾病传播。也许你可以查看哪些社区爆发了某种疾病,哪些没有,以及可能存在的障碍在哪里。供应链图谱,以及你可以用它做的很多不同的事情。
我们的插件……我不太常用。Scott 的插件在 marketplace.jmp.com。在那里你可以找到目前 JMP 的所有插件,所有 JMP 可用的插件。搜索“网络分析”,或者直接输入这个特定的 URL。一定要搜索“网络分析”。还有一个插件,叫做“网络分析”,或者其他什么的。我相信它也很有用,但这个插件叫做“网络分析”。下载并安装到 JMP 后,你就可以访问 Scott 随插件提供的帮助文档和示例数据文件了。
最后,我要向大家致以谢意。特别感谢斯科特,感谢他为筹备此次活动付出的辛勤劳动。感谢各位观众和听众朋友关注我们的工作。如有任何疑问,请点击这里查看我们的联系方式。欢迎随时联系我们。我们很乐意与您交流。谢谢!