母分散
データ\(x_i\)
が母集団の全数データで,母平均が分かっているとき、
\(\sigma^{2}= \dfrac{1}{n}\displaystyle
\sum^{n}_{i=1}(x_{i}-\mu)^{2}= \dfrac{1}{n}\{ ( x_{1}-\mu)^{2} + (
x_{2}-\mu)^{2}+ \cdots + (x_{n}-\mu)^{2} \}\)
一方、推測統計では、データは標本であり全数データではないので、母平均、母分散の計算は不可能です。
そこで、母分散を代替するものとして、標本分散と不偏分散が考えられています。
標本分散
標本 \(S=\{x_1,x_2,\cdots,x_n\}\)
から計算した分散を標本分散といいます。
\(s^{2}= \dfrac{1}{n}\displaystyle
\sum^{n}_{i=1}(x_{i}-\bar{x})^{2}= \dfrac{1}{n}\{ ( x_{1}-\bar{x})^{2} +
( x_{2}-\bar{x})^{2}+ \cdots + (x_{n}-\bar{x})^{2} \}\)
ただし、\(\bar{x}= \frac{1}{n}
\sum^{n}_{i=1}x_{i} = \frac{1}{n}( x_{1}+x_{2}+ \cdots + x_{n}
)\)
標本分散は、X の分散 \(\sigma^2\)
より小さめの値を取ります。
そこで、標本分散を、値が \(\sigma^2\)
に近くなるよう修正したものが不偏分散です。
不偏分散
標本分散の分母を(n-1)にしたものを不偏分散といいます。
\(\hat{\sigma}^{2} = \dfrac{1}{n-1}
\sum^{n}_{i=1}(x_{i}-\bar{x})^{2}= \dfrac{1}{n-1}\{ ( x_{1}-\bar{x})^{2}
+ ( x_{2}-\bar{x})^{2}+ \cdots + (x_{n}-\bar{x})^{2} \}\)
不偏分散は、期待値が母分散 \(\sigma^2\)になることが知られており、母分散の代用として使われます。
不偏分散 \(\hat{\sigma}^{2}\) は 母分散
\(\sigma^2\) の推定値です。
以下で、乱数を用いたシミュレーションを行います。
\(Z\sim N(0,1)\) とします。
母平均・母分散は既知ですが、出力された値から母平均・母分散を推定することは応用上重要です。
独立に出力された値 \(Z_1,Z_2,\cdots,Z_n\sim
N(0,1):i.i.d\) から母分散を推定してみましょう。
\((Z-0)^2\) の平均は分散1になります。
Z <- rnorm(1000)
mean(Z^2)
## [1] 0.9187819
hist(Z^2,prob=T,breaks = "Scott")
平均は1に近いですが、ヒストグラムは偏っているので、\(Z^2\) は良い推定値とは言えないようです。
\(Z_1,Z_2,\cdots,Z_5\sim
N(0,1):i.i.d\) を出力したとき、
\(\dfrac{\chi^2}{5}=\dfrac{Z_1^2+Z_2^2+\cdots+Z_5^2}{5}\)
は標本分散でも不偏分散でもありません。
しかし、母分散の推定値にはなっています。
s = 0
for (i in 1:5) {
z <- rnorm(1000)
s <- s + z^2
}
hist(s/5,prob=T,breaks = "Scott")
#curve(dchisq(x,5),add=T)
mean(s/5)
## [1] 1.010035
hist(sqrt(s/5),prob=T,breaks = "Scott")
mean(sqrt(s/5))
## [1] 0.958123
分母は標準正規分布5個の平方和でカイ二乗値といい、その分布を自由度5のカイ二乗分布といいます。s/5は自由度5のカイ二乗値を5で割った母分散の推定値です。
二乗計算があるため大きい値がより大きくなってしまい、右に裾の広がった分布になります。
sqrt(s/5)は分散の平方根である標準偏差値のヒストグラムで、左右対称に近くなっています。
ここでは5個の標準正規乱数から母分散を推定しましたが、個数(自由度)を増やせばヒストグラムの広がりは小さくなり、母分散の推定値として誤差変動の小さい良い値になると予想されます。
\(Z_1,Z_2,\cdots,Z_{10}\sim
N(0,1):i.i.d\) を出力したとき、
\(\dfrac{\chi^2}{10}=\dfrac{Z_1^2+Z_2^2+\cdots+Z_{10}^2}{10}\)
s = 0
for (i in 1:10) {
z <- rnorm(1000)
s <- s + z^2
}
hist(s/10,prob=T,breaks = "Scott")
#curve(dchisq(x,5),add=T)
mean(s/10)
## [1] 0.9966262
var(s/10)
## [1] 0.1938332
ヒストグラムの偏りもなくなり、推定値として改善したと言えるでしょう。
このように、データ数を増やせば推定の精度が上がると考えられます。
これまでの例では、正規乱数の母平均は0と分かっていますが、実際の調査では母平均は分かっていません。
そこで、 \(Z_1,Z_2,\cdots,Z_{10}\sim
N(0,1):i.i.d\) を出力したとき、
平均を \(\bar{Z}= \frac{1}{10}
\sum^{10}_{i=1}Z_{i}\) として
\(\dfrac{\chi^2}{10}=\dfrac{(Z_1-\bar{Z})^2+(Z_2-\bar{Z})^2+\cdots+(Z_{10}-\bar{Z})^2}{10}\)
が分散の推定値として適しているかを見てみましょう。
v=0
y=c()
for (i in 1:1000) {
z_i <- rnorm(10,mean=0,sd=1)
y_i <- sum((z_i-mean(z_i))^2)/10
v <- v+y_i
y <- c(y,y_i)
}
v/1000
## [1] 0.9202978
hist(y,prob=T,breaks = "Scott")
分散が 0.9 の近似値が出力され、分散は1にならないようです。
このことを解決するには、自由度という考えが必要になります。
自由度とは自由に独立に動く変数の個数と説明されることが多いです。
独立な確率変数の分散には加法性があるので、
独立な変数が1個の分散は \(\sigma^2\)
独立な変数が2個の和の分散は \(2\sigma^2\)
独立な変数が3個の和の分散は \(3\sigma^2\)
\((x_1-\mu)^2+(x_2-\mu)^2+\cdots+(x_n-\mu)^2\)は独立な変数n個の和なので分散は
\(n\sigma^2\)
nで割った数が母分散の推定値になります。
ところが、\((x_1-\bar{X}),~(x_2-\bar{X}),\cdots,(x_n-\bar{X})\)
は独立ではありません。
事実だけを述べれば、
\(E\left((x_1-\bar{X})^2+(x_2-\bar{X})^2+\cdots+(x_n-\bar{X})^2\right)=(n-1)\sigma^2\)
となり自由度は(n-1)になります。
その式の分散が \(\sigma^2\)
の何倍になるか、その倍数の数が自由度というほうが的を得ているでしょう。
上のシミュレーションでは、
\((Z_1-\bar{Z}),(Z_2-\bar{Z}),\cdots,(Z_{10}-\bar{Z})\) は独立ではなく、
自由度は9であり、
\((Z_1-\bar{Z})^2+(Z_2-\bar{Z})^2+\cdots+(Z_{10}-\bar{Z})^2\)
の期待値は9になるため、
9で割る必要があるのです。
偏差平方和を(標本数−1)即ち、自由度で割った分散を不偏分散と言います。
v=0
y=c()
for (i in 1:10000) {
x_i <- rnorm(10,mean=1,sd=1)
y_i <- sum((x_i-mean(x_i))^2)/9
v <- v+y_i
y <- c(y,y_i)
}
v/10000
## [1] 0.9965899
hist(y,prob=T,breaks = "Scott",xlim=c(0,3))
確かに分散の期待値は1になっています。
自由度をさらに増やすとどうなるでしょうか?
v=0
y=c()
for (i in 1:10000) {
x_i <- rnorm(100,mean=1,sd=1)
y_i <- sum((x_i-mean(x_i))^2)/99
v <- v+y_i
y <- c(y,y_i)
}
v/10000
## [1] 1.000937
hist(y,prob=T,breaks = "Scott",xlim=c(0,3))
偏差平方和を自由度で割った値は母分散1に近くなり、ヒストグラムの幅が小さくなっているので、精度も上がっていることがわかります。
このことから、
「不偏分散は、データ数を増やせば母分散に確率収束する」ことが分かります。
分散式の分子をカイ二乗値といいます。
母平均が既知のとき、
\(\chi^2=Z_1^2+Z_2^2+\cdots+Z_n^2 \sim
\chi^2(n)\)
自由度nのカイ二乗分布に従います。
母平均が未知のとき、
\(\chi^2=(Z_1-\bar{Z})^2+(Z_2-\bar{Z})^2+\cdots+(Z_{n}-\bar{Z})^2
\sim \chi^2(n-1)\) 自由度n-1のカイ二乗分布に従います。
乱数は rchisq 、曲線は dchisq で出力されます。
v=0
y=c()
for (i in 1:10000) {
x_i <- rnorm(10,mean=1,sd=1)
y_i <- sum((x_i-mean(x_i))^2)
v <- v+y_i
y <- c(y,y_i)
}
v/10000
## [1] 8.933616
hist(y,prob=T,breaks = "Scott")
#自由度9のカイ二乗分布
curve(dchisq(x,9),add=T)
偏差平方和から出力したヒストグラムとカイ二乗曲線はほぼ一致します。
カイ二乗値の正体は何なのでしょうか?
正体が掴めていないと必要以上に難しく感じるものです。
カイ二乗値を自由度で割った値が
標準正規分布の母分散の推定値です。
よって、
と言えます。
\(Z_1\sim N(0,1)\) のとき \(Z_1^2\) は自由度1のカイ二乗値であり、\(Z_1^2\)は母分散の推定値です。
\(E(Z_1^2)=1\) より、\(Z_1^2\) は1に近い値をとります。
しかし、\(V(Z_1^2)=2\)
なので、推定の精度はよくありません。
v=0
y=c()
for (i in 1:1000) {
z_i <- rnorm(1,mean=0,sd=1)
y_i <- sum((z_i-0)^2)/1
v <- v+y_i
y <- c(y,y_i)
}
v/1000
## [1] 0.9722526
hist(y,prob=TRUE,breaks = "Scott",xlim=c(0,5))
自由度1のカイ二乗値は期待値は1ですが、分布の広がりは大きくなっています。
自由度を増やし、10個の正規乱数から母分散を推定してみよう。
v=0
y=c()
for (i in 1:1000) {
z_i <- rnorm(10,mean=0,sd=1)
y_i <- sum((z_i-0)^2/10)
v <- v+y_i
y <- c(y,y_i)
}
v/1000
## [1] 0.9976086
hist(y,prob=TRUE,breaks = "Scott",xlim=c(0,5))
自由度10のカイ二乗値を自由度で割った値の期待値は母分散1であり、分布の広がりは小さくなっています。少し精度はよくなったと言えるでしょう。
実際、自由度10のカイ二乗値の分散は20なので、自由度10で割った値の分散は
\(20/10^2=0.2\) 標準偏差は 約
0.45 となります。
さらに自由度を増やし、30個の正規乱数から推定すると、
v=0
y=c()
for (i in 1:1000) {
z_i <- rnorm(30,mean=0,sd=1)
y_i <- sum((z_i-0)^2/30)
v <- v+y_i
y <- c(y,y_i)
}
v/1000
## [1] 0.9962539
hist(y,prob=TRUE,breaks = "Scott",xlim=c(0,5))
カイ二乗値を自由度で割った値は 母分散に確率収束していくことがわかります。
標本平均は標本数とともに母平均に確率収束し、
カイ二乗値を自由度で割った値は自由度とともに母分散に確率収束する。
とまとめることができます。
次はF分布の話になります。
自由度nの母分散の推定値と自由度mの母分散の推定値の比は、
\(F(m,n)\):自由度m,n
のF分布に従います。
このように、F分布は母分散の推定値の比の分布です。
2群間の分散分析で、
群間変動から推定した母分散の推定値\(S_R/1\)
群内変動から推定した母分散の推定値\(S_e/(n-2)\)
その比はどうなるでしょうか?
群間変動が大きければ、それによる推定値も大きいので
\(F=\dfrac{S_R/1}{S_e/(n-2)}\)
は1より大きくなります。
その程度が有意であるとき、2群に差があると判断することになります。
これが分散分析の考え方です。