当前位置: 首页 > news >正文

高阶复杂网络重建:从时间序列中重建高阶网络

在这里插入图片描述
论文链接:https://www.nature.com/articles/s41467-022-30706-9

一、为什么要研究高阶网络?

复杂网络跟我们生活息息相关,例如社交网络的信息传播,疾病的感染扩散和基因调控网络的相互作用等。越来越多的研究突破了传统网络中两个节点之间成对的关系,研究三个,四个甚至更多节点之间的高阶关系。例如,科学家合作发表论文,成对的连接只能描述两个作者的合作,却无法表示多个作者的情况。这些高阶关系在社会、信息和生物的网络中是客观存在且重要的,但是我们很难直接获取这样的高阶结构,往往依靠观测数据来重建复杂网络中的高阶关系。

二、文章动机:

现有方法是从简单网络或是成对节点的观测中重建出网络中的高阶关系。时间序列作为复杂系统中的原始观测数据,是网络重建任务中不可忽略的。同时,直接从时间序列中重建高阶网络,是对复杂系统的推理建模,是具有挑战的任务。

今天介绍的这篇文章从二元时间序列中重构单纯复形(高阶网络结构),是具有代表性和开创性的工作。

关键词高阶网络网络重构时间序列单纯复形

三、什么是单纯复形(Simplices)?

ed7217174389450ba76b205d30ea4ce0 ed7217174389450ba76b205d30ea4ce0
图1 (a)简单网络;(b)单纯复形

单纯复形是高阶网络的一种形式,它是由一系列单纯形组成的集合,有强大的数学形式做支撑,例如上图1(a) 为普通的网络连接,图1(b) 中黑色的边可以看做1-simplices,黄色的完整三角形可以看做2-simplices。在作者合作网络中,任意两个作者合作的关系,可以看做1-simplices,三个作者一起合作的关系组成2-simplices。当然,四人或是多人合作的关系为3-simplices或n-simplices,如下图所示。单纯复形突破了简单两两成对之间的关系,形成了高阶网络。

ed7217174389450ba76b205d30ea4ce0
图2 n-simplices

四、算法方法

本文从重构2-simplices网络出发,利用社会传染病传播模型和本文提出的Simplicial Ising动态模型生成考虑高阶信息的二元时间序列数据。

算法重构可以分为三个部分:

  • 基于动力学模型生成的时序数据建立似然函数;

  • 利用统计学方法(EM)重构网络连接概率;

  • 2-step重构策略,优化提高框架效率。

算法框架细节如下:

1、建立似然函数

根据动力学生成的时序建立条件概率模型,个体 i 由其它单个个体 j 传染或激发的概率为:

ed7217174389450ba76b205d30ea4ce0
个体 *i* 由其它任意两个个体 *j*, *k* 传染或激发的概率:
ed7217174389450ba76b205d30ea4ce0
根据上面两种情况每一时刻状态变化的期望,得到个体i在所有时间感染或激活的似然函数:
ed7217174389450ba76b205d30ea4ce0
ed7217174389450ba76b205d30ea4ce0
2、EM重构

建立基于最大似然估计的EM算法:

ed7217174389450ba76b205d30ea4ce0
通过计算公式(13)和(14)的偏导,
ed721717438945
0ba76b205d30ea4ce0
得到公式(16)和(17)
ed7217174389450ba76b205d30ea4ce0
其中公式(16)即为个体 *i* 受单个其余个体 *j* 影响;公式(17)为 *j*, *k* 两个个体协同影响的概率,表示1-simplices和2-simplices网络的连接重建概率。
3、2-step策略

首先预测每一个个体(节点)的近似邻居,并提取预测邻居的时序,然后基于该数据重建出每个个体(节点)的两体和三体连接。该策略旨在保证精度的同时,减少计算时间。具体如图3所示

ed7217174389450ba76b205d30ea4ce0
图3 算法框架流程图

图3(a) 是基于2-simplices的高级动力学的网络,生成图b中的时间序列数据。根据上述介绍的算法,其中a->b->c->d->e 基于上述算法框架 1和 2,直接通过统计学方式计算每个连接的最大概率;a->b->f->h->h>i 为加入3 中的2-step策略的整体算法框架。

实验结果

为了验证算法框架的重建性能,本文基于两种高阶动力学数据(社会传染病传播和单纯形Ising动态),对3种人工合成的2-simplices(ERSC, SFSC, SWSC)和4个真实2-simplices(Hypertext2009, Thiers12, InVS15, LyonSchool)网络进行重建。

ed7217174389450ba76b205d30ea4ce0
图4 合成数据重建结果
ed7217174389450ba76b205d30ea4ce0
图5 真实数据重建结果

讨论

从实验可以看出该框架在合成2-simplices和真实2-simplices的鲁棒性和重建精度都很高,但是仍然存在一些限制。例如本文从二进制的时间序列中重建高阶网络,如何从实数或更一般的真实情形(数据缺失,噪声)重建高阶网络。并且本文对于时序的长度要求是较高的,如何从更短的时序中重建单纯复形或超图,都是后续有待研究的课题。

相关文章:

高阶复杂网络重建:从时间序列中重建高阶网络

论文链接:https://www.nature.com/articles/s41467-022-30706-9 一、为什么要研究高阶网络? 复杂网络跟我们生活息息相关,例如社交网络的信息传播,疾病的感染扩散和基因调控网络的相互作用等。越来越多的研究突破了传统网络中两…...

Day05 03-MySQL主从-主主原理与搭建详解

文章目录 第十六章 MySQL的系统架构(主从架构)16.1 MySQL集群架构的介绍16.1.1 主从架构介绍16.1.2 主从复制的原理 16.2 MySQL主从复制的实现16.2.1 环境说明16.2.2 主库配置16.2.3 从库配置16.2.4 主从复制测试 16.3 MySQL主主复制的实现16.3.1 主主复…...

STL之vector

目录 vector模拟实现一. vector的基本框架二. 常用方法及实现1.初始化和清理a. 默认构造函数b. 析构函数 2. 迭代器a. beginb. end 3.数据访问a. sizeb. capacityc. operator[]d. frontc. back 4.增删查改操作a. reserveb. resizec. insertd. push_backe. erasef. pop_back 5.构…...

2020年CSP-J认证 CCF非专业级别软件能力认证第一轮真题-单项选择题解析

2020 CCF认证第一轮(CSP-J)真题 一、单项选择题 (共15题,每2分,共30分;每题有且有一个正确选项) 1、在内存储器中每个存储单元都被赋予一个唯一的序号,称为 A、下标 B、序号 C、地址 D、编号 答案:C…...

vscode Delete `␍⏎·····`

在公司拉取代码报错 Delete ␍⏎,首先问题的关键是换行导致,相信你看别的博客也知道为什么了,但是我使用别的博客的解决办法,没搞定,无论是配置 auto 还是命令行执行,都不行 下面介绍我的解决办法 我使用…...

读书笔记-《ON JAVA 中文版》-摘要16[第十六章 代码校验]

文章目录 第十六章 代码校验1. 测试1.1 单元测试1.2 JUnit1.3 测试覆盖率的幻觉 2. 前置条件2.1 断言(Assertions)2.2 Java 断言语法2.3 Guava 断言2.4 使用断言进行契约式设计2.4.1 检查指令2.4.2 前置条件2.4.3 后置条件2.4.4 不变性2.4.5 放松 DbC 检…...

SQL Server:打造高效数据管理系统的利器

使用SQL Server进行数据管理 简介 SQL Server是由Microsoft开发的一款关系型数据库管理系统,它可以用于存储和管理大量结构化数据。本篇博客将介绍如何使用SQL Server进行数据管理。 数据库连接 在开始使用SQL Server之前,需要先建立与数据库的连接。…...

代码随想录二刷day20 | 二叉树之 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

day20 654.最大二叉树617.合并二叉树700.二叉搜索树中的搜索98.验证二叉搜索树 654.最大二叉树 题目链接 解题思路: 本题属于构造二叉树,需要使用前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 确定递归函数的参数…...

python基础知识(十三):numpy库的基本用法

目录 1. numpy的介绍2. numpy库产生矩阵2.1 numpy将列表转换成矩阵2.2 numpy创建矩阵 3. numpy的基础运算4. numpy的基础运算25. 索引 1. numpy的介绍 numpy库是numpy是python中基于数组对象的科学计算库。 2. numpy库产生矩阵 2.1 numpy将列表转换成矩阵 import numpy as …...

【SA8295P 源码分析】16 - TouchScreen Panel (TP)线程函数 tp_recv_thread() 源码分析

【【SA8295P 源码分析】16 - TouchScreen Panel (TP)线程函数 tp_recv_thread 源码分析 一、TP 线程函数:tp_recv_thread()二、处理&上报 坐标数据 cypress_read_touch_data()系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接:《【SA8295P 源码…...

Python3数据分析与挖掘建模(13)复合分析-因子关分析与小结

1.因子分析 1.1 探索性因子分析 探索性因子分析(Exploratory Factor Analysis,EFA)是一种统计方法,用于分析观测变量之间的潜在结构和关联性。它旨在确定多个观测变量是否可以归结为较少数量的潜在因子,从而帮助简化…...

【stable diffusion】图片批量自动打标签、标签批量修改(BLIP、wd14)用于训练SD或者LORA模型

参考: B站教学视频【:AI绘画】新手向!Lora训练!训练集准备、tag心得、批量编辑、正则化准备】官方教程:https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_README-en.md#automatic-captioning 一、…...

TCP可靠数据传输

TCP的可靠数据传输 1.TCP保证可靠数据传输的方法 TCP主要提供了检验和、序号/确认号、超时重传、最大报文段长度、流量控制等方法实现了可靠数据传输。 检验和 通过检验和的方式,接收端可以检测出来数据是否有差错和异常,假如有差错就会直接丢失该TC…...

Python 私有变量和私有方法介绍

Python 私有变量和私有方法介绍 关于 Python 私有变量和私有方法,通常情况下,开发者可以在方法或属性名称前加上单下划线(_),以表示该方法或属性仅供内部使用,但这只是一种约定,并没有强制执行禁…...

Kotlin Lambda表达式和匿名函数的组合简直太强了

Kotlin Lambda表达式和匿名函数的组合简直太强了 简介 首先,在 Kotlin 中,函数是“第一公民”(First Class Citizen)。因此,它们可以被分配为变量的值,作为其他函数的参数传递或者函数的返回值。同样&…...

uniapp 小程序 获取手机号---通过前段获取

<template><!-- 获取手机号&#xff0c;登录内容 --><view><!-- 首先需要先登录获取code码&#xff0c;然后才可以获取用户唯一标识openid以及会话密钥及用于解密获取手机的加密信息 --><view click"login">登录</view><view…...

面板安全能力持续增强,新增日志审计功能,1Panel开源面板v1.3.0发布

2023年6月12日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.3.0版本。 在这一版本中&#xff0c;1Panel进一步增强了安全方面的能力&#xff0c;包括新增SSH配置管理、域名绑定和IP授权支持&#xff0c;以及启用网站防盗链功能。此外&#xff0c;该版本…...

k8s学习-CKS考试必过宝典

目录 CKS考纲集群安装&#xff1a;10%集群强化&#xff1a;15%系统强化&#xff1a;15%微服务漏洞最小化&#xff1a;20%供应链安全&#xff1a;20%监控、日志记录和运行时安全&#xff1a;20% 报名模拟考试考试注意事项考前考中考后 参考 CKS考纲 集群安装&#xff1a;10% 使…...

jmeter如何将上一个请求的结果作为下一个请求的参数

目录 1、简介 2、用途 3、下载、简单应用 4、如何将上一个请求的结果作为下一个请求的参数 1、简介 在JMeter中&#xff0c;可以通过使用变量来将上一个请求的结果作为下一个请求的参数传递。 ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测…...

JAVA如何学习爬虫呢?

学习Java爬虫需要掌握以下几个方面&#xff1a; Java基础知识&#xff1a;包括Java语法、面向对象编程、集合框架等。 网络编程&#xff1a;了解HTTP协议、Socket编程等。 HTML、CSS、JavaScript基础&#xff1a;了解网页的基本结构和样式&#xff0c;以及JavaScript的基本语…...

国产AI Agent爆发:从“龙虾风暴”看企业级Agent工具选型与实战指南

摘要&#xff1a; 作为一名在企业架构领域摸爬滚打15年的老兵&#xff0c;我见证了从SOA到微服务&#xff0c;再到如今AI原生架构的数次演进。2026年3月底&#xff0c;国内AI圈掀起的“龙虾风暴”标志着Agent工具正式进入爆发期。然而&#xff0c;对于IT负责人和CIO而言&#x…...

Graphormer开源镜像部署指南:3.7GB轻量模型GPU快速启动(RTX4090实测)

Graphormer开源镜像部署指南&#xff1a;3.7GB轻量模型GPU快速启动&#xff08;RTX4090实测&#xff09; 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络&#xff0c;专门为分子图&#xff08;原子-键结构&#xff09;的全局结构建模与属性预测而设计。该模…...

hadoop+spark+hive租房推荐系统 租房数据智能分析平台 Django框架 可视化 Requests爬虫

1、项目介绍 技术栈 Python语言、Django框架、MySQL数据库、Echarts可视化 工具、requests爬虫框架&#xff0c;用于58同城租房数据的采集清洗、多维度分析与可视化展示。功能模块租房数据可视化大屏租房数据管理系统首页租房数据条件查询评论功能租房数据展示项目…...

Doorkeeper与Rails Engines集成终极指南:如何在大型项目中组织认证模块

Doorkeeper与Rails Engines集成终极指南&#xff1a;如何在大型项目中组织认证模块 【免费下载链接】doorkeeper Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape. 项目地址: https://gitcode.com/gh_mirrors/do/doorkeeper Doorkeeper是一个强大的OAuth …...

微信聊天记录备份工具:守护数字记忆的安全防线

微信聊天记录备份工具&#xff1a;守护数字记忆的安全防线 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 在数字化时代&#xff0c;微信聊天记录已成为我们生活与工作的…...

STM32精准延时实现与Keil调试技巧

1. 精准延时在单片机开发中的重要性在STM32等嵌入式系统开发中&#xff0c;精准延时是基础但至关重要的功能。我最近调试一块自制的STM32开发板时&#xff0c;就遇到了需要精确控制时序的场景。比如在驱动LCD屏幕时&#xff0c;某些控制信号需要维持15ms的精确延时&#xff0c;…...

头皮上也长痘痘,一梳头就碰到好痛怎么办?

很多人都有过头皮长痘的困扰&#xff0c;一梳头碰到就痛&#xff0c;别提多难受了。其实&#xff0c;头皮长痘和我们的健康息息相关&#xff0c;下面就来详细说说其中的原因和解决办法。痘痘成因大揭秘清洁不到位头皮和脸部皮肤一样&#xff0c;会分泌油脂。如果平时洗头不勤&a…...

镜像视界|大模型+空间智能:公安视频系统迈入“目标持续掌控时代”——融合多视角三角测量、动态三维重构与行为认知引擎的无感定位体系

&#x1f4d8; 镜像视界&#xff5c;大模型空间智能&#xff1a;公安视频系统迈入“目标持续掌控时代”——融合多视角三角测量、动态三维重构与行为认知引擎的无感定位体系一、时代转折&#xff1a;公安视频系统进入“大模型时代”近年来&#xff0c;以大模型为代表的新一代人…...

效率飞跃:用快马平台快速测试与集成Copaw生成的用户认证模块

最近在开发一个需要用户系统的项目时&#xff0c;遇到了一个常见问题&#xff1a;如何快速验证从Copaw下载的认证模块代码是否真的能正常工作&#xff1f;传统方式需要手动搭建测试环境、配置数据库、编写测试用例&#xff0c;整个过程耗时耗力。直到发现了InsCode(快马)平台&a…...

Verilog有限状态机实战:5分钟搞定红绿灯控制器(附完整代码)

Verilog有限状态机实战&#xff1a;从红绿灯控制器掌握FPGA设计精髓 红绿灯控制器是数字电路设计的经典案例&#xff0c;也是学习Verilog有限状态机&#xff08;FSM&#xff09;的最佳切入点。作为FPGA初学者&#xff0c;你可能已经看过各种理论讲解&#xff0c;但真正动手时依…...