Motifs与Graphlets

news/2024/7/8 8:42:01

目录

引入

Subgraphs

Network motifs

1.定义

2. 检测motifs

3.motifs 概念的变体

graphlets

如何找到modifs与graphlets


引入

Subnetworks是构建网络的模块,它们可以表征网络的结构与区分不同的网络。

下图中的子图是(每一个和其他的都不同)异构的,且都是连通的、有不同数量的边、边的方向不同

 

1.对于每一个子图:想象有一个矩阵可以区分子图的”significance“

  • 负值表明 under-representation
  • 正值表明 over-representation

2.创建一个network significance profile

是一个具有所有子图significance值的feature vector

3.通过比较network significance profile区分不同的图

 

 从图中可以看出来自相同领域的网络有相似的significance profile;不同领域的significance profile值不同

 

 

 

Subgraphs

Network motifs

1.定义

network motifs:

  • pattern:小的诱导子图(图 G 的诱导子图是由图 G 的顶点的子集 X 和连接子集 X 中顶点对的所有边组成的图。)
  • Recurring:出现的频率很高
  • Significant:比预期出现的更频繁(预期是指和null model相比,最简单的null model可能就是ER随机图等,但更好的是和图中的度数保持一致)

 

(1)pattern小的诱导子图:

图中红色三角形里不是motifs因为它不是诱导子图

 

(2)Recurrence:

允许重叠的overlapping motifs,图中感兴趣的motif有四次occurrences

 

 (3)Significance

(3.1)思想:在真实世界中比随机网络中出现更频繁的子图有功能significance

图中的motif在真是网络中出现比随机图中出现频繁——overprep're'se

 

(3.2)计算significance

  •  Motifs在真实网络和随机网络(null model)相比是overrepresented

Z_{i}定义了统计意义的motif i的重要性

SP是一个归一化的Z-scores向量,为什么归一化?因为SP强调了子图的相对significance:   

      比较不同规模网络的importance,通常网络规模越大Z-score的分数越大(则比较两个网络的significance不知道是因为本来motifs频率大还是网络规模大)            

  •  Configuration Model——在计算significance时如何构造null model(零模型)
    • 构造方法一:随机连接   

构造出与真实网络有相同degree sequence的null model  

 忽略随机连节点对时可能出现double边或self-loops,虽然可能产生degree sequence不同了,但当网络规模很大时,可以近似相等。

   

  •  构造方法二:随机交叉 

        随机选择一对边,然后重连两个边,交叉两个点。 生的随机图的节点的度,不发生改变。但计算的代价会较高,运行慢。 为了保证随机图的随机性,需要运行的次数为 Q * E 次,其中Q应尽可能的大,如100。

 

2. 检测motifs

  • 计算真实网络中子图i
  • 计算构造的随机图中子图i(有多个随机图,每个随机图和真实网络有i谢娜沟通的节点边数和度分布)
  • 计算Z-score,进一步归一化为SP,得分高的为网络的modif

3.motifs 概念的变体

graphlets

motifs是描述整个网络,整个网络有什么组成

graphlets是在一个给定节点周围描述整个网络

graphlets:rooted(基于给定节点)连通的异构子图与motifs区分

 引入GDV:计算一个节点参与的小图的数量

 

 GDV——是一个根植于给定节点的子图的数量向量

因为graphlets是诱导子图( induced subgraph 节点的所有连接都要包含在内),所以节点在位置c不行,另两个节点必须要连接。

 

GDV提供了一种测量节点局部网络拓扑的方法,通过比较两个节点的GDV提供了一种比node degree和聚类系数更细节的测量局部拓扑相似性的方法。

如何找到modifs与graphlets

  • 困难

找到size-k的modifs/graphlets需要解决两个挑战:枚举与计数。这两个计算很困难,计算时间久,因此只能找到小型的modifs/graphlets

  •  使用ESU枚举所有k-size modifs/graphlets

  •  Use ESU-Tree to Count Subgraphs

 

 


http://lihuaxi.xjx100.cn/news/126147.html

相关文章

仙人掌之歌——权力的游戏(1)

直播架构是怎么回事儿 “老陈,老陈,正忙呢,有空不,有空不?” 陈速听到后面有人叫着自己,语速挺快,声音听着还有些耳熟。回头一看,原来是易伟成这哥们。陈速心中不免诧异&#xff0c…

磁盘分区和NFS实验

磁盘分区 实验要求: 创建一个逻辑卷 请按下列要求创建一个新的逻辑卷: 创建一个名为 datastore 的卷组,卷组的大小为4G 逻辑卷的名字为 database ,所属卷组为 datastore,该逻辑卷大小为3G 将新建的逻辑卷格式化为 xfs 文件系统通过自动挂载…

黑马程序员C++类和对象【5】 —— 运算符重载(蓝桥杯必备知识)万字超详解

目录 🤡加号运算符重载 🤡左移运算符重载 🤡递增运算符重载 🤡递减运算符重载 🤡赋值运算符重载 🤡关系运算符重载 🤡函数调用运算符重载(仿函数) 🤡加…

基于Django框架的零食商城系统之Python毕设选题推荐

💖💖作者:IT跃迁谷毕设展 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等。平常会做一些项目定制化开发…

Java高级 线程

目录 一、什么是进程 二、什么是线程 三、进程和线程的区别 四、线程的组成 五、线程的组成 六、线程的特点 七、如何创建多线程 7.1 通过继承Thread实现多线程 ​编辑 7.2 获取和设置线程的名称 7.3 通过实现Runnable接口完成多线程 示例一:使用线程Thread类实现4个窗…

源码解析---net包

写在前面 并不是对net包所有内容解析,只是对常用的函数等相关部分进行一定程度的解剖 引子 import ("fmt""net/http" ) func main() {http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {w.Write([]byte("…

近似法概率潮流

通常潮流计算仅针对单一的系统运行方式。网络拓扑结构、变压器变比、节点注入功率等都是给定的。而在实际的电力系统运行过程中存在着诸多不确定性因素,例如负荷功率和发电机出力随时都在变化,网络结构由于故障或检修也会改变,以及测量和估计…

知识图谱下的关联交易

1、背景 针对商业企业日常行为活动日益复杂且欺诈行为频发的问题,将领域的行业知识与金融知识图谱技术结合,以更精准地识别与防范商业欺诈风险。采用图分析、图挖掘等技术,提取深层关联风险特征,并与行业经验知识相结合&#xff…