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

matlab图论分析之指标计算(二)

图论分析是一种研究大脑功能网络的有效方法。通过将大脑的不同区域或电极视为节点,区域或电极之间的连接视为边,可以构建脑功能网络,并利用图论工具分析器拓扑特性。图论分析的指标有很多,简单介绍如下:
全局属性:
聚类系数:衡量节点聚集程度;
特征路径长度:衡量信息传递效率;
小世界性:兼具高聚类和短路径的特征;
全局效率:衡量网络信息传递效率;
局部属性:
节点度:节点的连接数;
介数中心性:节点在网络中的枢纽程度;
局部效率:衡量节点局部信息传递效率;

本次分析,主要计算特征路径长度,聚类系数,小世界指数,小世界指数是由特征路径长度和聚类系数计算出来的,我们为了便于计算,首先定义一个smallworldness函数,同时计算出这三个指标,具体实现如下:

function [L,C,sigma] = smallworldness(A,B)
输入A:邻接矩阵(二值图或加权图,都是无向的);B:1为二值图,2为加权图;
输出:L特征路径长度,C为聚类系数,sigma为小世界指数

% 随机时的参数初始化
L_rand = 0;
C_rand = 0;
ITER  = 10; % 判断是二值图还是加权图
if B == 1   % 二值图L = distance_bin(A);L = mean(L(L > 0 & L ~= inf)); % 特征路径计算,排除0和无穷大C = clustering_coef_bu(A);  % 聚类系数C = mean(C);         % 均值C% 随机生成网络for i = 1:ITERrand = randmio_und(A,10);% 随机网络 ,函数生成与实际网络具有相同的度分布D = distance_bin(rand);random_L = mean(D(D > 0 & D ~= inf));L_rand = L_rand + random_L; % 随机特征路径C_rand = C_rand + mean(clustering_coef_bu(rand)); % 聚类系数均值endL_rand = L_rand/10;C_rand = C_rand/10;sigma = (C/C_rand)/(L/L_rand);   % 计算小世界指数
elseL = distance_wei(A);L = mean(L(L > 0 & L ~= inf)); % 特征路径计算C = clustering_coef_wu(A);  % 聚类系数C = mean(C);         % 均值C% 随机生成网络for i = 1:ITER% 随机网络 ,函数生成与实际网络具有相同的度分布random_y = A;  % 复制实际网络[row,~] = find(triu(A,1));  % 找到实际网络中的边numEdges = numel(row);         % 边数    weights = A(triu(A,1)>0); % 提取实际网络的权重random_weight = weights(randperm(numEdges));  % 随机化权重random_y(triu(A,1) > 0) = random_weight; % 更新权重random_y = triu(random_y,1) + triu(random_y,1)'; % 对称矩阵D = distance_wei(random_y); % 最短路径random_L = mean(D(D > 0 & D ~= inf));  % 忽略0或infL_rand = L_rand + random_L; % 随机特征路径C_rand = C_rand + mean(clustering_coef_wu(random_y)); % 聚类系数均值endL_rand = L_rand/ITER;C_rand = C_rand/ITER;sigma = (C/C_rand)/(L/L_rand);% 计算小世界指数end
% 

根据(一)中,或者其他方式计算出来的二值矩阵和加权矩阵,如:binary_matrix二值矩阵,weight_matrix加权矩阵,调用smallworldness函数:

[L_b,C_b,sigma_b] = smallworldness(binary_matrix,1);
[L_w,C_w,sigma_w] = smallworldness(weight_matrix,2);

计算结果如下:

在这里插入图片描述

注意:二值图的随机网络比较容易生成,而加权图的随机网络有些复杂,都需要与实际的网络保持度分布相同。计算方法有多种,选择自己擅长使用的即可。


http://www.mrgr.cn/news/94854.html

相关文章:

  • 游戏立项时期随笔记录(1)
  • Anaconda conda常用命令:从入门到精通
  • 自定义uniapp组件,以picker组件为例
  • 【自定义微信小程序拉下选择过滤组件】searchable-select
  • VSTO(C#)Excel开发12:多线程的诡异
  • Android的消息机制
  • 用户登出、修改密码或重置密码后,token的删除(flask)
  • LeRobot源码剖析——对机器人各个动作策略的统一封装:包含ALOHA ACT、Diffusion Policy、VLA模型π0
  • 数据结构------线性表(链表)
  • Flask+Vue-Router+JWT实现登录验证
  • 项目实战系列:基于瑞萨RA6M5构建多节点OTA升级-系统设计<一>
  • 【WRF数据准备】 基于CDO/Python 拼接 grib 数据:如ERA5 气象数据
  • 设计模式之外观模式:原理、实现与应用
  • HarmonyOS三层架构实战
  • 【Linux内核系列】:进程板块与文件板块的综合
  • C# 一文读懂委托与事件
  • 【C++进阶一】STL和string
  • Python集合
  • 【MySQL基础-9】深入理解MySQL中的聚合函数
  • SpringCloud 学习笔记2(Nacos)