加权图中的集中度量

机器算法验证 r 图论 网络 社交网络 图形
2022-03-11 12:34:06

我正在使用igraphR来分析网络数据。我目前正在尝试为我的图的顶点和相应的中心化分数计算一些中心性度​​量。我的网络既是定向的又是加权的。

require(igraph)
set.seed(12152)

m <- expand.grid(from = 1:4, to = 1:4)
m <- m[m$from != m$to, ]
m$weight <- sample(1:7, 12, replace = T)

g <- graph.data.frame(m)

我可以毫不费力地使用该closeness函数来获取每个顶点的接近中心性:

closeness(g, mode = "in")
closeness(g, mode = "out")
closeness(g, mode = "total")

但是,centralization.closeness函数 fromigraph似乎不适用于有向图。 igraph确实包括一种从图形(centralize.scores函数)中的各个中心性分数计算自定义中心化的方法,但是该函数要求用户指定中心性度量的理论最大值,而且对我来说这将是什么并不明显加权示例(我相信内置centralization.closeness.tmax函数igraph假设未加权图)。

有谁知道如何计算加权图中的中心化分数?有没有一种好方法可以在 R 中使用igraph或其他包来完成此任务?

2个回答

所有中心性度量都取决于数据的形状。拉普拉斯中心性是加权图中心性的一个令人信服的度量。

定义一个矩阵来存储我们的权重。

Wij={wij:ij0:i=j

定义一个矩阵,其中对角线是与节点关联的权重之和。

Xij={0:iji=0nWi:i=j

拉普拉斯算子定义为

L=XW

我们可以定义图的一个属性,拉普拉斯能量。

E=i=0nλi2

其中是与拉普拉斯算子相关的特征值。λ

我们可以等效地求解,而不是对我们的矩阵进行特征求解。

E=i=0nxi2+2i<jwij2

为了定义图中特定节点的重要性,我们删除该节点并计算能量。

考虑以下数据,这些数据由 1000 个多元正态观测值的 RBF 内核生成,这些观测值以原点为中心,标准差为单位。两个数字的指数相同。数据是根据每个观测值与原点的距离进行预排序的。Rn

样本数据。

拉普拉斯算子的重要性超出了这个答案的范围。拉普拉斯算子是谱图论中许多尖锐定理的核心,也是流形学习和聚类文献中许多实际结果的核心。如果您认为您将在不久的将来处理加权图,我强烈建议您阅读该主题。

为了回答这个问题:

有谁知道如何计算加权图中的中心化分数?有没有用 igraph 或其他包在 R 中完成此任务的好方法?

我认为最好的方法是使用图书馆centiserve该库包含许多中心性方法,其中之一是Laplacian Centrality它与igraph一起使用是最好的。