
前情回顧:
Gephi網(wǎng)絡(luò)圖極簡(jiǎn)教程
Network在單細(xì)胞轉(zhuǎn)錄組數(shù)據(jù)分析中的應(yīng)用
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記|| 為什么研究網(wǎng)絡(luò)
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記|| 操作網(wǎng)絡(luò)數(shù)據(jù)
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記|| 網(wǎng)絡(luò)數(shù)據(jù)可視化
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記|| 網(wǎng)絡(luò)數(shù)據(jù)的描述性分析
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記||網(wǎng)絡(luò)圖的數(shù)學(xué)模型
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記|| 網(wǎng)絡(luò)圖的統(tǒng)計(jì)模型
網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)分析筆記|| 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)推斷
到目前為止,我們?cè)诒緯?shū)中看到了大量網(wǎng)絡(luò)圖的例子。出于不同的目的,網(wǎng)絡(luò)圖對(duì)所研究的系統(tǒng)元素之間的交互進(jìn)行了表征。然而,我們最終感興趣的經(jīng)常是和每個(gè)元素相關(guān)的某些量(或者屬性)。這種情況下,一種通常合理的觀點(diǎn)是:元素之間的交互作用是影響這個(gè)量的重要途徑。例如,人群的互動(dòng)深深影響著他們的行為和觀點(diǎn);在DNA序列信息方面更為相似的蛋白質(zhì),往往在細(xì)胞中具有相同或者相似的功能。與這種現(xiàn)象相關(guān)的量可以被有效地看作是定義在網(wǎng)絡(luò)圖上的隨機(jī)過(guò)程。更正式地說(shuō),它們可以表示為以網(wǎng)絡(luò)圖G(V,E)為索引的隨機(jī)變量的集合X,對(duì)于包含于V的i有(Xi),或者在t時(shí)間內(nèi)離散或者連續(xù)變化時(shí)記為Xi(t)。
我們將Xi稱(chēng)為靜態(tài)過(guò)程(static processes),Xi(t)為動(dòng)態(tài)過(guò)程(dynamic pro-cesses)。當(dāng)采用恰當(dāng)?shù)亩攘繒r(shí),這類(lèi)過(guò)程研究中的統(tǒng)計(jì)問(wèn)題包括建模和模型參數(shù)的推斷以及尤為重要的預(yù)測(cè)。
關(guān)于網(wǎng)絡(luò)圖定義的靜態(tài)過(guò)程的預(yù)測(cè)。我們從簡(jiǎn)單的最近鄰預(yù)測(cè)(Nearest neighborsNearest-neighbor prediction)開(kāi)始,然后過(guò)渡到更復(fù)雜的基于模型的方法,這些方法根據(jù)給定的網(wǎng)絡(luò)圖結(jié)構(gòu)描述頂點(diǎn)屬性。具體來(lái)說(shuō),我們對(duì)馬爾可夫隨機(jī)場(chǎng)模型進(jìn)行了詳細(xì)的研究,重點(diǎn)是模型參數(shù)的估計(jì)和基于采樣的預(yù)測(cè)。最后,我們用基于核的圖形回歸來(lái)總結(jié),并給出從網(wǎng)絡(luò)圖的拓?fù)渫茖?dǎo)出的核的例子,以捕獲頂點(diǎn)屬性之間的相似性。

最鄰近方法
考慮一個(gè)節(jié)點(diǎn)的屬性的集合,其向量形式為Xi。這一屬性可能與時(shí)間獨(dú)立,或者是動(dòng)態(tài)過(guò)程的一個(gè)快照。在之前的章節(jié)中,這類(lèi)屬性被用于對(duì)網(wǎng)絡(luò)圖G中的邊存在與否進(jìn)行建模和預(yù)測(cè)。也即是以X為條件,對(duì)變量Yij的情況進(jìn)行了建模。而在某些情況下,我們感興趣的反而是以Yij為條件時(shí)X的表現(xiàn)如何。

我們通過(guò)蛋白質(zhì)功能預(yù)測(cè)問(wèn)題進(jìn)行說(shuō)明。
set.seed(42)
library(sand)
data(ppi.CC)
# CHUNK 2
summary(ppi.CC)
IGRAPH 3e8c8b7 UN-- 134 241 --
+ attr: name (v/c), ICSC (v/n), IPR000198 (v/n), IPR000403 (v/n), IPR001806 (v/n), IPR001849 (v/n), IPR002041 (v/n),
| IPR003527 (v/n)
> ppi.CC
IGRAPH 3e8c8b7 UN-- 134 241 --
+ attr: name (v/c), ICSC (v/n), IPR000198 (v/n), IPR000403 (v/n), IPR001806 (v/n), IPR001849 (v/n), IPR002041 (v/n),
| IPR003527 (v/n)
+ edges from 3e8c8b7 (vertex names):
[1] YGR198W--YLR305C YGR152C--YLR229C YDL047W--YLR248W YDR099W--YER177W YDR099W--YNL267W YDR099W--YGL252C YAL041W--YER114C
[8] YJL005W--YNL138W YDL047W--YER155C YDL047W--YLR310C YDR477W--YER027C YDR477W--YDR422C YDR477W--YGL208W YPL203W--YIL033C
[15] YDL047W--YMR028W YPL203W--YJL164C YIL033C--YJL164C YJL128C--YNR031C YNL098C--YOR101W YNR031C--YJL157C YNL098C--YBR140C
[22] YER027C--YGL208W YHR030C--YJL095W YHR030C--YPL140C YLR229C--YPL161C YGR040W--YLR362W YGR040W--YDL159W YGR040W--YPL115C
[29] YJL095W--YPL140C YPL140C--YBR260C YPL140C--YEL060C YHR030C--YIL113W YNL138W--YIL113W YNR031C--YLR006C YLR006C--YCR073C
[36] YER177W--YER114C YER177W--YDR006C YER177W--YDR216W YDR477W--YML006C YDR477W--YEL060C YOR212W--YHR005C YHR005C--YER020W
[43] YJL128C--YDL006W YDL135C--YKR055W YLR362W--YCL032W YOR212W--YJR086W YJR102C--YLR417W YJR102C--YPL002C YOR101W--YDR264C
+ ... omitted several edges
數(shù)據(jù)集ppi.CC中包含了134中蛋白質(zhì)的241項(xiàng)相互作用以及各種節(jié)點(diǎn)的屬性。這些蛋白質(zhì)數(shù)據(jù)適用于Saccharomyces 面包酵母,并在GO數(shù)據(jù)庫(kù)中標(biāo)注為細(xì)胞通訊(cell communication),在數(shù)據(jù)中為屬性ICSC(細(xì)胞信號(hào)聯(lián)級(jí),intracellular signaling cascade),該術(shù)語(yǔ)描述一種特殊的細(xì)胞通信。
V(ppi.CC)$ICSC[1:10]
# ---
## [1] 1 1 1 1 1 0 1 1 1 1
# ---
V(ppi.CC)[ICSC == 1]$color <- "yellow"
V(ppi.CC)[ICSC == 0]$color <- "blue"
plot(ppi.CC, vertex.size=5, vertex.label=NA)

黃色表示節(jié)點(diǎn)參與細(xì)胞信號(hào)聯(lián)級(jí),藍(lán)色表示未參與。我們看到大部分的同顏色的點(diǎn)在一起,這表明在該網(wǎng)絡(luò)圖中根據(jù)局部信息進(jìn)行信息預(yù)測(cè)ICSC是可行的。最鄰近方法是用于生成局部預(yù)測(cè)的一種簡(jiǎn)單有效的方法。
比較熟知的是鄰近算法,或者說(shuō)K最近鄰(kNN,k-Nearest Neighbor)分類(lèi)算法是數(shù)據(jù)挖掘分類(lèi)技術(shù)中最簡(jiǎn)單的方法之一。所謂K最近鄰,就是k個(gè)最近的鄰居的意思,說(shuō)的是每個(gè)樣本都可以用它最接近的k個(gè)鄰居來(lái)代表。kNN算法的核心思想是如果一個(gè)樣本在特征空間中的k個(gè)最相鄰的樣本中的大多數(shù)屬于某一個(gè)類(lèi)別,則該樣本也屬于這個(gè)類(lèi)別,并具有這個(gè)類(lèi)別上樣本的特性。該方法在確定分類(lèi)決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類(lèi)別來(lái)決定待分樣本所屬的類(lèi)別。 kNN方法在類(lèi)別決策時(shí),只與極少量的相鄰樣本有關(guān)。由于kNN方法主要靠周?chē)邢薜泥徑臉颖?,而不是靠判別類(lèi)域的方法來(lái)確定所屬類(lèi)別的,因此對(duì)于類(lèi)域的交叉或重疊較多的待分樣本集來(lái)說(shuō),kNN方法較其他方法更為適合(來(lái)自百度百科)
最近鄰算法通過(guò)計(jì)算預(yù)測(cè)點(diǎn)與測(cè)試樣例點(diǎn)數(shù)據(jù)的距離,找出待測(cè)數(shù)據(jù)與測(cè)試數(shù)據(jù)的最小距離點(diǎn),并返回該測(cè)試點(diǎn)的類(lèi)型,從而確定預(yù)測(cè)數(shù)據(jù)類(lèi)型的算法。所以他的核心是距離的度量方式(如何定義Neighbor)。
為了理解最鄰近方法在預(yù)測(cè)酵母數(shù)據(jù)集ICSC功能方面的效果,我們可以計(jì)算網(wǎng)絡(luò)巨型組件中每個(gè)蛋白的最鄰近平均,以利用蛋白質(zhì)互作的信息。
clu <- components(ppi.CC)
ppi.CC.gc <- induced_subgraph(ppi.CC,
+ clu$membership==which.max(clu$csize))
nn.ave <- sapply(V(ppi.CC.gc),
+ function(x) mean(V(ppi.CC.gc)[nei(x)]$ICSC))
clu
$membership
YGR198W YLR305C YGR152C YLR229C YDL047W YLR248W YDR099W YER177W YNL267W YGL252C YAL041W YER114C YJL005W YNL138W YER155C YLR310C
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
YDR477W YER027C YDR422C YGL208W YPL203W YIL033C YMR028W YJL164C YJL128C YNR031C YNL098C YOR101W YJL157C YBR140C YHR030C YJL095W
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
YPL140C YPL161C YGR040W YLR362W YDL159W YPL115C YBR260C YEL060C YIL113W YLR006C YCR073C YDR006C YDR216W YML006C YOR212W YHR005C
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
YER020W YDL006W YDL135C YKR055W YCL032W YJR086W YJR102C YLR417W YPL002C YDR264C YPR165W YOR047C YDR103W YBL016W YOR057W YNL298W
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
YDR373W YDL035C YPL268W YHR186C YJR066W YNL006W YKL203C YER149C YLL021W YBL105C YMR140W YHL007C YFR034C YDL106C YHR079C YER089C
1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
YOR208W YER075C YHR061C YDR309C YLR452C YOR371C YAL056W YOR134W YDR389W YER118C YDR168W YDL235C YIL147C YOR107W YNL271C YLL017W
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
YOR231W YLR319C YBL085W YOR127W YDR379W YDL240W YFL047W YGL121C YDR277C YDL138W YDL194W YNL090W YIL118W YNL180C YPL089C YLR313C
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
YIL047C YPR040W YOR008C YLR371W YGR014W YOL067C YBL103C YJL080C YBR093C YNL076W YIL002C YKR019C YJL083W YKL178C YDR085C YLL016W
1 1 1 1 1 3 3 1 1 1 4 4 4 1 1 1
YNL027W YBL056W YLR240W YDR490C YNL106C YPR075C
1 1 1 1 1 1
$csize
[1] 127 2 2 3
$no
[1] 4
ppi.CC.gc
IGRAPH f03a63b UN-- 127 237 --
+ attr: name (v/c), ICSC (v/n), IPR000198 (v/n), IPR000403 (v/n), IPR001806 (v/n), IPR001849 (v/n), IPR002041 (v/n),
| IPR003527 (v/n), color (v/c)
+ edges from f03a63b (vertex names):
[1] YGR198W--YLR305C YGR152C--YLR229C YDL047W--YLR248W YDR099W--YER177W YDR099W--YNL267W YDR099W--YGL252C YAL041W--YER114C
[8] YJL005W--YNL138W YDL047W--YER155C YDL047W--YLR310C YDR477W--YER027C YDR477W--YDR422C YDR477W--YGL208W YPL203W--YIL033C
[15] YDL047W--YMR028W YPL203W--YJL164C YIL033C--YJL164C YJL128C--YNR031C YNL098C--YOR101W YNR031C--YJL157C YNL098C--YBR140C
[22] YER027C--YGL208W YHR030C--YJL095W YHR030C--YPL140C YLR229C--YPL161C YGR040W--YLR362W YGR040W--YDL159W YGR040W--YPL115C
[29] YJL095W--YPL140C YPL140C--YBR260C YPL140C--YEL060C YHR030C--YIL113W YNL138W--YIL113W YNR031C--YLR006C YLR006C--YCR073C
[36] YER177W--YER114C YER177W--YDR006C YER177W--YDR216W YDR477W--YML006C YDR477W--YEL060C YOR212W--YHR005C YHR005C--YER020W
[43] YJL128C--YDL006W YDL135C--YKR055W YLR362W--YCL032W YOR212W--YJR086W YJR102C--YLR417W YJR102C--YPL002C YOR101W--YDR264C
+ ... omitted several edges
之后,我們對(duì)結(jié)果根據(jù)節(jié)點(diǎn)的狀態(tài)分別做直方圖。被考慮鄰居的節(jié)點(diǎn)為自我ego節(jié)點(diǎn)。
par(mfrow=c(2,1))
hist(nn.ave[V(ppi.CC.gc)$ICSC == 1], col="yellow",
ylim=c(0, 30), xlab="Proportion Neighbors w/ ICSC",
main="Egos w/ ICSC")
hist(nn.ave[V(ppi.CC.gc)$ICSC == 0], col="blue",
ylim=c(0, 30), xlab="Proportion Neighbors w/ ICSC",
main="Egos w/out ICSC")

證實(shí)了ICSC可以被一定準(zhǔn)確地預(yù)測(cè)。
nn.pred <- as.numeric(nn.ave > 0.5)
mean(as.numeric(nn.pred != V(ppi.CC.gc)$ICSC))
[1] 0.2598425
采用0.5作為預(yù)測(cè)閾值,錯(cuò)誤率為25% 。
下面我們從GO數(shù)據(jù)庫(kù)中提取ICSC信息,以評(píng)估我們預(yù)測(cè)的結(jié)果 。
# if (!requireNamespace("BiocManager", quietly = TRUE))
# install.packages("BiocManager")
#BiocManager::install(update = FALSE)
#BiocManager::install(c("GOstats","GO.db"), update = FALSE)
library(GOstats)
library(GO.db)
# CHUNK 9
# BiocManager::install("org.Sc.sgd.db", update = FALSE)
library(org.Sc.sgd.db)
# CHUNK 10
x <- as.list(org.Sc.sgdGO2ALLORFS)
x$`GO:0000001`
IMP IGI IMP IPI IMP IMP IGI IMP IGI TAS
"YAL048C" "YAL048C" "YDL006W" "YDL029W" "YDL029W" "YDL239C" "YDL239C" "YDR150W" "YDR150W" "YFL039C"
IMP IMP IMP IEA IMP IMP IPI TAS TAS TAS
"YGL055W" "YGR132C" "YGR231C" "YHR194W" "YHR194W" "YIL062C" "YIL062C" "YIL138C" "YJR065C" "YKL013C"
IGI IGI IMP TAS IMP IMP IGI TAS IMP IDA
"YLL001W" "YLR190W" "YLR190W" "YLR370C" "YML104C" "YMR072W" "YMR275C" "YNL079C" "YNL304W" "YNL304W"
IGI TAS IMP IMP IGI IMP IEA IGI IMP IPI
"YNL304W" "YNR035C" "YOL009C" "YOL076W" "YOL076W" "YOR147W" "YOR147W" "YOR326W" "YOR326W" "YOR326W"
IMP IGI IMP
"YPR083W" "YPR131C" "YPR131C"
> length(names(x))
[1] 8567
current.icst <- x[names(x) == "GO:0035556"]
length(current.icst$`GO:0035556`)
[1] 357
ev.code <- names(current.icst[[1]])
icst.ida <- current.icst[[1]][ev.code == "IDA"]
icst.ida
IDA IDA IDA IDA IDA IDA IDA IDA IDA IDA
"YBR276C" "YDL006W" "YDL159W" "YDL235C" "YER089C" "YHL007C" "YIL033C" "YIL147C" "YJL085W" "YLR006C"
IDA IDA IDA IDA IDA IDA IDA
"YLR310C" "YLR362W" "YML121W" "YNL053W" "YOR101W" "YPR095C" "YPR165W"
length(icst.ida)
[1] 17
orig.icsc <- V(ppi.CC.gc)[ICSC == 1]$name
candidates <- intersect(icst.ida, V(ppi.CC.gc)$name)
new.icsc <- setdiff(candidates, orig.icsc)
new.icsc
[1] "YDL159W" "YDL235C" "YHL007C" "YIL033C" "YIL147C" "YLR006C" "YLR362W"
nn.ave[V(ppi.CC.gc)$name %in% new.icsc] > 0.5
YIL033C YLR362W YDL159W YLR006C YHL007C YDL235C YIL147C
TRUE FALSE FALSE TRUE TRUE FALSE FALSE
馬爾科夫隨機(jī)場(chǎng)
純粹的馬爾科夫模型就是指一件事物的當(dāng)前狀態(tài)只與它之前的1個(gè)或者n個(gè)狀態(tài)有關(guān),而與再之前的狀態(tài)沒(méi)有關(guān)系,比如今天天氣好壞只與昨天天氣有關(guān),而與前天乃至大前天都沒(méi)有關(guān)系。符合這樣的一種特性的事物認(rèn)為其具有馬爾科夫性。馬爾科夫隨機(jī)過(guò)程是隨機(jī)過(guò)程的一種,其原始模型為馬爾科夫鏈,由俄國(guó)數(shù)學(xué)家馬爾科夫于1907年提出。其主要特征是:在已知眼下?tīng)顟B(tài)(如今)的條件下,它未來(lái)的變化(將來(lái))不依賴于以往的變化,而只跟眼下所處的狀態(tài)有關(guān)。隨機(jī)場(chǎng)實(shí)際上是一種特殊的隨機(jī)過(guò)程,跟普通的隨機(jī)過(guò)程不同的是,其參數(shù)取值不再是實(shí)數(shù)值而有是多維的矢量值甚至是流行空間的點(diǎn)集。一些已有的隨機(jī)場(chǎng)如:馬爾科夫隨機(jī)場(chǎng)MRF。吉布斯隨機(jī)場(chǎng)GRF。條件隨機(jī)場(chǎng)CRF,高斯隨機(jī)場(chǎng)。馬爾科夫隨機(jī)場(chǎng)是具有馬爾科夫特性的隨機(jī)場(chǎng)。









library(ngspatial)
X <- V(ppi.CC.gc)$ICSC
A <- as_adjacency_matrix(ppi.CC.gc, sparse=FALSE)
# CHUNK 17
formula1 <- X~1
gene.motifs <- cbind(V(ppi.CC.gc)$IPR000198,
V(ppi.CC.gc)$IPR000403,
V(ppi.CC.gc)$IPR001806,
V(ppi.CC.gc)$IPR001849,
V(ppi.CC.gc)$IPR002041,
V(ppi.CC.gc)$IPR003527)
formula2 <- X ~ gene.motifs
m1.mrf <- autologistic(formula1, A=A,
control=list(confint="none"))
m1.mrf$coefficients
# ---
## (Intercept) eta
## 0.2004949 1.1351942
# ---
錯(cuò)誤率大概20%
mrf1.pred <- as.numeric((m1.mrf$fitted.values > 0.5))
> mean(as.numeric(mrf1.pred != V(ppi.CC.gc)$ICSC))
[1] 0.2047244
m1.mrf$fitted.values[V(ppi.CC.gc)$name %in% new.icsc]
[1] 0.7519142 0.1658647 0.2184092 0.6451897 0.9590030 0.2595863 0.3956048
在模型中納入motifs信息
m2.mrf <- autologistic(formula2, A=A,
control=list(confint="none"))
m2.mrf$coefficients
(Intercept) gene.motifs1 gene.motifs2 gene.motifs3 gene.motifs4 gene.motifs5 gene.motifs6
5.081573e-02 1.876848e+00 1.875217e+01 1.875217e+01 1.824990e+01 8.487244e-08 -1.837997e+01
eta
1.297921e+00
mrf.pred2 <- as.numeric((m2.mrf$fitted.values > 0.5))
mean(as.numeric(mrf.pred2 != V(ppi.CC.gc)$ICSC))
[1] 0.1889764
錯(cuò)誤率為 0.1889764。
m2.mrf$fitted.values[V(ppi.CC.gc)$name %in% new.icsc]
[1] 0.7829254 0.4715219 0.4962188 0.6570828 0.7829254 0.2175373 0.3510037
擬合優(yōu)度
set.seed(42) # random seed for rautologistic
ntrials <- 100
a1.mrf <- numeric(ntrials)
a2.mrf <- numeric(ntrials)
Z1 <- rep(1,length(X))
Z2 <- cbind(Z1, gene.motifs)
for(i in 1:ntrials){
X1.mrf <- rautologistic(as.matrix(Z1), A=A,
theta=m1.mrf$coefficients)
X2.mrf<- rautologistic(as.matrix(Z2), A=A,
theta=m2.mrf$coefficients)
a1.mrf[i] <- assortativity(ppi.CC.gc, X1.mrf+1,
directed=FALSE)
a2.mrf[i] <- assortativity(ppi.CC.gc, X2.mrf+1,
directed=FALSE)
}
原始同配系數(shù)
assortativity(ppi.CC.gc, X+1, directed=FALSE)
[1] 0.3739348
summary(a1.mrf)
# ---
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.06736 0.22324 0.28733 0.27485 0.34203 0.46534
# ---
summary(a2.mrf)
# ---
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.02656 0.20478 0.27621 0.26621 0.32519 0.45848
# ---
核方法
在低維空間中不能線性分割的點(diǎn)集,通過(guò)轉(zhuǎn)化為高維空間中的點(diǎn)集時(shí),從而變?yōu)榫€性可分的。然而,如果直接把低維度的數(shù)據(jù)轉(zhuǎn)化到高維度的空間中,然后再去尋找線性分割平面,會(huì)遇到兩個(gè)大問(wèn)題,一是由于是在高維度空間中計(jì)算,導(dǎo)致維度禍根(curse of dimension)問(wèn)題;二是非常的麻煩,每一個(gè)點(diǎn)都必須先轉(zhuǎn)換到高維度空間,然后求取分割平面的參數(shù)等等;怎么解決這些問(wèn)題?答案是通過(guò)核戲法(kernel trick)。核方法可以有效地將傳統(tǒng)回歸范式拓展到各種非傳統(tǒng)數(shù)據(jù)的場(chǎng)景。
Mercer 定理:任何半正定的函數(shù)都可以作為核函數(shù)。所謂半正定的函數(shù)f(xi,xj),是指擁有訓(xùn)練數(shù)據(jù)集合(x1,x2,...xn),我們定義一個(gè)矩陣的元素aij = f(xi,xj),這個(gè)矩陣式n*n的,如果這個(gè)矩陣是半正定的,那么f(xi,xj)就稱(chēng)為半正定的函數(shù)。這個(gè)mercer定理不是核函數(shù)必要條件,只是一個(gè)充分條件,即還有不滿足mercer定理的函數(shù)也可以是核函數(shù)。


















par(mfrow=c(1,1))
L <- as.matrix(laplacian_matrix(ppi.CC.gc))
e.L <- eigen(L)
nv <- vcount(ppi.CC.gc)
e.vals <- e.L$values[1:(nv-1)]
f.e.vals <- c((e.vals)^(-1), 0)
plot(f.e.vals, col="magenta", xlim=c(1, nv),
xlab=c("Index i"), ylab=expression(f(gamma[i])))

par(mfrow=c(1,3))
e.vec <- e.L$vectors[, (nv-1)]
v.colors <- character(nv)
v.colors[e.vec >= 0] <- "red"
v.colors[e.vec < 0] <- "blue"
v.size <- 15 * sqrt(abs(e.vec))
l <- layout_with_fr(ppi.CC.gc)
plot(ppi.CC.gc, layout=l, vertex.color=v.colors,
vertex.size=v.size, vertex.label=NA)
e.vec <- e.L$vectors[, (nv-2)]
v.colors <- character(nv)
v.colors[e.vec >= 0] <- "red"
v.colors[e.vec < 0] <- "blue"
v.size <- 15 * sqrt(abs(e.vec))
l <- layout_with_fr(ppi.CC.gc)
plot(ppi.CC.gc, layout=l, vertex.color=v.colors,
vertex.size=v.size, vertex.label=NA)
e.vec <- e.L$vectors[, (nv-2)]
v.colors <- character(nv)
v.colors[e.vec >= 0] <- "red"
v.colors[e.vec < 0] <- "blue"
v.size <- 15 * sqrt(abs(e.vec))
l <- layout_with_fr(ppi.CC.gc)
plot(ppi.CC.gc, layout=l, vertex.color=v.colors,
vertex.size=v.size, vertex.label=NA)

library(kernlab)
# CHUNK 34
K1.tmp <- e.L$vectors %*% diag(f.e.vals) %*%
t(e.L$vectors)
K1 <- as.kernelMatrix(K1.tmp)
# CHUNK 35
K.motifs <- gene.motifs %*% t(gene.motifs)
# CHUNK 36
K2.tmp <- 0.5 * K1.tmp + 0.5 * K.motifs
K2 <- as.kernelMatrix(K2.tmp)
m1.svm <- ksvm(K1, X, type="C-svc")
m1.svm.fitted <- fitted(m1.svm)
# CHUNK 38
mean(as.numeric(m1.svm.fitted != V(ppi.CC.gc)$ICSC))
[1] 0.1102362
錯(cuò)誤率為0.11,減少一半(之前為0.20)
m1.svm.fitted[V(ppi.CC.gc)$name %in% new.icsc]
[1] 1 1 1 0 1 0 0
動(dòng)態(tài)過(guò)程的建模與預(yù)測(cè)
之前我們討論的建模與預(yù)測(cè)都是在靜態(tài)圖上進(jìn)行的,如何在動(dòng)態(tài)圖上進(jìn)行呢?我們考慮傳染病過(guò)程進(jìn)行示例。在圖中,每個(gè)圖都是某時(shí)刻群體的接觸結(jié)構(gòu),在t=0的時(shí)候一個(gè)人感染(0號(hào)病人),隨著時(shí)間的推進(jìn),不斷有人感染。同時(shí)考慮過(guò)一段時(shí)間后,有人康復(fù)。所以在圖中人有感染,移除,未感染三種狀態(tài)。
set.seed(42)
gl <- list()
gl$ba <- sample_pa(250, m=5, directed=FALSE)
gl$er <- sample_gnm(250, 1250)
gl$ws <- sample_smallworld(1, 250, 5, 0.01)
# CHUNK 44
beta <- 0.5
gamma <- 1
# CHUNK 45
ntrials <- 100
# CHUNK 46
sim <- lapply(gl, sir, beta=beta, gamma=gamma,
no.sim=ntrials)
# CHUNK 47
plot(sim$er)
plot(sim$ba, color="palegoldenrod",
median_color="gold", quantile_color="gold")
plot(sim$ws, color="pink", median_color="red",
quantile_color="red")

x.max <- max(sapply(sapply(sim, time_bins), max))
y.max <- 1.05 * max(sapply(sapply(sim, function(x)
median(x)[["NI"]]), max, na.rm=TRUE))
plot(time_bins(sim$er), median(sim$er)[["NI"]],
type="l", lwd=2, col="blue", xlim=c(0, x.max),
ylim=c(0, y.max), xlab="Time",
ylab=expression(N[I](t)))
lines(time_bins(sim$ba), median(sim$ba)[["NI"]],
lwd=2, col="gold")
lines(time_bins(sim$ws), median(sim$ws)[["NI"]],
lwd=2, col="red")
legend("topright", c("ER", "BA", "WS"),
col=c("blue", "gold", "red"), lty=1)

http://www2.ece.rochester.edu/~gmateosb/ECE442/slides.html
https://www.cnblogs.com/raorao1994/p/8760591.html
https://blog.csdn.net/hohaizx/article/details/82868843
https://blog.csdn.net/lucygill/article/details/79734874
https://www.zdaiot.com/MachineLearning/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/%E9%A9%AC%E5%B0%94%E7%A7%91%E5%A4%AB%E9%9A%8F%E6%9C%BA%E5%9C%BA(MRF)/
https://oldpan.me/archives/markov-random-field-deeplearning
https://blog.csdn.net/on2way/article/details/47307927
馬爾科夫隨機(jī)場(chǎng)的基本概念
http://www.ee.columbia.edu/~cylin/course/netsci-10/NetSci-Fall2010-Lecture10.pdf
https://www.cnblogs.com/hichens/p/11874645.html
https://www.cnblogs.com/vivounicorn/archive/2010/12/13/1904720.html