More than 5 years have passed since last update.
【初心者向け】平均(Mean)と標準偏差(Standard Deviation)、中央値(Median)と平均偏差(Mean Absolute Deviation)
統計学史上においてはガウス()が最小二乗法()を発表して以降、平方損失系()尺度、すなわち正規分布に紐付けられた標本分散()/不偏分散()/不偏標本分散()および標準偏差()の偏重が続いてきたとされています。
【無限遠点を巡る数理】無限遠点としての正規分布と分散概念の歴史
それでは他にどういう考え方があるのでしょうか?
簡単な数値シミュレーションをして、標準偏差と平均偏差が最も小さくなる時の代表値がそれぞれ平均値と中央値になることを確かめてみましょう。
今回の検証ではR言語を使い確率分布からデータをランダムに発生させます。ここで正規分布を採用すると、平均値と中央値のずれがほとんどないと予想できるので、あえて違う確率分布()を用います。
# データの生成simData<-rlnorm(1000)plot(simData)# 分布が正規分布と懸け離れている事の確認qqnorm(simData)qqline(simData,lwd=2,col="red")()()
生成したデータの最低値と最高値を計算します。最初に最低値を分布の代表値と仮定し、標準偏差と平均偏差をそれぞれ求めます。
次に最低値よりも少しだけ大きな値を代表値とし、データの最大値を代表値とする場合まで次々に繰り返します。
そして最後に、すべての計算結果からいつ標準偏差と平均偏差が最小になるかを調べます。
# 最小値と最大値の取得minData<-min(simData)minData[1]0.05256874maxData<-max(simData)maxData[1]24.31248# 繰り返しの回数を求めるnumIteration<-round((maxData-minData)/0.0001)numIteration[1]242599# 計算結果の保存用配列を作成## 標準偏差用arrSD<-NULL## 平均偏差用arrAD<-NULLfor(iin1:numIteration){repData<-minData+0.0001*iresSD<-sqrt(sum((simData-repData)^2)/length(simData))resAD<-sum(abs(simData-repData))/length(simData)arrSD<-c(arrSD,resSD)arrAD<-c(arrAD,resAD)}データ後処理
標準偏差と平均偏差を保存したデータの中かからいつ値が最小になったのかを求めます。
# SDが最小となるような代表値minData+0.0001*which.min(arrSD)[1]1.708869# ADが最小となるような代表値minData+0.0001*which.min(arrAD)[1]0.9646687SD/ADが最小となるような代表値
計算の結果、SDが最小となるような代表値は、ADが最小となるような代表値はでした。では、最後にこのデータの平均と中央値を計算してみます。
mean(simData)[1]1.708847median(simData)[1]0.9662305最終結論
計算結果は、平均値が、中央値がでした。正確な一致ではありませんが、おおよそ標準偏差が最小となるような代表値は、データの平均値であり、平均偏差が最小となるような代表値はデータの中央値であることがわかります。
とりあえずこういう考え方を学びました。
- おおよそ標準偏差が最小となるような代表値はデータの平均値である。
- おおよそ平均偏差が最小となるような代表値はデータの中央値である。
で、こういう話も。
平均値と中央値の違い
中央値は平均値と異なり外れ値の影響を受けません。この性質のことを「外れ値に対してロバストである()」と言います。
一方、平均値と中央値が異なる時、分布は平均値より中央値側に偏りが出ます。例えば年収や資産など、お金についてのデータをとると平均値より中央値が低くなることが殆どです。
以下続報…
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
