バイオ・データ・マイニング/Rで相関分析する
をテンプレートにして作成
開始行:
*はじめに [#nc1a9e7e]
ここでは、Rを使って相関係数を求め、統計的有意性を検定する...
『Rによるバイオインフォマティクスデータ解析』の3.3節「基...
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
*準備 [#x895f663]
Rのインストールについては、次のページを見てください。
-[[MacでRを使う>機械学習/MacでRを使う]]
-[[WindowsでRを使う>機械学習/WindowsでRを使う]]
ここでは、標準で使用できる''irisデータセット''を使います。
#geshi(rsplus){{
data(iris)
}}
このデータセットは、アヤメの種類(Species)をがく片の長さ...
長さと幅は連続値、種類はsetosa, versicolor, virginicaのい...
このデータセットには、setosa, versicolor, virginicaという...
ランダムに10個のデータを選択して、見てみましょう。
#geshi(rsplus){{
iris[sort(sample(1:150,10)),]
}}
#geshi(rsplus){{
> iris[sort(sample(1:150,10)),]
Sepal.Length Sepal.Width Petal.Length Petal.Width ...
4 4.6 3.1 1.5 0.2 ...
22 5.1 3.7 1.5 0.4 ...
65 5.6 2.9 3.6 1.3 ver...
97 5.7 2.9 4.2 1.3 ver...
100 5.7 2.8 4.1 1.3 ver...
108 7.3 2.9 6.3 1.8 vi...
116 6.4 3.2 5.3 2.3 vi...
122 5.6 2.8 4.9 2.0 vi...
136 7.7 3.0 6.1 2.3 vi...
146 6.7 3.0 5.2 2.3 vi...
}}
論文に使用するグラフはカッコイイ方がいいので、グラフ作成...
#geshi(rsplus){{
install.packages("ggplot2")
library(ggplot2)
}}
まず、がく片(萼片)の長さと幅をプロットしてみます。
#geshi(rsplus){{
ggplot(data=iris, aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
theme(aspect.ratio=1)
}}
#ref(iris.png,nolink)
*共分散 [#a2a5d090]
[math]X[/math] と [math]Y[/math] の(標本)共分散は、それ...
\[ \mathrm{Cov}(X,Y) = \frac{\sum_{i=1}^{n} (x_i - \bar{X...
ここで、[math]n[/math] はデータ数、[math]\bar{X}[/math], ...
偏差の符号が同じとき、つまり、どちらも平均より大きいかど...
#ref(cov.png,nolink)
共分散を求めるには、''cov関数''を使います。
#geshi(rsplus){{
cov(iris$Sepal.Length, iris$Sepal.Width)
}}
#geshi(rsplus){{
> cov(iris$Sepal.Length, iris$Sepal.Width)
[1] -0.042434
}}
*相関係数 [#zc539586]
[math]X[/math] と [math]Y[/math] の(標本)相関係数は、[m...
\[ \mathrm{Cor}(X, Y) = \frac{\mathrm{Cov}(X, Y)}{s(X) s(...
標準偏差は正の値ですから、共分散が正なら相関係数も正、共...
相関係数の値は-1から1までの値をとります。
相関係数が1に近いほど強い正の相関があり、相関係数が-1に近...
相関係数が0に近いときは相関がありません。
相関係数を求めるには、''cor関数''を使います。
#geshi(rsplus){{
cor(iris$Sepal.Length, iris$Sepal.Width)
}}
#geshi(rsplus){{
> cor(iris$Sepal.Length, iris$Sepal.Width)
[1] -0.1175698
}}
相関係数の値によって、相関を次のように表現します。(ただ...
-0.9以上のとき「極めて強い正の相関がある」
-0.7以上0.9未満のとき「強い正の相関がある」
-0.4以上0.7未満のときは「(中程度の)正の相関がある」
-0.2以上0.4未満のとき「弱い正の相関がある」
- -0.2以上0.2未満のとき「ほとんど相関がない」
- -0.4以上-0.2未満のとき「弱い負の相関がある」
- -0.7以上-0.4未満のとき「(中程度の)負の相関がある」
- -0.9以上-0.7未満のとき「強い負の相関がある」
- -0.9未満のとき「極めて強い負の相関がある」
がく片(萼片)の長さと幅の相関係数は-0.12なので、ほとんど...
*相関の検定 [#y1081cf3]
本当にがく片(萼片)の長さと幅に相関は無いのでしょうか。
相関係数の値がゼロに近かったのは偶然そうなったとは考えら...
そこで、「がく片(萼片)の長さと幅には相関がない」という...
これを無相関検定といいます。
詳しくは統計の教科書で勉強してください。
具体的には、''p値''を求め、''有意水準''と比べます。
p値が有意水準より小さいとき、その水準において統計的に有意...
そうでないとき、その水準において有意な相関はないと考えま...
有意水準には、5%や1%がよく用いられます。
p値を求めるには、''cor.test関数''を使います。
#geshi(rsplus){{
cor.test(iris$Sepal.Length, iris$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(iris$Sepal.Length, iris$Sepal.Width)
Pearson's product-moment correlation
data: iris$Sepal.Length and iris$Sepal.Width
t = -1.4403, df = 148, p-value = 0.1519
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.27269325 0.04351158
sample estimates:
cor
-0.1175698
}}
まず、p値 (''p-value'') を見ます。
p値が 0.15 なので、1%有意水準でも、5%有意水準でも、「ほと...
次に、相関係数の95%信頼区間(''95 percent confidence inte...
相関係数は、95%の確率で、約-0.27から約0.04の区間に入りま...
この区間に 0 が含まれているので、相関係数が 0 になる可能...
つまり、「相関がない(相関係数が 0 である)」という帰無仮...
そこで、setosaのデータだけを取り出して、がく片(萼片)の...
#geshi(rsplus){{
setosa <-iris[1:50,]
plot(setosa$Sepal.Length, setosa$Sepal.Width)
}}
#ref(setosa.png,nolink)
#geshi(rsplus){{
cor.test(setosa$Sepal.Length, setosa$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(setosa$Sepal.Length, setosa$Sepal.Width)
Pearson's product-moment correlation
data: setosa$Sepal.Length and setosa$Sepal.Width
t = 7.6807, df = 48, p-value = 6.71e-10
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.5851391 0.8460314
sample estimates:
cor
0.7425467
}}
相関係数が0.74、p値は6.7e-10、つまり0.00000000067だったの...
サンプルが少ないとp値が大きくなります。(サンプルが多いと...
たとえば、setosaの1番目から5番目のデータだけを取り出してs...
#geshi(rsplus){{
setosa1 <- setosa[1:5,]
ggplot(data=setosa1, aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
theme(aspect.ratio=1)
}}
#ref(setosa1.png,nolink)
#geshi(rsplus){{
cor.test(setosa1$Sepal.Length, setosa1$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(setosa1$Sepal.Length, setosa1$Sepal.Width)
Pearson's product-moment correlation
data: s1$Sepal.Length and s1$Sepal.Width
t = 1.6064, df = 3, p-value = 0.2065
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.5055650 0.9764541
sample estimates:
cor
0.6800193
}}
すると、相関係数は0.68ですが、p値が0.21なので、有意な正の...
同じように、setosaの21番目から25番目までのデータだけを取...
#geshi(rsplus){{
setosa2 <- setosa[21:25,]
ggplot(data=setosa2, aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
theme(aspect.ratio=1)
}}
#ref(setosa2.png,nolink)
#geshi(rsplus){{
cor.test(setosa2$Sepal.Length, setosa2$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(setosa2$Sepal.Length, setosa2$Sepal.Width)
Pearson's product-moment correlation
data: s2$Sepal.Length and s2$Sepal.Width
t = -0.5371, df = 3, p-value = 0.6285
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.9343030 0.7934151
sample estimates:
cor
-0.2961744
}}
setosaに含まれる50個のデータからは有意な正の相関が見られ...
このように、サンプルの取り方によっては相関係数が大きく変...
*演習 [#k28fef32]
irisデータのPetal.LengthとPetal.Widthの間の相関係数を調べ...
また、その統計的有意性を検定してみよう。
*参考文献 [#a1dea469]
-樋口千洋: ''Rによるバイオインフォマティクスデータ解析 第...
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
終了行:
*はじめに [#nc1a9e7e]
ここでは、Rを使って相関係数を求め、統計的有意性を検定する...
『Rによるバイオインフォマティクスデータ解析』の3.3節「基...
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
*準備 [#x895f663]
Rのインストールについては、次のページを見てください。
-[[MacでRを使う>機械学習/MacでRを使う]]
-[[WindowsでRを使う>機械学習/WindowsでRを使う]]
ここでは、標準で使用できる''irisデータセット''を使います。
#geshi(rsplus){{
data(iris)
}}
このデータセットは、アヤメの種類(Species)をがく片の長さ...
長さと幅は連続値、種類はsetosa, versicolor, virginicaのい...
このデータセットには、setosa, versicolor, virginicaという...
ランダムに10個のデータを選択して、見てみましょう。
#geshi(rsplus){{
iris[sort(sample(1:150,10)),]
}}
#geshi(rsplus){{
> iris[sort(sample(1:150,10)),]
Sepal.Length Sepal.Width Petal.Length Petal.Width ...
4 4.6 3.1 1.5 0.2 ...
22 5.1 3.7 1.5 0.4 ...
65 5.6 2.9 3.6 1.3 ver...
97 5.7 2.9 4.2 1.3 ver...
100 5.7 2.8 4.1 1.3 ver...
108 7.3 2.9 6.3 1.8 vi...
116 6.4 3.2 5.3 2.3 vi...
122 5.6 2.8 4.9 2.0 vi...
136 7.7 3.0 6.1 2.3 vi...
146 6.7 3.0 5.2 2.3 vi...
}}
論文に使用するグラフはカッコイイ方がいいので、グラフ作成...
#geshi(rsplus){{
install.packages("ggplot2")
library(ggplot2)
}}
まず、がく片(萼片)の長さと幅をプロットしてみます。
#geshi(rsplus){{
ggplot(data=iris, aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
theme(aspect.ratio=1)
}}
#ref(iris.png,nolink)
*共分散 [#a2a5d090]
[math]X[/math] と [math]Y[/math] の(標本)共分散は、それ...
\[ \mathrm{Cov}(X,Y) = \frac{\sum_{i=1}^{n} (x_i - \bar{X...
ここで、[math]n[/math] はデータ数、[math]\bar{X}[/math], ...
偏差の符号が同じとき、つまり、どちらも平均より大きいかど...
#ref(cov.png,nolink)
共分散を求めるには、''cov関数''を使います。
#geshi(rsplus){{
cov(iris$Sepal.Length, iris$Sepal.Width)
}}
#geshi(rsplus){{
> cov(iris$Sepal.Length, iris$Sepal.Width)
[1] -0.042434
}}
*相関係数 [#zc539586]
[math]X[/math] と [math]Y[/math] の(標本)相関係数は、[m...
\[ \mathrm{Cor}(X, Y) = \frac{\mathrm{Cov}(X, Y)}{s(X) s(...
標準偏差は正の値ですから、共分散が正なら相関係数も正、共...
相関係数の値は-1から1までの値をとります。
相関係数が1に近いほど強い正の相関があり、相関係数が-1に近...
相関係数が0に近いときは相関がありません。
相関係数を求めるには、''cor関数''を使います。
#geshi(rsplus){{
cor(iris$Sepal.Length, iris$Sepal.Width)
}}
#geshi(rsplus){{
> cor(iris$Sepal.Length, iris$Sepal.Width)
[1] -0.1175698
}}
相関係数の値によって、相関を次のように表現します。(ただ...
-0.9以上のとき「極めて強い正の相関がある」
-0.7以上0.9未満のとき「強い正の相関がある」
-0.4以上0.7未満のときは「(中程度の)正の相関がある」
-0.2以上0.4未満のとき「弱い正の相関がある」
- -0.2以上0.2未満のとき「ほとんど相関がない」
- -0.4以上-0.2未満のとき「弱い負の相関がある」
- -0.7以上-0.4未満のとき「(中程度の)負の相関がある」
- -0.9以上-0.7未満のとき「強い負の相関がある」
- -0.9未満のとき「極めて強い負の相関がある」
がく片(萼片)の長さと幅の相関係数は-0.12なので、ほとんど...
*相関の検定 [#y1081cf3]
本当にがく片(萼片)の長さと幅に相関は無いのでしょうか。
相関係数の値がゼロに近かったのは偶然そうなったとは考えら...
そこで、「がく片(萼片)の長さと幅には相関がない」という...
これを無相関検定といいます。
詳しくは統計の教科書で勉強してください。
具体的には、''p値''を求め、''有意水準''と比べます。
p値が有意水準より小さいとき、その水準において統計的に有意...
そうでないとき、その水準において有意な相関はないと考えま...
有意水準には、5%や1%がよく用いられます。
p値を求めるには、''cor.test関数''を使います。
#geshi(rsplus){{
cor.test(iris$Sepal.Length, iris$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(iris$Sepal.Length, iris$Sepal.Width)
Pearson's product-moment correlation
data: iris$Sepal.Length and iris$Sepal.Width
t = -1.4403, df = 148, p-value = 0.1519
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.27269325 0.04351158
sample estimates:
cor
-0.1175698
}}
まず、p値 (''p-value'') を見ます。
p値が 0.15 なので、1%有意水準でも、5%有意水準でも、「ほと...
次に、相関係数の95%信頼区間(''95 percent confidence inte...
相関係数は、95%の確率で、約-0.27から約0.04の区間に入りま...
この区間に 0 が含まれているので、相関係数が 0 になる可能...
つまり、「相関がない(相関係数が 0 である)」という帰無仮...
そこで、setosaのデータだけを取り出して、がく片(萼片)の...
#geshi(rsplus){{
setosa <-iris[1:50,]
plot(setosa$Sepal.Length, setosa$Sepal.Width)
}}
#ref(setosa.png,nolink)
#geshi(rsplus){{
cor.test(setosa$Sepal.Length, setosa$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(setosa$Sepal.Length, setosa$Sepal.Width)
Pearson's product-moment correlation
data: setosa$Sepal.Length and setosa$Sepal.Width
t = 7.6807, df = 48, p-value = 6.71e-10
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.5851391 0.8460314
sample estimates:
cor
0.7425467
}}
相関係数が0.74、p値は6.7e-10、つまり0.00000000067だったの...
サンプルが少ないとp値が大きくなります。(サンプルが多いと...
たとえば、setosaの1番目から5番目のデータだけを取り出してs...
#geshi(rsplus){{
setosa1 <- setosa[1:5,]
ggplot(data=setosa1, aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
theme(aspect.ratio=1)
}}
#ref(setosa1.png,nolink)
#geshi(rsplus){{
cor.test(setosa1$Sepal.Length, setosa1$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(setosa1$Sepal.Length, setosa1$Sepal.Width)
Pearson's product-moment correlation
data: s1$Sepal.Length and s1$Sepal.Width
t = 1.6064, df = 3, p-value = 0.2065
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.5055650 0.9764541
sample estimates:
cor
0.6800193
}}
すると、相関係数は0.68ですが、p値が0.21なので、有意な正の...
同じように、setosaの21番目から25番目までのデータだけを取...
#geshi(rsplus){{
setosa2 <- setosa[21:25,]
ggplot(data=setosa2, aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
theme(aspect.ratio=1)
}}
#ref(setosa2.png,nolink)
#geshi(rsplus){{
cor.test(setosa2$Sepal.Length, setosa2$Sepal.Width)
}}
#geshi(rsplus){{
> cor.test(setosa2$Sepal.Length, setosa2$Sepal.Width)
Pearson's product-moment correlation
data: s2$Sepal.Length and s2$Sepal.Width
t = -0.5371, df = 3, p-value = 0.6285
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.9343030 0.7934151
sample estimates:
cor
-0.2961744
}}
setosaに含まれる50個のデータからは有意な正の相関が見られ...
このように、サンプルの取り方によっては相関係数が大きく変...
*演習 [#k28fef32]
irisデータのPetal.LengthとPetal.Widthの間の相関係数を調べ...
また、その統計的有意性を検定してみよう。
*参考文献 [#a1dea469]
-樋口千洋: ''Rによるバイオインフォマティクスデータ解析 第...
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
ページ名: