ねこすたっと

ねこの気持ちと統計について悩む筆者の備忘録的ページ。

高校生のためのデータ分析入門 (13):分散を計算しよう

数学が苦手なうちのJKに、将来必要となるかもしれないデータ分析への抵抗感をなくしてもらう目的で記事を書くことにしました。

前回:高校生のためのデータ分析入門 (12):期待値を計算しよう - ねこすたっと

分散とは?

期待値の次は分散(variance)です。以前、分布のバラツキの指標として標準偏差を紹介しましたが、計算上の性質は分散の方が便利なので、こちらの方がよく使います。「標準偏差の2乗が分散」というよりも、「分散の正の平方根が標準偏差」といった感じです。

分散で表したいのは、中心(つまり平均)から各観測点までの平均的な距離はどれくらいか、です。これが小さければ、データは平均値の近くにかたまっていることになりますし、大きければバラついてることになりますよね。

では、中心からの距離が-100の観測値と、+50の観測値があった場合、遠いのはどっちでしょう?前者の方が遠いですが、数値だけ比べると+50の方が大きくなってしまいますよね。絶対値を取れば距離を比較できますが、数学の問題でも「絶対値は扱いが面倒だから2乗しろ」と言われたことがあると思います。絶対値はそのままだと扱いが面倒だからです。

以上より、分散V(X)は次のように定義されます。

 
\begin{aligned}
V(X) = E[(X- E[X])^2]
\end{aligned}

日本語で言えば、「分散は平均E(X)からの距離の2乗の期待値である」ですね(数式を見ながら確認してみましょう)。

分散を計算する

例として、次のサイコロの目Xの分散V(X)を計算してみましょう。

まずは平均E[X]ですが、これは前回計算したので割愛します(E[X] = 3.5でしたね)。

分散V(X)は(X-E[X])2の期待値、すなわち(X-E[X])2を出現確率で重みづけした平均なので、

 
\begin{aligned}
V(X) &= \sum_{i=1}^6 \frac{1}{6}(X_i - 3.5)^2 \\
&= \frac{(-2.5)^2 + (-1.5)^2 + (-0.5)^2 + 0.5^2 + 1.5^2 + 2.5^2}{6} \\
&\approx 2.91
\end{aligned}

となります(分数で計算すると  \frac{35}{12} )。

nで割るか、n-1で割るか

「あれ、分散はn-1(=5)で割るんじゃないの?」と思った人もいるかもしれません。確かに以前の記事でそのように説明しました。

例えば、箱から球を6つ取り出して、その数字が1,2,3,4,5,6だったとします。箱の中身全体(=母集団)の様子を、この6個の数字(=サンプル)から推測しなければなりません。このとき、母集団の特性の推定値は、

  • 平均:
     \frac{(1 + 2 + … + 6)}{6} = 3.5
  • 分散:
     \frac{(1-3.5)^2 + (2-3.5)^2 +... + (6-3.5)^2 }{6-1} = 3.5

次に、箱から球を12個取り出して、その数字が1,1,2,2,3,3,4,4,5,5,6,6だったとします。さっきの例のサンプル {1,2,3,4,5,6} が2セットの場合ですね。このとき、母集団の特性の推定値は、

  • 平均:
     \frac{(1 + 1 + 2 +… + 6)}{12} = 3.5
  • 分散:
     \frac{(1-3.5)^2 + (1-3.5)^2 + (2-3.5)^2 +... + (6-3.5)^2 }{12-1} \approx 3.18

となります。平均はそのままですが、分散は下がりました。サンプル数が増えて、母集団がそんなにバラついてないと分かってきたということです。

このままサンプルのセット数sを増やしていくと、推定される分散は下のグラフのようになります。

セット数がすごく大きくなると、最初にn=6で割って求めた分散、約2.91に段々と近づいていくことがわかります。そもそも最初の例では、サイコロの目の確率(=1/6)は理論値であって、サンプル数n(=何回サイコロを振ったか)が与えられていたわけではない、というのが混乱の元かもしれませんね。

実際のデータ分析では「n-1で割る」と覚えておいて差し支えないと思います。

分散の計算が少し簡単になる方法

期待値の計算の性質

まず、期待値の計算に関して、基本的な3つの性質を確認します。 1つ目は、「定数の期待値は定数」です。cを定数とすると、

 
\begin{aligned}
E[c] &= c
\end{aligned}

ということです。定数はその値をとる確率100%だから当たり前ですね。

2つ目は、「ある変数を定数倍したものの期待値は、元の変数の期待値を定数倍したもの」です。

 
\begin{aligned}
E[cX] &= cE[X]
\end{aligned}

計算の過程で定数cで括ったら証明できます。

3つ目は、「2つの変数の和の期待値は、それぞれの変数の期待値の和」です。

 
\begin{aligned}
E[X+Y] &= E[X] + E[Y]
\end{aligned}

これも計算の過程で、XはX、YはYでまとめ直せば証明できます。

どうやって証明するか気になるけど分からないという場合は、下の記事が丁寧に書いてくださっていますので読みましょう。

risalc.info

この3つの性質を使って、分散の計算を砕いていきます。

 
\begin{aligned}
V(X) &= E[(X- E[X])^2] \\
&= E[X^2 - 2XE[X] + E[X]^2 ] \\
&= E[X^2] - 2E[XE[X]] + E[E[X]^2 ] \\
&= E[X^2] - 2E[X]E[X] + E[X]^2 \\
&= E[X^2] -  E[X]^2 \\
\end{aligned}

以下、式変形のヒント:

  • 右辺1行目→2行目:単に展開しただけ
  • 2行目→3行目:各項の期待値の和に分割した
  • 3行目→4行目:E[X]は定数であることに注意(既に1つの値が計算されているでしょ?)。定数だから第3項はそのままE[ ]を外せますね。第2項は定数を前に出してやっただけです。
  • 4行目→5行目:第2項と第3項をまとめるとこうなります。

日本語でまとめると、「分散は、変数の2乗の期待値から、期待値の2乗を引いたもの」となります。 これを使って、さっきのサイコロの目の分散を計算してみましょう。

 E[X^2] を計算します。

 
\begin{aligned}
E[X^2] &= \frac{1^2 + 2^2 + 3^2 + 4^2 + 5^2 + 6^2}{6} \\
&\approx 15.1667
\end{aligned}

E[X] = 3.5なので、

 
\begin{aligned}
V(X) &= E[X^2] -  E[X]^2 \\
&= 15.1667 - 3.5^2 \\
&\approx 2.91
\end{aligned}

となり、冒頭の計算と一致しました。こっちの方法なら暗算でできるかもしれませんね。

おわりに