- 「体系立てずに進める」場合、色々、トピックを挙げながら、その関係をつなぎつつ、頭の整理をしていくことになる
- そうは言っても、「志あり、基礎なし」からだと、相互連携が見えてこないので、挫折しやすい
- たとえば、こちらで扱っているトピックを、上記のようなことに気をつけながら、単純に、関連がある単語のペアワイズ関係に還元してグラフ表示すれば(そして、今回は『共役事前分布』がお題、と示すなら)
d <- as.matrix(read.table("test.txt",sep="\t",fill=TRUE))
dim(d)
u.d <- unique(c(d))
d.id <- d
for(i in 1:length(u.d)){
d.id[which(d==u.d[i])] <- i
}
e <- matrix(0,0,2)
for(i in 1:length(d.id[,1])){
if(length(d.id[i,]) > 1){
for(j in 2:length(d.id[i,])){
if(d.id[i,j]!="")
e <- rbind(e,c(d.id[i,1],d.id[i,j]))
}
}
}
e <- unique(e)
library(igraph)
g <- graph.edgelist(e,directed=FALSE)
col <- rep(rgb(0.3,0.3,0.3,alpha=0.3) ,length(u.d))
col[which(u.d=="共役事前分布")] <- rgb(1,0.3,0.3,alpha=0.5)
plot(g,vertex.label=u.d,vertex.color=col)
共役事前分布 ベータ分布
ベータ分布 二項分布 連続 分布
ベルヌーイ事象 二項分布 離散
ベイズ推定 推定
ベイズ推定 共役事前分布
事前分布 事後分布
事前分布 共役事前分布
スプラインカーブ 回帰 微分 近似
オッカムの剃刀 推定 モデル
自己相関 時系列 推定 近似
サポートベクターマシン 分類 回帰
ヒストグラム 分布 推定 近似
楕円 幾何 距離 分布
固有値分解 回転 楕円 線形代数
リサンプリング 推定 アルゴリズム
ニュートン法 近似 アルゴリズム
ワイブル分布 故障 連続 分布
連検定 検定 離散
尤度関数 尤度
てふ 数式 表記
アルゴリズムの分類 アルゴリズム
疑似乱数発生 乱数 アルゴリズム
MCMC 乱数 アルゴリズム
p値 確率 累積確率 検定
LAPAK 線形代数 アルゴリズム パッケージ
二項分布 離散 分布
- ごちゃごちゃしてきたら、「繰り返し登場するエッジ」だけでグラフを作り直したくなったり描き直したくなったりするはずなので、そのための小改変ソースが以下
d <- as.matrix(read.table("test.txt",sep="\t",fill=TRUE))
dim(d)
u.d <- unique(c(d))
d.id <- d
for(i in 1:length(u.d)){
d.id[which(d==u.d[i])] <- i
}
e <- matrix(0,0,2)
for(i in 1:length(d.id[,1])){
if(length(d.id[i,]) > 1){
for(j in 2:length(d.id[i,])){
if(d.id[i,j]!="")
e <- rbind(e,c(d.id[i,1],d.id[i,j]))
}
}
}
e.uniq <- unique(e)
e.weight <- rep(0,length(e.uniq[,1]))
for(i in 1:length(e.uniq[,1])){
e.weight[i] <- length(which(e[,1]==e.uniq[i,1] & e[,2]==e.uniq[i,2]))
}
library(igraph)
g <- graph.edgelist(e.uniq,directed=FALSE)
E(g)$weight <- e.weight
col <- rep(rgb(0.3,0.3,0.3,alpha=0.3) ,length(u.d))
col[which(u.d=="共役事前分布")] <- rgb(1,0.3,0.3,alpha=0.5)
e.w <- E(g)$weight
plot(g,vertex.label=u.d,vertex.color=col,edge.width = e.w)