指數(shù)隨機(jī)圖模型 ERGM(Exponential Random Graph Models)
指數(shù)隨機(jī)圖模型(Exponential Random Graph Models闲先,ERGM)仰禀,也稱為 p* 模型品抽,是一種用于分析網(wǎng)絡(luò)數(shù)據(jù)的統(tǒng)計(jì)模型缺亮。該模型通過考慮圖中節(jié)點(diǎn)和邊之間的依賴關(guān)系娩梨,來捕捉網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性铣鹏。ERGM 的基本思想是透典,通過定義一系列統(tǒng)計(jì)量(稱為圖統(tǒng)計(jì)量)滤奈,這些統(tǒng)計(jì)量反映了圖的結(jié)構(gòu)特征摆昧,然后使用這些統(tǒng)計(jì)量來描述網(wǎng)絡(luò)的生成過程。
ERGM 的主要步驟包括:
定義圖統(tǒng)計(jì)量:
圖統(tǒng)計(jì)量是網(wǎng)絡(luò)中結(jié)構(gòu)特征的定量表示蜒程,例如節(jié)點(diǎn)的度數(shù)分布绅你、三角形閉包、節(jié)點(diǎn)屬性的同質(zhì)性等昭躺。這些統(tǒng)計(jì)量反映了網(wǎng)絡(luò)中的局部和全局結(jié)構(gòu)特征忌锯。構(gòu)建概率模型:
ERGM 假設(shè)給定圖統(tǒng)計(jì)量的線性組合(加權(quán)和)可以用于描述網(wǎng)絡(luò)的概率分布。具體來說领炫,ERGM 模型的形式可以表示為:
-
是隨機(jī)關(guān)系集;
是特定的關(guān)系集偶垮,當(dāng)
時(shí)表示有連接,
時(shí)表示無連接,這種連接既可以是有向的似舵,也可以是無向的脚猾。
-
是模型參數(shù),
是模型對應(yīng)的統(tǒng)計(jì)量,
是影響因素,
是歸一化常數(shù)砚哗,確保概率和為 1龙助。
- 給定該分布中的特定圖
,它出現(xiàn)的概率可以通過該公式進(jìn)行推導(dǎo)蛛芥,并且依賴于網(wǎng)絡(luò)
中的統(tǒng)計(jì)值
和對應(yīng)參數(shù)
泌参,因此,ERGM可以解釋某一網(wǎng)絡(luò)中的各種可能結(jié)構(gòu)規(guī)律常空。
參數(shù)估計(jì):
通過最大似然估計(jì)(MLE)或貝葉斯方法來估計(jì)模型參數(shù)沽一。由于歸一化常數(shù)
的計(jì)算涉及所有可能圖的遍歷,因此參數(shù)估計(jì)過程通常需要使用蒙特卡羅方法或偽似然估計(jì)漓糙。
模型檢驗(yàn)和診斷:
通過檢查模型的擬合優(yōu)度和殘差來評估模型的合理性铣缠。例如,可以使用 MCMC 方法生成樣本網(wǎng)絡(luò)昆禽,并將其與實(shí)際網(wǎng)絡(luò)進(jìn)行比較蝗蛙,以驗(yàn)證模型的擬合情況。
ERGM 的優(yōu)點(diǎn)在于它能夠靈活地捕捉網(wǎng)絡(luò)中的復(fù)雜依賴關(guān)系和結(jié)構(gòu)特征醉鳖。然而捡硅,由于模型的計(jì)算復(fù)雜性,特別是對于大規(guī)模網(wǎng)絡(luò)盗棵,模型的估計(jì)和檢驗(yàn)過程可能會比較耗時(shí)壮韭。
應(yīng)用領(lǐng)域
ERGM 被廣泛應(yīng)用于社會網(wǎng)絡(luò)分析、生物網(wǎng)絡(luò)研究纹因、通信網(wǎng)絡(luò)建模等領(lǐng)域喷屋。例如,在社會網(wǎng)絡(luò)分析中瞭恰,ERGM 可以用于研究社交網(wǎng)絡(luò)中的節(jié)點(diǎn)之間的關(guān)系模式和影響因素屯曹,識別關(guān)鍵節(jié)點(diǎn)和社區(qū)結(jié)構(gòu)。
示例
假設(shè)我們有一個(gè)包含 10 個(gè)節(jié)點(diǎn)的社交網(wǎng)絡(luò)惊畏,節(jié)點(diǎn)之間的連邊表示友誼關(guān)系恶耽。我們可以定義一些圖統(tǒng)計(jì)量,如節(jié)點(diǎn)的度數(shù)(表示每個(gè)節(jié)點(diǎn)的朋友數(shù)量)颜启、三角形閉包(表示朋友的朋友也是朋友的情況)偷俭。通過這些統(tǒng)計(jì)量,ERGM 可以用來分析和預(yù)測網(wǎng)絡(luò)的結(jié)構(gòu)特征农曲,例如預(yù)測哪些節(jié)點(diǎn)更可能形成新的友誼關(guān)系社搅。
參考文獻(xiàn)
- Robins, G., Pattison, P., Kalish, Y., & Lusher, D. (2007). An introduction to exponential random graph (p*) models for social networks. Social Networks, 29(2), 173-191.
- Wasserman, S., & Faust, K. (1994). Social Network Analysis: Methods and Applications. Cambridge University Press.
library(statnet)
library(ergm)
library(sna)
# 讀取數(shù)據(jù)
data("faux.magnolia.high")
fmh <- faux.magnolia.high
plot(fmh,displayisolates=FALSE,vertex.cex=0.8)
# 讀取數(shù)據(jù)成分--》計(jì)算度數(shù)和節(jié)點(diǎn)個(gè)數(shù)之間的關(guān)聯(lián)
table(component.dist(fmh)$csize)
# 描述圖
summary(fmh)
# 按類別繪制不同顏色的圖
plot(fmh,displayisolates=TRUE,vertex.col="Grade",vertex.cex=0.8)
# 節(jié)點(diǎn)度的計(jì)算
fmh.degreedist <- table(degree(fmh,cmode="indegree"))
fmh.degreedist
#根據(jù)分類變量來查看度數(shù)分布情況
summary(fmh ~ degree(0:8,"Sex"))
# 內(nèi)含三元組
summary(fmh ~ triangle)
# 內(nèi)含邊+三元組
summary(fmh ~ edges + triangle)
# 混合矩陣
mixingmatrix(fmh,"Grade")
mixingmatrix(fmh,"Race")
# ermg
model_ergm<-ergm(fmh ~ edges)
summary(model_ergm)
# 網(wǎng)絡(luò)密度
exp(-6.998)/(1+exp(-6.998))
# 模型結(jié)果
names(model_ergm)
model_ergm$coefficients
# 擬合結(jié)構(gòu)=增加星形==>模型退化
model_ergm1<-ergm(fmh ~ edges+kstar(2)+kstar(3))
summary(model_ergm1)
# 擬合結(jié)構(gòu)=增加三角形==>模型退化
model_ergm2<-ergm(fmh ~ edges+triangle)
summary(model_ergm2)
simu<-simulate(model_ergm1,burnin=1e+6,verbose = TRUE,seed = 9)
mixingmatrix(simu,"Race")
mixingmatrix(fmh,"Race")
# 采用圖形觀測實(shí)際值和觀測值之間的擬合差異
plot(summary(fmh ~ degree(0:10)),type="l",lty=1,lwd=2,xlab="Degree",ylab="Count")
lines(summary(simu ~ degree(0:10)),type="l",lty=2,lwd=3,xlab="Degree",ylab="Count")
legend("topright",legend = c("observed","simulated"),lwd = 2:3,lty =1:2)