【发布时间】:2019-09-08 11:07:10
【问题描述】:
library(igraph)
set.seed(41)
n<-10
A <- sample.int (2, n*n, TRUE)-1L; dim(A) <- c(n,n);
m <- sum(A)
g <- graph_from_adjacency_matrix(A)
k_in <- degree(g, v = V(g), mode = "in", loops = TRUE, normalized = FALSE)#; k_in
k_out <- degree(g, v = V(g), mode = "out", loops = TRUE, normalized = FALSE)#; k_out
p <- (k_in %*% t(k_out) / (2*m))/(k_in %*% t(k_out) / (2*m) + k_in %*% t(k_out) / (2*m))
round(p, 3)
概率矩阵p的所有值都是0.5。
我认为p的分母有误差,因为矩阵A不是对称的。
问题。如何正确指定分母?
编辑。在 Stéphane Laurent 的回答之后。
我认为我们应该有不同的值:k_j_out、k_i_in、k_i_out、k_j_in。
最后,我需要得到权重矩阵W。
I <- matrix(0, n, n); diag(I) <- 1
W <- A %*% (I - P) - t(A) %*% (I - P)
而且我认为这个矩阵应该是对称的。
【问题讨论】:
-
mathjax 在 stackoverflow 上不受支持。请编辑您的问题,使其更具可读性
-
@Cettt,我已经添加了图片。