当前位置: 首页 > 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的基本语…...

别再手动打勾了!Word开发工具制作可交互表单(单选框/复选框/下拉框)保姆级教程

Word交互表单制作全攻略&#xff1a;告别低效符号&#xff0c;用ActiveX控件打造专业表单 还在用插入符号的方式制作Word表单吗&#xff1f;每次看到同事手动复制粘贴空心圆和实心圆来"填写"单选框&#xff0c;或是用打钩符号模拟复选框时&#xff0c;我都忍不住想分…...

XAPK转换APK终极指南:3步解决Android应用安装难题 [特殊字符]

XAPK转换APK终极指南&#xff1a;3步解决Android应用安装难题 &#x1f680; 【免费下载链接】xapk-to-apk A simple standalone python script that converts .xapk file into a normal universal .apk file 项目地址: https://gitcode.com/gh_mirrors/xa/xapk-to-apk …...

关于前端打包

一、为什么需要打包&#xff0c;或者说打包解决了什么问题1、模块化管理&#xff1a;存在的问题&#xff1a;过去用 <script> 标签手动管理依赖&#xff0c;会出现“全局变量冲突”、“顺序错误”、“难以维护”的问题。解决的方法&#xff1a;支持 ES Modules、CommonJS…...

arxiv.py API实战:从基础查询到高级筛选,帮你精准找到需要的那篇论文

arXiv.py API实战&#xff1a;从精准查询到高效筛选的科研利器 在科研工作中&#xff0c;找到一篇真正需要的论文往往比阅读论文本身更具挑战性。想象一下这样的场景&#xff1a;你隐约记得去年某位学者发表过一篇关于量子计算中特定算法的研究&#xff0c;标题可能包含"o…...

ROS2机器人避障仿真实战:用Webots_ros2驱动自定义URDF模型(附完整代码)

ROS2与Webots深度整合实战&#xff1a;从URDF建模到避障算法全流程解析 在机器人开发领域&#xff0c;仿真环节正变得越来越重要。想象一下这样的场景&#xff1a;你花费数周设计的机器人原型&#xff0c;在物理样机制作完成后才发现传感器布局存在致命缺陷——这种昂贵的试错成…...

大模型性能评估:统计方法与工程实践指南

1. 项目概述&#xff1a;大模型性能评估的统计方法论在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;的性能评估一直是研究者和工程师面临的核心挑战。不同于传统机器学习任务的评估范式&#xff0c;LLM的开放性生成特性使得其评估需要兼顾量化指标和质…...

制造业AI落地:工业流程智能化改造与Java企业级定制化交付

制造业正进入 AI 深度融合阶段&#xff0c;工业企业的研发、生产、质检、运维、管理等全流程都存在明确的智能化改造空间。对以 Java 技术栈为主的工业软件团队而言&#xff0c;如何在不颠覆现有架构、保障数据安全与业务稳定的前提下&#xff0c;快速把 AI 能力落地到产线与系…...

应变片称重技术原理与惠斯通电桥应用详解

1. 应变片称重技术的前世今生第一次接触应变片是在大学实验室里&#xff0c;当时教授让我们用指甲轻轻按压那片薄如蝉翼的金属箔&#xff0c;万用表上的数字立刻跳了起来。这种将机械力转化为电信号的神奇元件&#xff0c;如今已成为现代称重技术的核心部件。从超市收银台的电子…...

xbatis:强大 ORM 框架,多版本更新亮点多,多种查询写法超方便!

推荐理由xbatis 强大之处显著&#xff0c;单表、连表操作均可&#xff0c;能让开发者少写 1/3 甚至 2/3 的持久层代码。其 API 简单、快捷、优雅、简洁&#xff0c;构建 SQL 能力强。即便有了 AI&#xff0c;好用的 ORM 仍不可忽视&#xff0c;除非后续不维护。各版本更新内容1…...

SpringBoot消息积压排查:监控与扩容策略

在分布式系统架构中&#xff0c;消息队列已成为解耦系统组件、提升系统吞吐量的重要基础设施。然而&#xff0c;当消息消费速度跟不上生产速度时&#xff0c;就会出现消息积压&#xff08;Message Backlog&#xff09;问题&#xff0c;轻则导致系统响应延迟&#xff0c;重则引发…...