Python(C++)大尺度分层边值时变图统计推理并行算法

news2024/9/9 4:20:17

🎯要点

🎯分层结构制定生成模型 | 🎯贝叶斯模型选择程序 | 🎯分层结构图的信息性 | 🎯分层模型适应实值边协变量的网络 | 🎯分层模型适应时变网络,划分层对应于检测变化点 | 🎯定义两种版本随机块模型:🖊具有边缘协变量模型概率分布,分层图总似然 | 🖊独立分层模型分层图数学似然计算 | 🎯推理算法:大图形尺度并行计算算法,过滤暂时被遮蔽的节点和边

📜分层图算法和统计推理用例

📜Python层内层外多图布局图基分析

📜C++和R穿刺针吸活检肿瘤算法模型模拟和进化动力学量化差异模型

📜Python药物副作用生物图分析算法和矩阵降维算法

📜Python鲁汶意外莱顿复杂图拓扑分解算法

📜Python群体趋向性潜关联有向无向多图层算法

📜Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法

📜MATLAB和Python零模型社会生物生成式结构化图

🍪语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇Python交通图模拟

假设我们的业务正在以惊人的速度增长。我们希望通过在 G.nodes 代表的当地城镇之一张贴广告牌来扩大我们的客户群。为了最大限度地提高广告牌的浏览量,我们将选择交通最繁忙的城镇。直观地说,交通量是由每天经过城镇的汽车数量决定的。我们可以根据预期的每日交通量对 G.nodes 中的 31 个城镇进行排序,使用简单的建模,我们可以从城镇之间的道路网络预测交通流量。
在这里插入图片描述
我们需要一种根据预期流量对城镇进行排名的方法。简单来说,我们可以简单地计算每个城镇的入站道路数:拥有五条道路的城镇可以接收来自五个不同方向的交通,而只有一条道路的城镇的交通流量则更为有限。节点的入度是指向节点的有向边的数量。但是,与网站图不同,我们的道路网络是无向的:入站边和出站边之间没有区别。因此,节点的入度和出度之间没有区别;这两个值相等,因此无向图中节点的边数简称为节点的度。我们可以通过对图的邻接矩阵的第 i 列求和来计算任何节点 i 的度,或者我们可以通过运行 len(G.nodes[i]) 来测量度。或者,我们可以通过调用 G.degree(i) 来利用 NetworkX 度方法。在这里,我们利用所有这些技术来计算经过 0 号镇的道路数量。

计算单个节点的度

adjacency_matrix = nx.to_numpy_array(G)
degree_town_0 = adjacency_matrix[:,0].sum()
assert degree_town_0 == len(G[0])
assert degree_town_0 == G.degree(0)
print(f"Town 0 is connected by {degree_town_0:.0f} roads.")
Town 0 is connected by 5 roads.

使用节点的度数,我们根据重要性对节点进行排序。在图论中,任何衡量节点重要性的指标通常称为节点中心性,而根据节点度数对重要性进行排序则称为中心度。现在,我们选择 G 中中心度最高的节点:这个中心节点将作为我们广告牌位置的初始选择。

使用中心度选择中心节点

np.random.seed(1)
central_town = adjacency_matrix.sum(axis=0).argmax()
degree = G.degree(central_town)
print(f"Town {central_town} is our most central town. It has {degree} "
 "connecting roads.")
node_colors[central_town] = 'k'
nx.draw(G, with_labels=True, node_color=node_colors)
plt.show()
Town 3 is our most central town. It has 9 connecting roads.

镇 3 是我们最中心的城镇。道路将其连接到九个不同的城镇和三个不同的县。镇 3 与第二中心城镇相比如何?我们将通过输出 G 中第二高的度来快速检查。

选择中心度第二高的节点

second_town = sorted(G.nodes, key=lambda x: G.degree(x), reverse=True)[1]
second_degree = G.degree(second_town)
print(f"Town {second_town} has {second_degree} connecting roads.")
Town 12 has 8 connecting roads.

城镇 12 有 8 条连接道路,仅落后城镇 3 一条道路。如果这两个城镇的度数相等,我们会怎么做?在图 中,我们看到一条连接城镇 3 和城镇 9 的道路。假设这条道路因失修而关闭。关闭需要移除 G 中的一条边。运行 G.remove(3, 9) 会移除节点 3 和 9 之间的边,因此城镇 3 的度数会变为与城镇 12 的度数相等。网络还发生了其他重要的结构变化。在这里,我们将这些变化可视化

从最中心的节点移除一条边

np.random.seed(1)
G.remove_edge(3, 9)
assert G.degree(3) == G.degree(12)
nx.draw(G, with_labels=True, node_color=node_colors)
plt.show()

模拟单车随机路线

np.random.seed(0)
def random_drive(num_stops=10):
 town = np.random.choice(G.nodes)
 for _ in range(num_stops):
 town = np.random.choice(G[town])
 return town
destination = random_drive()
print(f"After driving randomly, the car has reached Town {destination}.")
After driving randomly, the car has reached Town 24.

使用 20,000 辆汽车模拟交通

import time
np.random.seed(0)
car_counts = np.zeros(len(G.nodes))
num_cars = 20000
start_time = time.time()
for _ in range(num_cars):
 destination = random_drive()
 car_counts[destination] += 1
central_town = car_counts.argmax()
traffic = car_counts[central_town]
running_time = time.time() - start_time
print(f"We ran a {running_time:.2f} second simulation.")
print(f"Town {central_town} has the most traffic.")
print(f"There are {traffic:.0f} cars in that town.")
We ran a 3.47 second simulation.
Town 12 has the most traffic.
There are 1015 cars in that town.

检查 3 号镇的交通情况

print(f"There are {car_counts[3]:.0f} cars in Town 3.")
There are 934 cars in Town 3.

将客流量计数转换为概率

probabilities = car_counts / num_cars
for i in [12, 3]:
 prob = probabilities[i]
 print(f"The probability of winding up in Town {i} is {prob:.3f}.")
The probability of winding up in Town 12 is 0.051.
The probability of winding up in Town 3 is 0.047.

根据我们的随机模拟,我们将有 5.1% 的时间到达 12 号镇,而只有 4.7% 的时间到达 3 号镇。因此,表明 12 号镇比 3 号镇更靠近中心。

👉参阅、更新:计算思维 | 亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1961051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python中15个让你代码更优雅的上下文管理器用法

文末赠免费精品编程资料~~ 今天,我们要探索的是Python中一个超级实用又往往被低估的特性——上下文管理器。这可不是普通的魔法,它能让你的代码更加整洁、安全,还能自动处理资源,就像变魔术一样。准备好,让我们一起揭…

一分多行列转换(Gbase版)

1、源数据表结构 CREATE TABLE "sf_ref_pd_config" ("I_BATCH_NO" decimal(5,0) DEFAULT NULL COMMENT 批次ID,"V_ASSET_CLASS_NAME" varchar(200) DEFAULT NULL COMMENT 资产类型,"N_EXEC_ID" decimal(5,0) DEFAULT NULL COMMENT 执…

pyjwt:Python 中的 JWT 处理专家

文章目录 探索 pyjwt:Python 中的 JWT 处理专家简介:为何选择 pyjwt?什么是 pyjwt?安装 pyjwtpyjwt 的基本使用1. 编码JWT2. 解码JWT3. 验证签名4. 过期时间5. 自定义头部 场景应用场景一:用户登录场景二:A…

深度学习的数据类型总结

文章目录 1.基本概念1.比特(bit):2. **字节**(Byte):2. **数据类型**: 2. 相互转化 1.基本概念 1.比特(bit): 计算机中最小的数据存储单位,用 0 和 1 表示。信息传输速…

python制作一个AI聊天机器人-【python教程】教你用python制作一个AI聊天机器人,源码可分享,零基础也能实现!

要制作一个基本的AI聊天机器人,我们可以使用Python的多个库,其中一个非常流行且易于上手的是Rasa。一个简单的入门示例,我们可以使用pyttsx3,是一个Python库,用于将文本转换为语音。 它提供了一个简单易用的接口&#…

【ThingsBoard初体验】本地运行源码踩坑记录

前言 运行源码之前,请先编译源码。这很重要!!! 官网源码编译教程:http://www.ithingsboard.com/docs/user-guide/contribution/yuanmabianyi/ 如果编译过程中出现报错,请看我上一篇文章:【Thing…

《LeetCode热题100》---<滑动窗口篇两道>

本篇博客讲解LeetCode热题100道滑动窗口篇中的两道题 第一道:无重复字符的最长子串 第二道:找到字符当中的所有字母异位词 第一道:无重复字符的最长子串 哈希滑动窗口 class Solution {public int lengthOfLongestSubstring(String s0) {int…

nginx出现Refused to apply inline style because it violates

Content Security Policy的错误。根据错误提示,nginx拒绝应用内联样式,因为它违反了内容安全策略(Content Security Policy)。内容安全策略是一种浏览器机制,用于防止潜在的安全漏洞,通过限制从外部来源加载…

初步入门C ++之继承的概念

继承 ​ 继承,他的功能就如同他的名字一样,可以继承一个类的数据和方法,然后增添一些自己独有的数据和方法: 根据我们之前讲解初步入门C之类的例子,假如我们现在有一个长方体的类,它和长方型类唯一不一样…

屏幕录制与视频编辑的新纪元Camtasia Studio 2024

在数字化时代,视频已成为我们日常工作和生活中不可或缺的一部分。无论是教育、培训、营销还是娱乐,高质量的视频内容都发挥着至关重要的作用。而提到屏幕录制和视频编辑软件,Camtasia Studio无疑是一个家喻户晓的名字。随着2024年新版本的发布…

【Vue3】自定义组件

【Vue3】自定义组件 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文…

Java基本语法学习的案例练习

本文是在学习过C语言后,开始进行Java学习时,对于基本语法的一些案例练习。案例内容来自B站黑马编程课 1.HelloWorld 问题介绍;请编写程序输出“HelloWorld”. public class HelloWorld { public static void main(String[] args) { System.out.print…

树状机器学习模型综述(含python代码)

树状机器学习模型综述 树状模型是机器学习中一种非常重要的算法类别,因其直观的结构和良好的可解释性而广泛应用于分类和回归任务。本文将综述几种常见的树状模型,包括决策树、随机森林、LightGBM、XGBoost和CatBoost,讨论它们的原理、用途以…

高品质定制线缆知名智造品牌推荐-精工电联:高压线缆行业定制服务的领航者

定制线缆源头厂家推荐-精工电联:高压线缆行业定制服务的领航者 在当今这个高度信息化的社会,电力传输与分配系统的稳定运行至关重要。作为连接各个电力设备的纽带,高压线缆的质量直接关系到电力系统的安全性和稳定性。在定制高压线缆行业中&a…

【RK3568】点亮eDP屏幕+双屏异显

一、驱动eDP屏幕 一般来说,屏幕的规格书中会找到屏幕的相关参数,如没有,也可直接找屏幕厂商要,首先打开屏幕的规格书,搜索EDID Table,可找到如下信息: (1)显示时序配置 将…

越是熟人之间,越要注意这三个方面

不管什么时候,不管与谁相处,社交的边界和底线永远都是不变的。 对待陌生人的时候,我们总会按照既定的章法和礼节行事,可是在对待熟人的时候,很多人却忘了这些章法和礼节。虽然彼此熟悉了,不需要那么在乎章…

狗都能看懂的Imitation Learning的讲解

上一篇博客讲述了奖励稀疏时的训练方法。实际场景中,可能难度还会更大一些。很多场景很难有一个明确的reward,甚至没有reward。那么这里就提出模仿学习,即agent模仿expert的操作。具体两个方法是:Behavior Cloning、Inverse Reinf…

从0到100:旅拍小程序开发笔记(上)

背景调研 旅拍店或者摄影师可以在小程序上设置自己的可预约时间,价格,拍摄介绍,并定义不同的套餐(服装套数,底片张数,精修数量,取景风格,套餐价格等),顾客可以根据套餐内容和日程安…