高阶网络学习

版权申明:本文为原创文章,转载请注明原文出处

原文链接:http://example.com/post/5ad7933.html

高阶网络学习

高阶网络

一:高阶网络和传统网络区别

看了那么多文献,大概总结于一点,高阶网络是多维的,传统网络是一维的,怎么解释呢,就是高阶网络不再停留于单纯两个节点之间的关系,而是多个节点的关系。

以链路预测举例吧,传统链路预测会为每两个节点之间预测连接概率,事实上这种方法忽视了很多重要信息,比如可能多个节点之间有重要联系,缺一不可,所以需要以整个节点组成的局部网络,也就是单纯形为研究对象。

二:高阶网络重要概念

超图

在介绍超图之前先介绍什么是超边吧,超边不是我们以为的那个边,有固定的两个点组成边,而是对于一组相互联系的边组成的集合,对于它们来说有一条边联系着它们,但是也不是传统的两个节点之间的边,所以就叫做超边

超图顾名思义就是由超边组成的图

单纯复形

同样先介绍什么是单纯形(simplex),和超图不同的是,同样对于一组相互联系的边组成的集合,对于超图来说,是由超边将节点连接起来的,对于单纯复形来说是由实实在在的边连接起来的,也就是全连接图,每个节点都和集合里的其他节点相连,例如,节点是0-单纯形,连接是1-单纯形,三角形是2-单纯形,四面体是3-单纯形,以此类推。

单形的面是该单形的局部全连接子图,比如四面体里面存在三角形,存在连接,节点,那么0-单纯形,1-单纯形,2-单纯形都是3-单纯形的面

单纯复形就是由单纯形以及该单纯形的面组成的集合,和超图不同的是超图不一定有其超边的子超边,但是单纯复形一定有其单纯形的子单纯形,也就是面

三:时序网络

网络不可能是一成不变的,即节点以及节点之间的连接是不可能一成不变的,可能会有新增节点,可能会有删除的节点,以及节点之间的联系有可能变小,有可能变大,这也就导致了不同时间下网络的状态往往是不同的,这就是时序网络。

四:链路预测

基于时序网络,高阶网络,这里提到基于局部信息的链路预测,和传统链路预测不同点有两处:

  • 不再以两节点组成的边为研究对象,而是基于一个单纯复形作为研究对象
  • 链路预测不再只考虑一个时间点的链路信息,链路预测应当要遵循网络自身的变化规律,要考虑前面时间段网络的动态变化

基于高阶网络和时序网络的链路预测方式有很多,在此处考虑的预测开团是否会存在单纯闭包事件:开团指当前时间段未形成团的节点集合,团即指一个单纯形,闭包事件也就是节点之间建立了连接,形成了单纯形

五:虚假网络生成

三个要点:

  • 成本低
  • 符合时序网络变化(用链路预测进行检验)
  • 改变大(用高阶网络的重要节点识别)

思路:首先获取到会对网络改变性大的单纯形,然后找到最有概率出现的但实际不存在的单纯形,替代网络中最没有概率出现的单纯形

使用算法:GCN-GAN NETWORKGAN

先通过识别重要节点的算法识别出网络中的重要节点和序列,然后对包含该重要节点的序列的局部网络进行链路预测,这样预测出来的边应该是更具影响力且对网络影响比较大的,如果要增边的话就对原网络通过增加一个孤立节点然后预测最有可能连接的其他边,然后用其他链路预测的方式以及根据老师之前提到的进行评估我生成的边或者点是否是符合网络变化的,以及更多节点或者边重要性的算法来评估我生成的边或者点是否是重要节点或者边

pathpy.visualisation.html @singledispatch def plot(network: Any, **params: dict) -> None 在 jupyter 笔记本中绘制路径对象的交互式可视化。此泛型函数支持 pathpy 的实例。网络,可怜。时间网络,可悲。高阶网络,可悲。多序模型和路径。路径。请参阅参数说明中不同可视化项的说明。 形参:

network – 要可视化的对象。根据传递对象的类型,将生成以下可视化效果: 网络:具有力导向布局的网络的交互式可视化。高阶网络:一阶网络的交互式可视化,力基于高阶网络计算。通过设置 plot_higher_order_nodes=True,可以绘制具有未投影的高阶节点的网络。多阶模型:一阶网络的交互式可视化,基于多阶模型计算力。时间网络:时间网络的交互式和动态可视化。路径:冲积图,显示通过给定焦点节点的马尔可夫或非马尔可夫轨迹。

params – 带有可视化参数的字典。这些参数将传递到可由用户扩展的可视化模板。默认 pathpy 模板支持以下参数,具体取决于要可视化的对象类型(请参阅括号)。

  • width: int (all) 包含 jupyter 可视化效果的 div 元素的宽度。默认值为 400。
  • height: int (all) 包含 jupyter 可视化效果的 div 元素的高度。默认值为 400。
  • 模板:字符串(全部)自定义可视化模板文件的路径。如果省略此参数,将使用适合相应对象的默认 pathpy 可视化模板。
  • d3js_path:指向 d3js 库的字符串(所有)URL。默认情况下,d3js 将从 https://d3js.org/d3.v4.min.js 加载。对于脱机操作,可以改为指定指向 d3js 本地副本的 URL。对于自定义模板,可以使用特定的 d3js 版本。
  • node_size:int,dict(Network,HigherOrderNetwork,TemporalNetwork,MultiOrderModel)指定所有节点半径的int值,或将自定义节点大小分配给独立节点的字典。默认值为 5.0。
  • edge_width:int、float、dict(Network、HigherOrderNetwork、TemporalNetwork、MultiOrderModel) 指定所有边的半径的 int 值,或将自定义边宽分配给插入边的字典。默认值为 0.5。
  • node_color:string, dict (Network, HigherOrderNetwork, TemporalNetwork, MultiOrderModel) 指定所有节点的 HTML 颜色的字符串值,或将自定义节点颜色分配给独立节点的字典。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#99ccff”。(浅蓝色)
  • node_text:字符串、字典(Network、HigherOrderNetwork、MultiOrderModel)将鼠标悬停在节点上时显示的文本,例如包含节点属性、全名等。默认为节点名称。
  • edge_color:string, dict (Network, HigherOrderNetwork, TemporalNetwork, MultiOrderModel) 指定所有边缘的 HTML 颜色的字符串值,或将自定义边缘颜色分配给插入边缘的字典。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#cccccc”(浅灰色)。
  • edge_opacity:float(Network、HigherOrderNetwork、TemporalNetwork、MultiOrderModel) 0.0 到 1.0 范围内所有边的不透明度。默认值为 1.0。
  • edge_arrows:bool (Network, HigherOrderNetwork, MultiOrderNetwork) 是否为有向网络绘制边缘箭头。默认值为 True。
  • label_color:字符串(Network、HigherOrderNetwork、TemporalNetwork、MultiOrderModel) 节点标签的 HTML 颜色。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#cccccc”(浅灰色)。
  • label_opacity:float (Network, HigherOrderNetwork, TemporalNetwork, MultiOrderModel) 标签的不透明度。默认值为 1.0。
  • label_size:str(Network, HigherOrderNetwork, TemporalNetwork, MultiOrderNetwork) CSS 字符串,指定用于标签的字体大小。默认值为“8px”。
  • label_offset:列表(网络、高阶网络、时态网络、多阶网络)标签与节点中心的偏移量 [x,y]。对于 [0,0] 标签将显示在节点的中心。第一个和第二个分量的正值将标签分别向右和向上移动。默认值为 [0, -10],在节点上方显示标签,以适应比节点宽的标签。
  • force_charge:浮点,int () 要在力导向布局中使用的节点的电荷强度。默认值为 -20
  • force_repel:float,int(全部)节点之间排斥力的强度。较大的负值将增加节点之间的距离。默认值为 -200。
  • force_alpha:浮点数(全部)要传递给基础力导向布局算法的 alpha 目标(收敛阈值)。默认值为 0.0。
  • plot_higher_order_nodes:高阶网络 如果设置为 True,则将绘制具有高阶节点的原始高阶网络。如果为 False,则将绘制具有高阶力导向布局的一阶投影。默认值为 True。
  • ms_per_frame:int(时间网络)在时间网络的可视化中每帧应显示多少毫秒。1000/ms_per_frame 指定可视化的帧速率。默认值 20 产生 50 fps 的帧速率。
  • ts_per_frame:int(时间网络)在可视化的每一帧中应显示时态网络中的时间戳数。对于值为 1 时,每个时间戳显示在单独的帧中。对于较高的值,多个时间戳将聚合到单个帧中。对于零值,仿真速度将调整为事件间时间分布,以便平均每秒显示五次交互。默认值为 1。
  • look_behind:int (时间网络) look_ahead 和 look_behind 参数定义当前时间戳周围的时间范围,在该范围内,将考虑将带时间戳的边用于力导向布局。大于 1 的值会导致布局平滑更改。默认值为 10。
  • look_ahead:int(时间网络) look_ahead 和 look_behind 参数定义当前时间戳周围的时间范围,在该范围内,将考虑将带时间戳的边用于力导向布局。大于 1 的值会导致布局平滑更改。默认值为 10。
  • max_time:int(临时网络)要可视化的最大时间戳。可用于限制超长时态网络的可视化。如果为“无”,将显示整个序列。默认值为“无”。
  • active_edge_width:浮点数(时态网络)一个浮点值,它指定当前活动边的宽度。默认值为 4.0。
  • inactive_edge_width:浮点数(时态网络)一个浮点值,它指定当前活动边的宽度。默认值为 0.5。
  • active_edge_color:字符串(临时网络)一个字符串值,它指定当前活动边缘的 HTML 颜色。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#ff0000”(红色)。
  • inactive_edge_color:字符串(临时网络)一个字符串值,它指定非活动边缘的 HTML 颜色。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#cccccc”(浅灰色)。
  • active_node_color:字符串(临时网络)一个字符串值,它指定活动节点的 HTML 颜色。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#ff0000”(红色)。
  • inactive_node_color:字符串(临时网络)一个字符串值,它指定非活动节点的 HTML 颜色。可以使用HTML命名的颜色(“红色”,“蓝色”,“黄色”)或HEX-RGB值。默认值为“#cccccc”(浅灰色)。
Author

yyyyyyxnp

Posted on

2023-08-24

Updated on

2024-09-29

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.