小寺先生のテキストは手計算による理解を目指しています。
ここではRを用いた導入を試みます。
ひょっこり統計の看護基礎「記述統計と推測統計」
を参照します。
ヒストグラムの広がりを数値で表したものが分散です。平均との差の2乗の平均で計算されます。
標準偏差は分散の平方根です。
(データ) =(平均) ± (誤差変動).
誤差変動は標準偏差の幅で動く確率変数です。
(データ) =(平均) ±
(標準偏差) とイメージしてもよいでしょう.
データは平均を中心に波のように高くなったり低くなったりします。
例えば、ある人の血圧が 平均100, 標準偏差5 ということは、
測定血圧=100 ±
5 で変動しうるというイメージです。
何故、分散計算で二乗しておいて平方根をとって標準偏差にするのかと思いますが、絶対値関数は微分可能ではなく2次関数は微分可能であるので、2次関数の方が微積分を利用しやすいからだと思います。
データが2個の場合で説明します。たった2個でいいのかと思う人もいるでしょう。
数学では、2個で計算できれば無限回計算が可能であり、2個で成り立つことは無限個でも成り立ちます。
平均 0 を中心として ±1 で変動しています。
\(V=\dfrac{(1-0)^2+(-1-0)^2}{2}=1\).
標準偏差は sd=1 です。
Rの関数varは推測統計の関数なので(n-1)=1 で割った値が出力されます。
var(c(1,-1))
## [1] 2
記述統計の分散は nで割るので、2で割るとV=1 に一致します。
平均0 を中心として ±2 で変動しています。
\(V=\dfrac{(2-0)^2+(-2-0)^2}{2}=4\).
標準偏差は sd=2 です。
データを標準偏差で割ると、
\(\dfrac{x}{2}=1,-1\)
標準偏差1のデータに変換できます。
(平均を0、標準偏差を1にする操作は標準化と呼ばれます).
平均5 を中心として ±2 で変動しています。
\(V=\dfrac{(3-5)^2+(7-5)^2}{2}=4\).
標準偏差は sd=2 です。
標準化
\(x-5=-2,2\)
\(\dfrac{x-5}{2}=-1,1\)
平均0、標準偏差1のデータに変換できます。
尺度の違う2種類のデータを比較するには標準化が必要です。
(テキストp21によれば、標準化するとデータは無名数になります).
後に出てくる共分散は、標準化した変数で計算すると相関係数になります。
データが、\(X=x_1,x_2,\cdots ,x_n\) であれば、分散V(X)は、平均をmとして
\(V(X)=\dfrac{1}{n} \left[(x_1-m)^2+(x_2-m)^2+\cdots+(x_n-m)^2\right]\)
例えばデータが \(X=3,3,3\)
であれば、平均 \(m=3\) 、散らばっていませんから
\(V(X)=\dfrac{1}{3}
\left[(3-3)^2+(3-3)^2+(3-3)^2\right]=0\)
\(Y=2,3,4\) であれば、平均 \(m=3\)で
\(V(Y)=\dfrac{1}{3}
\left[(2-3)^2+(3-3)^2+(4-3)^2\right]=\dfrac{2}{3}\)
\(Z=6,7,8\) であれば、平均 \(m=7\)ですが、散らばりは同じで
\(V(Z)=\dfrac{1}{3}
\left[(2-3)^2+(3-3)^2+(4-3)^2\right]=\dfrac{2}{3}\)
計算式を簡潔に表すには\(\sum\)
(シグマ)という 記号が必要です。
\(\displaystyle \sum_1^n\)
は、1番目からn番目までたしあわせるという意味です。
この記号を用いれば、
\(\displaystyle V(X)=\dfrac{1}{n}
\sum_1^n(x_i-m)^2\) 簡潔に表現することができます。
度数分布表が与えられていますが、元のデータは.
x=seq(30,70,by=10)
X <- rep(x,c(2,4,14,12,8))
X
## [1] 30 30 40 40 40 40 50 50 50 50 50 50 50 50 50 50 50 50 50 50 60 60 60 60 60
## [26] 60 60 60 60 60 60 60 70 70 70 70 70 70 70 70
平均は40個を合計して40で割ります。 同じ値が繰り返されているので掛け算を用いると. \(m=\dfrac{1}{40}\left[30\cdot2+40\cdot4+50\cdot14+60\cdot12+70\cdot8\right]=55\).
分散は平均との差の2乗を合計して40で割ります。同じ値が繰り返されているので掛け算を用いると. \(V=\dfrac{1}{40}\left[(30-55)^2\cdot2+(40-55)^2\cdot4+(50-55)^2\cdot14+(60-55)^2\cdot12+(70-55)^2\cdot8\right]=115\).
手計算で求めた値と関数を用いた値を比べます.
x <- c(4,1,13,5,4,2,5,7,5,2,6,6)
sum(x)/12#手計算
## [1] 5
mean(x)#関数
## [1] 5
sum((x-5)^2)/12#手計算
## [1] 8.833333
var(x)#関数(不偏分散)
## [1] 9.636364
var(x)*11/12
## [1] 8.833333
varは不偏分散で11で割っているので、12で割るように修正すると手計算と一致する。
sort(x)
## [1] 1 2 2 4 4 5 5 5 6 6 7 13
median(x)
## [1] 5
quantile(x)
## 0% 25% 50% 75% 100%
## 1.0 3.5 5.0 6.0 13.0
boxplot(x,horizontal=T)
白丸のデータは外れ値と呼ばれ、他のデータから大きく離れています。平均はデータの重心であり、外れ値の影響を受けるので、中央値を代表値として用いることがあります。
推測統計の世界では、nの代わりに(n-1)で割って
\(\displaystyle V(X)=\dfrac{1}{n-1}
\sum_1^n(x_i-m)^2\) を分散として用います。
(不偏分散といいます)
理由は、実際のデータ分析では全てのデータを入手することは不可能で分散が小さめに出てしまいます。
そこで、(n-1)で割り分散を大きめに見積もることで、より正確な分散の推定値としています。
下に示したRStudioでの分散計算も、(n-1)で割る不偏分散が用いられています。
A=c(3,3,3)
str(A)#データAの内容
## num [1:3] 3 3 3
var(A)#データAの分散
## [1] 0
hist(A,right=FALSE,breaks=seq( 2,5,1 ))
B=c(1,2,3)
str(B)#データBの内容
## num [1:3] 1 2 3
var(B)#データBの分散
## [1] 1
hist(B,right=FALSE,breaks=seq( 1,4,1 ))
分散は平均との差の平方の平均で、平方しているため値が大きくなりすぎます。
このため、分散の平方根である標準偏差が実際のイメージに合うでしょう。
実際のデータで調べてみると、
平均を中心にして
(平均)±
3(標準偏差) の範囲にヒストグラムの山はおさまります。
平均が 3 標準偏差が 0.5 のとき、ガウスの正規分布
\(f\left( x\right) =\dfrac{1}{\sqrt{2\pi
}\cdot 0.5}\exp \left[
-\dfrac{1}{2}\left(\dfrac{x-3}{0.5}\right)^2\right]\)
をグラフで描画すると、
curve(dnorm(x, 5, 2),xlim=c(-6,6),ylim=c(0,0.4))
平均を引くと、平均は0になります(ピンクのヒストグラム)。
hist(rnorm(1000, 5, 2)-5 ,breaks="sturges",prob=T,col="lightpink",xlim=c(-6,6),ylim=c(0,0.4))
curve(dnorm(x, 5, 2),-6,10,add=T)
標準偏差で割ると、平均0、標準偏差1の分布になります。
これを標準正規分布といます。(ブルーのヒストグラム
hist(rnorm(1000, 5, 2)-5 ,breaks="sturges",prob=T,col="lightpink",xlim=c(-6,6),ylim=c(0,0.4))
hist((rnorm(1000, 5, 2)-5)/2 ,breaks="sturges",prob=T,col="lightblue",add=T)
curve(dnorm(x, 5, 2),-6,10,add=T)