我们之前的博客中讲了基于EEG的功能脑网络的构建,在脑网络构建完成之后,为了了解脑网络的拓扑结构,我们需要对其拓扑特征进行提取,这些特征可以作为后续的机器学习或深度学习的输入数据。

下面提供的参考代码均基于MATLAB,且需要提前安装BCT工具箱,没有安装的可以点击下面链接安装 http://www.brain-connectivity-toolbox.net

1.节点度(Degree)

节点度表示一个节点的连接数,是网络中节点的重要性或活跃度的度量。对于无向网络,节点度等于连接到该节点的边的数量。

M = readmatrix(filePath);
% M是二值化的连接矩阵

% 计算节点度
Degree = degrees_und(M);

2.聚类系数 (Clustering Coefficient)

聚类系数表示一个节点的邻居之间是否有较多的连接。它衡量了一个节点的邻居节点形成一个三角形的概率。

CC = clustering_coef_bu(M);  % 聚类系数,19*1 
CC = CC.';  % 使用转置操作将 19*1 数组转换为 1*19 数组

3. 特征路径长度 (Characteristic Path Length)

特征路径长度是网络中所有节点对之间最短路径长度的平均值。它反映了信息从一个节点传递到另一个节点的平均距离。

4.全局效率 (Global Efficiency)

全局效率是网络中信息传播的效率,定义为所有节点对之间的最短路径的平均倒数。

5.节点偏心率 (Nodal Eccentricity)

节点偏心率是指从某个节点到其他所有节点的最大最短路径长度。

6.网络半径(Network Radius)和网络直径 (Network Diameter)

网络的半径是最小偏心率,直径是最大偏心率。

[lambda, efficiency, ecc, radius, diameter] = charpath(distance_bin(M), 0, 1);  % 调用CHARPATH.m计算
ecc = ecc.'; % 使用转置操作将 19*1 数组转换为 1*19 数组

7.传递性 (Transitivity)

传递性是网络中三节点闭环的比例。即,三个节点如果两两之间都有连接,它们就构成一个三角形。

T = transitivity_bu(M);

8.网络密度 (Density)

网络密度是指实际存在的边数与可能的最大边数之比。

D = density_und(M);

9.同配型 (Assortativity)

同配型是指网络中节点之间的相似性,具体指节点度相似性。正同配型意味着度较高的节点倾向于连接度较高的节点,负同配型则是度较低的节点倾向于连接度较低的节点。

A = assortativity_bin(M, 0);

10.节点中心性 (Betweenness Centrality)

节点中心性表示节点在网络中的重要性,衡量节点作为最短路径中介的次数。高中心性的节点意味着它在网络中起着信息流通的中介作用。

BC = betweenness_bin(M);

11.特征向量中心性 (Eigenvector Centrality)

特征向量中心性是基于图的邻接矩阵计算的,它衡量一个节点与其他重要节点的连接性。它考虑了节点的邻居的中心性。

EC = eigenvector_centrality_und(M);
EC = EC.'; % 使用转置操作将 19*1 数组转换为 1*19 数组

12.K-核心中心性 (K-Coreness Centrality)

K-核心中心性度量节点在图中的核心性,表示节点所在的最大核心子图的阶数。

[coreness, kn] = kcoreness_centrality_bu(M);
% coreness:节点核心度  kn:k核的大小

13.富俱乐部系数 (Rich Club Coefficient)

富俱乐部系数描述了网络中高度节点(即度数高的节点)之间的连接程度。

RC = rich_club_bu(M);

14.流量系数 (Flow Coefficient)

流量系数是衡量网络中信息流动效率的一个指标,通常计算为网络中信息流的容量和信息流总量的比值。

[fc, FC, total_flo] = flow_coef_bd(M);
% fc:每个节点的流量系数  FC:整个网络的平均流量系数  total_flo:“流 ”过中心节点的路径数

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐