趣味の統計

心理統計のはなし(偏差への偏愛ともいう)。Web上に散らばっている「アンケート」へのつっこみ。その他。

ジニ係数を計算してみよう!

ジニ係数の計算

芳沢(2014)に、ジニ係数の計算が紹介されているので、より一般的な式に直して、ここにも書き残しておきます。以前、 note に書いた記事と同一内容です。 note では、一部の数式がちゃんと表示されていなかったのですが、ここではちゃんと見えるといいなあ。参考にしたのはこちらの書籍の第8章第2節 「確率と統計」です。
www.hanmoto.com

事例

社員が4人の架空企業の給与配分だと思ってみてください。Aさんが300万、Bさんが400万、Cさんが500万、Dさんが800万。折れ線グラフ縦軸は、給与の累積額を表していることに注意してください。

芳沢(2014)、p.277より
図(イ)で塗りつぶされた部分の面積の、三角形ODHに対する割合がジニ係数です。以下、データ点(図中のA~D)を x_i (i=1,2,3,4) として、芳沢が示している計算式を再現します。

(1) 三角形ODHの面積

三角形の面積は、「底辺×高さ÷2」です。
底辺が 4、高さが x_1+x_2+x_3+x_4、よって面積は (x_1+x_2+x_3+x_4) \times 4 \times \frac 12です。

(2) 多角形OABCDHの面積

三角形1つと台形3つに分けて計算します。台形の面積は「(上底+下底)×高さ÷2」でした。

  • 三角形OAE: x_1 \times 1 \times \frac 12
  • 台形AEFB: \{x_1 + (x_1+x_2)\} \times 1 \times \frac 12
  • 台形BFGC: \{(x_1+x_2) + (x_1+x_2+x_3)\} \times 1 \times \frac 12
  • 台形CGHD: \{(x_1+x_2+x_3) + (x_1+x_2+x_3+x_4)\} \times 1 \times \frac 12

合計すると、 (7x_1+5x_2+3x_3+x_4)\times \frac12になります。このとき、 x_iの係数が、奇数の列になっていることに注目しましょう。

(3) 塗りつぶされた部分(多角形OABCD)の面積

三角形ODHの面積(1)から、多角形OABCDHの面積(2)を引きます。
 \{(4x_1+4x_2+4x_3+4x_4)-(7x_1+5x_2+3x_3+x_4)\} \times \frac 12 = (3x_4+x_3-x_2-3x_1)\times \frac12
 x_iの係数に注目しましょう。絶対値でみると左右対称です。 x_iの添え字が大きい側がプラス、小さい側がマイナスです。例題では x_iが4つですが、3つの場合、5つの場合など、試してみると、かならずこのような形になります。(奇数個の場合、たとえばx_iが1~3のとき、 x_2の係数は0になります。)

(4) ジニ係数

多角形OABCDの面積(3)が、三角形ODHの面積(1)の何%にあたるかを計算します。 \times \frac12が両方にあるので約分できますから、
  (3x_4+x_3-x_2-3x_1) \div  (4x_1+4x_2+4x_3+4x_4)
これがジニ係数です。ここから先は、 x_iに具体的に数値をあてはめないと計算できません。数値が大きくなりすぎるので、以下は x_i = \{3,4,5,8\}で計算しましょう。

(5) 数値をあてはめて

 (3x_4+x_3-x_2-3x_1) \div  (4x_1+4x_2+4x_3+4x_4) \\= (24+5-4-9) \div  (12+16+20+32) = 0.2
となりました。ジニ係数は、0~1の値をとり、資源が完全に平等に分配されているときに0、資源を誰かが完全に独り占めしているときに1になります。要するに、数値が大きいほど格差が大きく、小さいほど平等に近いわけですね。例題では0.2ですから、比較的平等に近い感じでしょうか。

一般化すると

(a) 多角形OABCDの面積

ところで、上記(3)で計算した多角形OABCDの面積は、データ同士の差の合計と一致することが知られています。次の式を見てください。(注:x_1 \leq x_2 \leq x_3 \leq x_4 のようにソートされているとします。)
 \begin{aligned} (D-C)&:x_4&-x_3\\ (D-B)&:x_4&&-x_2\\ (D-A)&:x_4&&&-x_1\\ (C-B)&:&x_3-&x_2\\ (C-A)&:&x_3&&-x_1\\ (B-A)&:&&x_2&-x_1 \end{aligned}
これを縦に合計していくと、(3)で求めた  (3x_4+x_3-x_2-3x_1)\times \frac12のカッコ内と一致しますね。 \times \frac12の部分は、割り算するときにいずれ消えるので、なくてもかまいません。
さらに、係数が添え字とnから計算できるので、次のように書き換えられます。
 \sum_{i=1}^n (2i-1-n) x_i
ここで、 nはデータサイズ、あるいは度数分布表の階級数です。

(b) 三角形ODHの面積

また、(1)で求めた三角形ODHの面積は、次のように変形できます。
  (x_1+x_2+x_3+x_4) \times 4 \times \frac 12 = \sum x_i \times n \times \frac12 \\
= (\bar x \times n ) \times n \times \frac12 = \bar x n^2 \times \frac12
やはり \times \frac12の部分は、割り算するときにいずれ消えるので消しておきます。よって、 \bar x n^2として使います。

(c) ジニ係数

上記(4)でやったように、多角形OABCDの面積÷三角形ODHの面積ですから、
 g = \frac{\sum_{i=1}^n (2i-1-n) x_i}{ \bar x n^2}
となります。

(d) 数値をあてはめて

 x_i = \{3,4,5,8\}, n=4で計算しましょう。平均値 \bar xは5です。
 (-3\times 3 - 4 +5 + 3\times8 ) \div (5 \times 4^2) = 16 \div 80 = 0.2
この式を使えば、データを並べ替えたうえでExcelジニ係数を計算できますね。