SOSパッケージを使ったR検索
install.packages('sos') library(sos) PL<- findFn('fractal') summary(PL)
標準化
こちらにて、標準化の話が出たので勉強する。
■まず標準偏差について。
・こちらが分かりやすい。
・英語では、standard deviation
・Rで計算してみる。(こちらから)
身長 <- c(151, 164, 146, 158) 体重 <- c(48, 53, 45, 61) data <- data.frame(身長, 体重) result <- matrix(0, 2, 3) rownames(result) <- c("身長", "体重") colnames(result) <- c("平均", "分散", "標準偏差") result[,1] <- mean(data) # 平均 result[,2] <- diag(var(data)) # 分散 result[,3] <- sd(data) # 標準偏差 result
ちなみに…分散について…
var(data) # これで出来る2×2行列こそが、分散共分散行列? diag(var(data)) # 2×2行列、var(data)の斜め成分(1,1)(2,2)を取りだす
分散/標準偏差には、不偏と標本とがある。違いは?
■標準化
・標準化とは、平均値が0に、分散(と標準偏差)が1になるように変換すること
・こちらがとても分かりやすい
・Rで計算してみる。(こちらとこちらから)
身長 <- c(151, 164, 146, 158) 体重 <- c(48, 53, 45, 61) data <- data.frame(身長, 体重) result <- scale(data)[,] #データの標準化 [,]の意味は? rownames(result) <- rownames(data) result
共分散
■共分散とは
・ふたつの事柄に関係があるかどうかを知るために求める値
・つまり、独立なら0となる。
・例はこちらがわかりやすい
■相関係数
・似た概念で、相関係数がある。
・これは-1〜1の値を取る。
・共分散の値を、各変数の標準偏差の積で割ったもの。
■分散共分散行列Variance-covariance matrix
・Rを使って計算
nsample<-100 nmarker<-10 d<-runif(nsample*nmarker) d<-d-0.5 d<-sign(d) # sign関数は、要素が正なら1負なら-1、零なら0と変換する関数 m<-matrix(d,ncol=nsample) c<-cov(t(m)) #t()は転置行列 、cov()は不偏分散共分散行列を求める関数 af<-apply(m,1,mean) # mの行(1)に対して、meanという関数を適応する 2なら列に対して適応
こちら参照
scale free と フラクタル
こちらの記事の続き
こちら参照
■ランダム・ネットワーク
・ノードがもつリンクの数には典型的な値が存在
・その分布は「正規分布」または「ポアソン分布」
■スケールフリーネットワーク(Scale-Free Network)
・インターネットのリンク
・「ベキ(冪)乗分布」に従う
・直感的には、微視的なビューも巨視的ビューも区別ができない、そのよう構造を「フラクタル」と呼ぶ
■フラクタル構造、日常の例え
①生物学〜血管の分岐構造や腸の内壁〜
・血管は、占有する体積は出来る限り小さく、一方、ガス交換等に使える血管表面積は可能な限り大きく取れる方が良い
・この目標を達成するのはフラクタル構造。
②「2割8割の法則(パレートの法則)」
・多くのリンクを持つ少数のノードがリンク全体の殆どを占めてしまう
③その他
細胞の連結、エイズの感染、地震の規模、結晶の成長、河川の形成、など
経済学でも、価格形成や消費者活動など、社会科学分野の分析など
■フラクタル構造をRで描けないか…
Weighted gene co-expression network analysis(WGCNA)
■Weighted gene co-expression network analysis(WGCNA)が紹介された。
・R packageはこちら
・Weighted network(wiki)
■scale freeとは、どこをみても(拡大しても縮小しても)同じであること。by RY
紹介された論文では、R2(correlation coefficient)>0.8でscale freeとしていたが…?
■distanceの定義
2人がどれくらいshareしているかで、2つ間の距離を測る
=2つのnodeが、結ばれているnodeをいくつ共有しているか、で2者間の距離を決める。
■step function(階段関数)
y0 <- c(1.,2.,4.,3.) sfun0 <- stepfun(1:3, y0, f = 0) sfun.2 <- stepfun(1:3, y0, f = .2) sfun1 <- stepfun(1:3, y0, f = 1) sfun1c <- stepfun(1:3, y0, right=TRUE)# hence f=1 sfun0 summary(sfun0) summary(sfun.2) par(mfrow=c(2,2)) plot(sfun0) plot(sfun1) plot(sfun.2) plot(sfun1c)
■power function(指数関数)