「諸概念の迷宮(Things got frantic)」用語集

本編で頻繁に使うロジックと関連用語のまとめ。

【推定統計情報倉庫】標本分散(Sample variance)と不偏分散(Unbiased dispersion)

散布度基準②その1-標本分散Sample Dispersion)…偏差^2/偏差数
*このケースは全件抽出なのでこれでOK。「二乗する」というアイディアは最小二乗法と縁が深く、広く普及している。平均値が代表値となる。

散布度基準②その1-不偏分散Unbiased Dispersion)…偏差^2の合計/(偏差数-1)
*このケースは標本抽出なのでこれでOK。「二乗する」というアイディアは自体は最小二乗法に由来し、平均値が代表値となる。

それにつけても、何故標本分散Sample variancesum*1/length(x)の分母はlength(x)で、不偏分散Unbiased dispersionsum*2/length(x)の分母は(length(x)-1)なのでしょうか? 

f:id:ochimusha01:20191003114353p:plain

こういう疑問に突き当たった時は実際にシミュレーションしてみるに限ります。

何故、不偏分散はN-1で割るのか?

分散だけn−1で割るのは、どうも不公平な感じがする、という方がいるかもしれない。試しに、実際のデータで見てみよう。

まず、N(50, 10) の乱数を 5000 ケース発生させ、10 ケースで 1 サンプルとして標本分散と不偏分散を求める。

次に、サンプルの平均値を求め、グラフ化する。標本分散は母分散100 から外れたところを推移し、決して母分散に近づくことはない。

f:id:ochimusha01:20191003114353p:plain
統計言語Rによる描画

Time_code<-seq(1,5000) 
SD0<-NULL #標本分散初期化
UD0<-NULL #不偏分散初期化

#試行の実施

for (i in Time_code){
smp<-rnorm(10,mean=50,sd=10)
#標本分散の算出結果追加
SD0<-c(SD0,sum*3^2)/length(smp))
#不偏分散の算出結果追加
UD0<-c(UD0,sum*4^2)/(length(smp)-1))
}

#描画データ準備

Sample_Dispersion<-NULL
Unbiased_Dispersion<-NULL
for (i in Time_code){

Sample_Dispersion<-c(Sample_Dispersion,mean(SD0[1:i]))
Unbiased_Dispersion<-c(Unbiased_Dispersion,mean(UD0[1:i]))
}

#グラフ描画

plot(Time_code,Sample_Dispersion,type="l",col=rgb(0,1,0),xlim=c(0,5000),ylim=c(50,150),main="Sample &Unbiased Dispersion",xlab="Number of Samples",ylab="Dispersions")
par(new=T) #上書き
plot(Time_code,Unbiased_Dispersion,type="l",col=rgb(0,0,1),xlim=c(0,5000),ylim=c(50,150),main="",xlab="",ylab="")

#母分散追加

abline(h=100,col=rgb(1,0,0))

#凡例

legend("bottomright", legend=c("Sample Dispersion","Unbiased Dispersion","Mother dispersion"), lty=c(1,1,1), col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))

終結

Sample_Dispersion[5000]
[1] 90.08727
Unbiased_Dispersion[5000]
[1] 100.097

本当にその通り推移してますね…

*1:x-mean(x)^2

*2:x-mean(x)^2

*3:smp-mean(smp

*4:smp-mean(smp