神戸のデータ活用塾!KDL Data Blog

KDLが誇るデータ活用のプロフェッショナル達が書き連ねるブログです。

不偏分散の謎に迫る(1)〜分散を理解し、不偏分散の存在を知る〜

株式会社神戸デジタル・ラボ DataIntelligenceチームの高木です。

今回から全3回にわたって統計学の基本でありながら、多くの初学者の頭を悩ませる内容である不偏分散の謎を解きほぐしていきます。

不偏分散って何?」って方や、「分散さえそもそも怪しい…」という方も、是非ともに統計の世界に一歩踏みだしましょう!

本シリーズの全3記事は以下の通りです。

  1. 不偏分散の謎に迫る(1)〜分散を理解し、不偏分散の存在を知る〜
     データのばらつきを知ることができる分散の基本を確認し、本シリーズのメインの不偏分散を理解するための前提知識を身につけます。
  2. 不偏分散の謎に迫る(2)〜不偏分散を理解する〜
     不偏分散そのものについて理解し、分散と不偏分散の違いを踏まえた適切な使い分けができることを目指します。
  3. 不偏分散の謎に迫る(3)〜n-1で割る理由に迫る〜
     分散と不偏分散において、一般式の違いが生まれる理由を数式を利用して解き明かします。

そもそも分散って何?

数値で表されるデータの特徴を掴むために、よく利用される指標として「平均」と「分散」の2つが挙げられます(今回扱う平均は全て算術平均を想定しています)。

平均は日常生活でも馴染みがある方が多い一方、分散はあまり利用されたことのない方も多いのではないでしょうか。

数値データの全体像を把握するためには、私は「データの代表値を知り、ばらつきを知ること」が必要であると考えています。ここにおける代表値とばらつきには、平均と分散の二つの値が対応しており、どちらもとても重要です。

この章では、具体例を通して平均と分散の概要を解説していきます。

平均とは

代表値(データの特徴を表す値)に対応する値が平均です。 例えば、「スーパーAで売られているりんごの平均の重さは300gで、スーパーBで売られているりんごの平均の重さは350gだよ!」と伝えれば、全体で見るとスーパーBの方が大きいりんごを取り扱っていることがわかります。

分散とは

そして、ばらつき(データの分布を表す値)に対応する値が分散になります。先程の例に、分散の情報を併せて数値データ全体を見てみると、平均からは読み取れないりんごの重さのばらつきが分かるようになります。例えば、「スーパーAで売られているりんごの平均の重さは300gで分散は108、スーパーBで売られているりんごの重さは350gで分散は36700だよ!」と伝えることとします。分散はデータのばらつきを表し、値が大きいほどデータが散らばっていることをあらわすので、スーパーAでは大半が同じ大きさのりんごだけれども、スーパーBで扱っているリンゴは重さに大きなバラつきがあるということがわかります。分散に注目することで、平均だけでは得ることができない情報を得ることができましたね!

分散の計算方法

ここからは、実際の例を使って分散を求めてみましょう!

今回は、2つのスーパ(スーパーA・スーパーB)で売られているりんご6個の重さを以下の通りに仮定します。

りんごの重さ(単位:g)
スーパーA 280 310 305 295 300 310
スーパーB 570 360 150 610 100 310

平均を求める

分散の前にまずは馴染みがある平均を求めてみましょう。平均は、全ての重さを足し合わせて個数で割ることで計算できます。

【スーパーA】    \left(280 + 310 + 305 + 295 + 300 + 310 \right) \div 6 = 300

【スーパーB】     \left(570 + 360 + 150 + 610 + 100 + 310 \right) \div 6 = 350

スーパーAの平均の重さは300g、スーパーBの平均の重さは350gと求めることができました。

分散を求める

平均の次は、データの散らばりを表す分散を求めましょう!工程は以下の二つに大きく分けることができます。

  1. 平均と比較した値である偏差を求める
  2. 偏差の情報を利用して、データの散らばりを求める

順を追って、見ていきましょう!

【偏差を求める】

偏差は各データの値と平均の差を表します。この値を利用することで、各データの値が平均と比べて大きいのか・小さいのかを直感的に理解できるようになります。早速、二つのスーパーの値に対してそれぞれ計算してみましょう!

スーパーA(単位:g)
重さ 280 310 305 295 300 310
平均 300 300 300 300 300 300
偏差 -20 +10 +5 -5 0 +10

スーパーB(単位:g)
重さ 570 360 150 610 100 310
平均 350 350 350 350 350 350
偏差 +220 +10 -200 +260 -250 -40

偏差を見ると、感覚的にスーパーB のリンゴの大きさはスーパーAと比較してバラつきが大きいことがわかりますね。このばらつきの大きさを数字で表すためにはどうすれば良いのでしょうか?

【散らばりを求める】

まず考えられることは、各偏差の値に対して平均をとることです。この処理を二つのスーパーの値に対して行なってみましょう!

【スーパーA】   \left( \left(-20\right) + 10 + 5  +  \left(-5\right)  + 0  + 10 \right)  \div 6= 0

【スーパーB】    \left( 220 + 10 +  \left(-200\right)  + 260 +  \left(-250\right)  +  \left(-40\right) \right)    \div 6= 0

どちらも0になってしまいました!これでは、どちらの散らばりが大きいかが比較できませんよね…。ちなみにこれは平均の特徴で、偏差の合計は常に0になります

【豆知識】
その他の平均の特徴として、各データの値と任意の値の差の二乗の和は、平均の場合が最小になるという特徴もあります!

 \left(x_1 - X\right)^{2} + \left(x_2 - X\right)^{2} + \cdots +  \left(x_n - X\right)^{2} =  \sum_{k=1}^{n} \left(x_k - X\right)^{2}
X が平均の時に最小値をとる)


各データのバラつきを見たのにも関わらず、足し算をするとバラつきの合計が0になってしまいました。原因は何なのでしょうか?答えは、偏差にはマイナス符号の値が存在するからです!この問題に対処するためには、マイナス符号を避ける以下の二つの方法が考えられます。

1. 偏差の絶対値(実数に対してプラスやマイナスを外したもの)の平均をとる
2. 偏差に対して二乗したものの平均をとる

このそれぞれの計算結果には名前がついていて、方法1が平均偏差・方法2が分散と呼ばれます。

本シリーズでは分散にスポットライトを当てているので、ここでは方法2を詳しく見ていきます!(実際の現場でも、方法1の平均偏差はあまり使われません。こちらは、方法2の二乗した値と違って微分が使えないことが大きな原因だと考えられます。)先程の表に、偏差の二乗の行を追加しましょう。

スーパーA(単位:g)
重さ 280 310 305 295 300 310
平均 300 300 300 300 300 300
偏差 -20 +10 +5 -5 0 +10
偏差の二乗 400 100 25 25 0 100
スーパーB(単位:g)
重さ 570 360 150 610 100 310
平均 350 350 350 350 350 350
偏差 +220 +10 -200 +260 -250 -40
偏差の二乗 48,400 100 40,000 67,600 62,500 1,600

分散を求めるためには、偏差の二乗に対して平均値をとります(小数第2位で四捨五入)。

【スーパーA】   \left( 400 + 100 + 25  +  25  + 0  + 100 \right)  \div 6= 108.34

【スーパーB】    \left( 48400 + 100 +  40000  + 67600 +  62500  +  1600  \right)  \div 6= 36700.00

スーパーBの値がかなり大きく、りんごの重さがばらついていることがわかりますね!

標準偏差を求める

分散が二乗することより値が大きくなりすぎる傾向があり、実際のデータや平均や偏差との尺度を合わせるために正の平方根を取ることも多いです。この分散の正の平方根を標準偏差と呼びます。

【スーパーA】   \sqrt{ \left( 400 + 100 + 25  +  25  + 0  + 100 \right)  \div 6  }= 10.41

【スーパーB】    \sqrt{ \left( 48400 + 100 +  40000  + 67600 +  62500  +  1600  \right)  \div 6   }= 191.57

不偏分散

先程の分散を、一般化した式で表すと以下のようになります。

 \text{分散} =  \dfrac { \text{標準偏差二乗の合計} }  { データ数 } =  {\dfrac{1}{n} \displaystyle \sum_{i=1}^{n}\left( x_i - \bar{x} \right)^{2}}
ここで、分散によく似た単語である本シリーズのメイン不偏分散の登場です!!先に式を見てみましょう。

 \text{不偏分散} =  \dfrac { \text{標準偏差二乗の合計} }  { データ数 - 1 } =  {\dfrac{1}{n - 1} \displaystyle \sum_{i=1}^{n}\left( x_i - \bar{x} \right)^{2}}

どこが変わっているかわかりますか?答えは、分母のデータ数の値から1が引かれていることです。では、この1を引くことに何の意味があるのでしょうか?分散と不偏分散はどのように使い分けるのでしょうか?ここからは話題が不偏分散に移っていくので、次回以降の記事で扱うことにします。

まとめ

ここまで、不偏分散を理解するための前提知識となる「分散」の基礎知識を、具体例を通して解説しました。今回の記事で、日常において分散が平均と同じくらい身近な指標になり、一歩進んだ数値データの捉え方ができるようになっていただけたらと思います。次回の記事では不偏分散そのものについて、「標本と母集団」の関係と共に見ていきます。

高木裕仁

データインテリジェンスチーム所属
データサイエンティスト。自然言語処理を中心としながら、その他の非構造化データや構造化データに関しても偏りなく扱います。こちらのブログでは、自然言語処理に関するトピックやAzureを中心としたクラウドを利用したデータ活用に関してのトピックを中心に様々な記事を発信していきます。