*はじめに [#w5ae99c9]

ここでは,Rを使って平均,分散,標準偏差を求めます.

『Rによるバイオインフォマティクスデータ解析』の3.3節「基本統計関数」に少しだけ出てきます.

#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=tohgoroh-22&o=9&p=8&l=as1&asins=4320057082&ref=tf_til&fc1=444B4C&IS2=1&lt1=_blank&m=amazon&lc1=444B4C&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}


*準備 [#q96ce9c2]

Rのインストールについては,次のページを見てください.
-[[MacでRを使う>機械学習/MacでRを使う]]
-[[WindowsでRを使う>機械学習/WindowsでRを使う]]

ここでは,標準で使用できる''irisデータセット''を使います.
#geshi(rsplus){{
> data(iris)
}}

このデータセットは,アヤメの種類(Species)を花びらの長さ(Sepal.Length),幅(Lepal.Width),がくの長さ(Petal.Length),幅(Petal.Width)によって分類する問題です.
長さと幅は連続値,種類はsetosa, versicolor, virginicaのいずれかをとる離散値です.

このデータセットには,setosa, versicolor, virginicaという3種類のアヤメについて,それぞれ50個ずつ,合計150個のデータが含まれています.
ランダムに10個のデータを選択して,見てみましょう.
#geshi(rsplus){{
> iris[sort(sample(1:150,10)),]
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
4            4.6         3.1          1.5         0.2     setosa
22           5.1         3.7          1.5         0.4     setosa
65           5.6         2.9          3.6         1.3 versicolor
97           5.7         2.9          4.2         1.3 versicolor
100          5.7         2.8          4.1         1.3 versicolor
108          7.3         2.9          6.3         1.8  virginica
116          6.4         3.2          5.3         2.3  virginica
122          5.6         2.8          4.9         2.0  virginica
136          7.7         3.0          6.1         2.3  virginica
146          6.7         3.0          5.2         2.3  virginica
}}


ここでは,setosaのSepal.Lengthだけを扱います.

Speciesの値がsetosaのデータだけを取り出すには,次のようにします.
#geshi(rsplus){{
> iris[iris$Species=='setosa',]
}}
コンマを忘れないようにしてください.

Speciesの値がsetosaのデータのSepal.Lengthの値(つまり,1列目の値)だけを取り出して,setosa.Petal.Lengthとします.
#geshi(rsplus){{
> setosa.Sepal.Length <- iris[iris['Species']=='setosa',1]
}}



*ヒストグラム [#wa8f8e55]

ヒストグラムを表示するには''hist関数''を使います.
#geshi(rsplus){{
> hist(setosa.Sepal.Length)
}}
#ref(histgram_1.png,nolink,50%)

区間は適当に決めてくれますが,区間を変更したり,色を付けたりすることもできます.
#geshi(rsplus){{
> hist(setosa.Sepal.Length, breaks=12, col='gray')
}}
#ref(histgram_2.png,nolink,50%)

頻度の替わりに確率密度を縦軸にすることもできます.
#geshi(rsplus){{
> hist(setosa.Sepal.Length, breaks=12, col='gray', freq=F)
}}
#ref(histgram_3.png,nolink,50%)


*平均 [#ee0baa35]

平均は,値の合計を値の数で割ったものです.
\[\mu(X) = \frac{\sum_{i=1}^{n} x_i}{n}\]

平均を求めるには,''mean関数''を使います.
#geshi(rsplus){{
> mean(setosa.Sepal.Length)
[1] 5.006
}}

平均値からのズレ [math]x_i - \mu(x)[/math] を偏差といいます.


*分散 [#ded26716]

不偏分散は,標本(サンプル・データ)に含まれる値の偏差の平方和を標本数から1を引いた値で割ったものです.
なぜ標本数から1を引くのかについては,統計の教科書で勉強してください.
\[\mathrm{Var}(X) = \frac{\sum_{i=1}^{n} (x_i - \mu(X))^2}{n-1}\]

不偏分散を求めるには,''var関数''を使います.
#geshi(rsplus){{
> var(setosa.Sepal.Length)
[1] 0.124249
}}


*標準偏差 [#t6948fa7]

不偏標準偏差は,不偏分散の平方根です.
\[\sigma(X) = \sqrt{Var(X)}\]

不偏標準偏差を求めるには,''sd関数''を使います.
#geshi(rsplus){{
> sd(setosa.Sepal.Length)
[1] 0.3524897
}}


*正規分布の確率密度関数 [#sbccf3e1]

正規分布の確率密度関数は以下の式で与えられます.
\[ f(x) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

Rで正規分布の確率密度関数を求めるには''dnorm関数''を用います.
パラメーターは平均 mean と標準偏差 sd です.

まずは,平均0,標準偏差1の正規を描いてみましょう.

グラフを描くには''curve関数''を使います.第一引数には変数xを含んだ式を与えます.
#geshi(rsplus){{
> curve(dnorm(x, mean=0, sd=1), from=-5, to=5)
}}
#ref(density.png,nolink,50%)


*ヒストグラムと確率密度関数の重ね書き [#p8498d99]

最後に,ヒストグラムとデータから推定した正規分布の確率密度関数を重ね書きしてみましょう.

まずは,ヒストグラムを確率密度で表示しておきます.
#geshi(rsplus){{
> hist(setosa.Sepal.Length, breaks=12, col='gray', freq=F)
}}
#ref(histgram_3.png,nolink,50%)

平均muと標準偏差sigmaを求めておきます.
#geshi(rsplus){{
> mu <- mean(setosa.Sepal.Length)
> sigma <- sd(setosa.Sepal.Length)
}}

平均muと標準偏差sigmaの確率密関数をヒストグラムに重ね書きします.
#geshi(rsplus){{
> curve(dnorm(x, mean=mu, sd=sigma), add=T)
}}
#ref(histgram_4.png,nolink,50%)


*演習 [#t115f943]

irisのSepal.Length以外のデータに対して,平均 [math]\mu[/math] と不偏標準偏差 [math]\sigma[/math] を求め,そのヒストグラムと平均 [math]\mu[/math],標準偏差 [math]\sigma[/math] の正規分布の確率密度関数を重ねて描いてみよう.


*参考文献 [#zf4d0948]

#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=tohgoroh-22&o=9&p=8&l=as1&asins=4320057082&ref=tf_til&fc1=444B4C&IS2=1&lt1=_blank&m=amazon&lc1=444B4C&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS