图的拉普拉斯矩阵的谱分解。
用法
embed_laplacian_matrix(
graph,
no,
weights = NULL,
which = c("lm", "la", "sa"),
type = c("default", "D-A", "DAD", "I-DAD", "OAP"),
scaled = TRUE,
options = arpack_defaults()
)
参数
- graph
输入图,有向或无向。
- no
一个整数标量。此值为谱嵌入的嵌入维度。应小于顶点数。最大的
no
维非零奇异值用于谱嵌入。- weights
用于计算加权嵌入的可选正权重向量。如果图具有
weight
边属性,则默认使用此属性。对于加权嵌入,使用边权重而不是二进制邻接矩阵,并且顶点强度(参见strength()
)代替度。- which
要使用的特征值(或对于有向图,奇异值)。 “lm”表示幅度最大的特征值,“la”是(代数)最大的特征值,“sa”是(代数)最小的特征值。 默认为“lm”。 请注意,对于有向图,“la”和“lm”是等效的,因为奇异值用于排序。
- type
要使用的拉普拉斯算子的类型。 图的拉普拉斯算子存在各种定义,可以通过此参数在它们之间进行选择。
可能的值:
D-A
表示 \(D-A\),其中 \(D\) 是度矩阵,\(A\) 是邻接矩阵;DAD
表示 \(D^{1/2}\) 乘以 \(A\) 乘以 \(D^{1/2}\),\(D^{1/2}\) 是度矩阵的平方根的逆矩阵;I-DAD
表示 \(I-D^{1/2}\),其中 \(I\) 是单位矩阵。OAP
是 \(O^{1/2}AP^{1/2}\),其中 \(O^{1/2}\) 是出度矩阵的平方根的逆矩阵,\(P^{1/2}\) 对入度矩阵相同。OAP
未为无向图定义,并且是有向图的唯一定义类型。默认值(即类型
default
)是对无向图使用D-A
,对有向图使用OAP
。- scaled
逻辑标量,如果
FALSE
,则返回 \(U\) 和 \(V\) 而不是 \(X\) 和 \(Y\)。- options
一个命名的列表,其中包含 ARPACK 中 SVD 计算算法的参数。 默认情况下,值的列表被分配给由
arpack_defaults()
给出的值。
值
包含以下条目的列表
- X
估计的潜在位置,一个
n
乘以no
矩阵,n
是顶点数。- Y
无向图为
NULL
,有向图的潜在位置的后半部分,一个n
乘以no
矩阵,n
是顶点数。- D
算法计算的特征值(对于无向图)或奇异值(对于有向图)。
- options
一个命名列表,包含有关底层 ARPACK 计算的信息。有关详细信息,请参见
arpack()
。
详细信息
此函数基于图的拉普拉斯矩阵 \(L\) 计算图的 no
维欧几里得表示。 此表示是通过拉普拉斯矩阵的奇异值分解计算的。
它们本质上与 embed_adjacency_matrix()
做的事情相同,但在拉普拉斯矩阵而不是邻接矩阵上工作。
参考文献
Sussman, D.L., Tang, M., Fishkind, D.E., Priebe, C.E. A Consistent Adjacency Spectral Embedding for Stochastic Blockmodel Graphs, Journal of the American Statistical Association, Vol. 107(499), 2012
作者
Gabor Csardi csardi.gabor@gmail.com