かずのたしなみ(統計環境Rによる) @Wiki

その他の特性値

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

歪みと尖がり


これまではデータの分布の中心やちらばりについて考えてきた。
しかしデータの分布は他にも、大小どちらかにゆがんでいたり、また上につんと尖がっていたり、ぺちゃんこだったりする。
こうしたデータの分布を表現するのに、



つまり平均からそれぞれの値の差(偏差)を3乗して平均を出したり(ゆがみ)、4乗して平均を出したり(尖がり)する。
このような偏差のk乗(k=1,2,3,4・・・)の平均値のことを、k次の平均まわりのモーメントと総称する。
 成績データをつかって計算してみよう。

seiseki_m3<-mean(((seiseki-mean(seiseki))^3))

seiseki_m3
[1] -3736.766
seiseki_m4<-mean(((seiseki-mean(seiseki))^4))

seiseki_m4
[1] 306791.1

いま計算した3次・4次のモーメントは、測定単位に依存するので、どちらも標準偏差で割ってやって、単位に左右されないように調整してやるとよい。これをつかって歪度(κ3)と尖度(κ4)を



で表すことにする。

これまた成績データをつかって計算すると、

seiseki_skewness<-seiseki_m3/(sampleSD(seiseki))^3
seiseki_skewness
[1] -0.6087587

 seiseki_kurtosis<-seiseki_m4/(sampleSD(seiseki))^4
seiseki_kurtosis
[1] 2.72966

ここらでちゃんと関数の形で書いておこう

skewness<-function(x){
m3<-mean( ( (x-mean(x) )^3))
return(m3/(sampleSD(x))^3)}

kurtosis<-function(x){
m4<-mean( ( ( x-mean(x) )^4))
return(m4/(sampleSD(x))^4)}

ためしにさっきの成績データを計算してみると
skewness(seiseki)
[1] -0.6087587
kurtosis(seiseki)
[1] 2.72966

さらに収益率データで計算してみると

skewness(t_shuueki_ritu)
[1] 0.2203718
kurtosis(t_shuueki_ritu)
[1] 2.758251

この歪度や尖度は、大きいのか小さいのか。
ためしに正規分布に従う乱数を1000個つくって、この歪度や尖度を計算してみよう。
seiki_bunpu<-rnorm(1000) ##正規分布に従う乱数を1000個つくって格納する。
mean(seiki_bunpu)
[1] -0.1043721
sampleSD(seiki_bunpu)
[1] 1.014130
rnorm()は、デフォルトでは平均0標準偏差1の正規分布に従う乱数を発生させる。
平均はゼロ付近であり、標準偏差は1あたりである。

さて歪度と尖度を計算しよう。
skewness(seiki_bunpu)
[1] 0.02163942

kurtosis(seiki_bunpu)
[1] 3.054034

参考のためにヒストグラムを描いておこう。



金融経済学(ファイナンス)の分野では、日々の収益率から度数分布を計算すると、しばしばκ4は大きくなることが分かってきた。
何に対して大きいかといえば、先に見たとおり正規分布ではκ4は3になるのだが、収益率の尖度κ4これよりも大きい。


今、為替レート(円:対ドル、1989年1月~2003年6月)を用意して、収益率(Yen_shueki)を次の式で定義した。
Yen_shueki<-log(Yen)-log(Yen_1)
Yen_1はYenより1箇月前の数値である。

為替レートを時系列データとして入力。
Yen <- ts( c(
129.13,127.15,132.55,132.49,142.7,143.95,138.4,144.28,139.35,142.15,
142.9,143.4,144.4,148.52,157.65,159.08,151.75,152.85,147.5,144.5,
137.95,129.35,132.75,135.4,131.4,131.95,140.55,137.42,137.97,138.15,
137.83,136.88,132.95,131,130.07,125.25,125.78,129.33,133.05,133.38,
128.33,125.55,127.3,123.42,119.25,123.35,124.75,124.65,124.3,117.85,
115.35,111.1,107.45,106.51,105.6,104.18,105.1,108.23,108.82,111.89,
109.55,104.3,102.8,102.38,104.38,98.95,99.93,99.57,98.59,97.37,
98.98,99.83,98.58,96.93,88.38,83.77,83.19,84.77,88.17,97.46,
98.18,101.9,101.66,102.91,106.92,104.58,106.49,104.29,108.37,109.88,
107.13,108.4,111.45,113.27,113.44,115.98,122.13,120.88,123.97,126.92,
116.43,114.3,117.74,119.39,121.44,120.29,127.66,129.92,127.34,126.72,
133.39,131.95,138.72,139.95,143.79,141.52,135.72,116.09,123.83,115.2,
115.98,120.32,119.99,119.59,121.37,120.87,115.27,110.19,105.66,104.89,
102.42,102.08,106.9,110.27,105.29,106.44,107.3,105.4,109.52,106.43,
107.75,108.81,111.07,114.9,116.38,116.44,125.27,124.06,119.06,124.27,
124.79,118.92,119.29,121.84,123.98,131.47,132.94,133.89,132.71,127.97,
123.96,119.22,119.82,117.97,121.79,122.48,122.44,119.37,119.21,117.75,
119.02,119.46,118.63), start=c(1989,1),freq=12)

最初の値を取り除いて、1か月分ずれた時系列データをつくってYen_1に入力。
データ数もひとつ少なくなっているので、最後のデータを付け加えて、Yenとデータ数を揃えた。
Yen_1<-Yen[-1]
Yen_1<-c(Yen_1,118.63)

Yen_1
[1] 127.15 132.55 132.49 142.70 143.95 138.40 144.28 139.35 142.15 142.90 143.40 144.40 148.52 157.65
[15] 159.08 151.75 152.85 147.50 144.50 137.95 129.35 132.75 135.40 131.40 131.95 140.55 137.42 137.97
[29] 138.15 137.83 136.88 132.95 131.00 130.07 125.25 125.78 129.33 133.05 133.38 128.33 125.55 127.30
[43] 123.42 119.25 123.35 124.75 124.65 124.30 117.85 115.35 111.10 107.45 106.51 105.60 104.18 105.10
[57] 108.23 108.82 111.89 109.55 104.30 102.80 102.38 104.38  98.95  99.93  99.57  98.59  97.37  98.98
[71]  99.83  98.58  96.93  88.38  83.77  83.19  84.77  88.17  97.46  98.18 101.90 101.66 102.91 106.92
[85] 104.58 106.49 104.29 108.37 109.88 107.13 108.40 111.45 113.27 113.44 115.98 122.13 120.88 123.97
[99] 126.92 116.43 114.30 117.74 119.39 121.44 120.29 127.66 129.92 127.34 126.72 133.39 131.95 138.72
[113] 139.95 143.79 141.52 135.72 116.09 123.83 115.20 115.98 120.32 119.99 119.59 121.37 120.87 115.27
[127] 110.19 105.66 104.89 102.42 102.08 106.90 110.27 105.29 106.44 107.30 105.40 109.52 106.43 107.75
[141] 108.81 111.07 114.90 116.38 116.44 125.27 124.06 119.06 124.27 124.79 118.92 119.29 121.84 123.98
[155] 131.47 132.94 133.89 132.71 127.97 123.96 119.22 119.82 117.97 121.79 122.48 122.44 119.37 119.21
[169] 117.75 119.02 119.46 118.63 118.63

定義どおり、収益率を計算する。
Yen_shueki<-log(Yen)-log(Yen_1)
最後はゼロなので、除いておく。
Yen_shueki<-Yen_shueki[-172]

収益率はこんな感じになった。
Yen_shueki
 [1]  0.0154521570 -0.0415924409  0.0004527619 -0.0742373536 -0.0087214926  0.0393179739 -0.0416078129
 [8]  0.0347671021 -0.0198940842 -0.0052622468 -0.0034928432 -0.0069492983 -0.0281324029 -0.0596577567
[15] -0.0090298343  0.0471727904 -0.0072226184  0.0356288726  0.0205486682  0.0463882069  0.0643693920
[22] -0.0259457515 -0.0197657004  0.0299872544 -0.0041769569 -0.0631402344  0.0225213677 -0.0039943406
[29] -0.0013037811  0.0023190097  0.0069164121  0.0291315119  0.0147757945  0.0071245561  0.0377610271
[36] -0.0042226092 -0.0278329283 -0.0283577200 -0.0024771998  0.0385971259  0.0219009857 -0.0138424200
[43]  0.0309533327  0.0343710431 -0.0338037132 -0.0112858917  0.0008019247  0.0028118115  0.0532853691
[50]  0.0214416448  0.0375402880  0.0334050736  0.0087867456  0.0085805062  0.0135381990 -0.0087921056
[57] -0.0293463144 -0.0054365488 -0.0278211048  0.0211351798  0.0491097040  0.0144860090  0.0040939720
[64] -0.0193467052  0.0534234142 -0.0098552688  0.0036090265  0.0098910778  0.0124516816 -0.0163996545
[71] -0.0085509298  0.0126003381  0.0168793328  0.0923433688  0.0535707515  0.0069477999 -0.0188145583
[78] -0.0393250625 -0.1001752683 -0.0073604912 -0.0371894116  0.0023580282 -0.0122209078 -0.0382260714
[85]  0.0221285625 -0.0180987553  0.0208756039 -0.0383758178 -0.0138375633  0.0253458110 -0.0117850387
[92] -0.0277479708 -0.0161982894 -0.0014997136 -0.0221436997 -0.0516682887  0.0102877332 -0.0252412829
[99] -0.0235173659  0.0862667327  0.0184636632 -0.0296522328 -0.0139166418 -0.0170248683  0.0095148196
[106] -0.0594649858 -0.0175483966  0.0200582018  0.0048807465 -0.0512972401  0.0108541052 -0.0500344501
[113] -0.0088277029 -0.0270686859  0.0159128520  0.0418471099  0.1562281876 -0.0645439049  0.0722399090
[120] -0.0067480142 -0.0367370978  0.0027464542  0.0033391800 -0.0147745051  0.0041281432  0.0474383853
[127]  0.0450710541  0.0419797568  0.0073142098  0.0238301759  0.0033251864 -0.0461369984 -0.0310380857
[134]  0.0462134559 -0.0108629982 -0.0080472035  0.0178660135 -0.0383445449  0.0286196889 -0.0123262369
[141] -0.0097895130 -0.0205573912 -0.0339015517 -0.0127985144 -0.0005154196 -0.0730952890  0.0097060883
[148]  0.0411377518 -0.0428290501 -0.0041757067  0.0481813264 -0.0031065052 -0.0211512053 -0.0174115537
[155] -0.0586584264 -0.0111192099 -0.0071206687  0.0088522709  0.0363704350  0.0318369285  0.0389884071
[162] -0.0050200909  0.0155602618 -0.0318678952 -0.0056495013  0.0003266373  0.0253932010  0.0013412694
[169]  0.0123229108 -0.0107278133 -0.0036900411  

さて、歪度と尖度を計算すると
skewness(Yen_shueki)
[1] 0.5298968
kurtosis(Yen_shueki)
[1] 5.427148

たしかに尖度は正規分布の3よりも大きく、収益率の分布は正規分布よりも尖がっている(ファイナンス研究者がいう、収益率データの非正規性)。

もう一度、ヒストグラムを描いてみよう(正規分布のグラフと比較せよ)。


ジニ係数

ジニ係数(Gini coefficient または Gini's coefficient)とは、主に社会における所得分配の不平等さを測る指標。ローレンツ曲線をもとに、1936年、イタリアの統計学者コッラド・ジニによって考案された。所得分配の不平等さ以外にも富の偏在性やエネルギー消費における不平等さなどに応用される。
係数の範囲は0から1で、係数の値が0に近いほど格差が少ない状態で、1に近いほど格差が大きい状態であることを意味する。ちなみに、0のときには完全な「平等」―つまり皆同じ所得を得ている状態を示す。
目安として、一般的には0.2~0.3(市場経済(自由経済)においては0.3~0.4)が通常の値と言われている。


ジニ係数(Gini('s) coefficient)を計算するには、数値のあらゆる組合せの絶対値の和を2*データ数^2*データ平均で割った値を求めればよい。

まず1951年の所得データについてジニ係数を求めよう。
shotoku1951<-c(5516,11107,14830,19428,31781)

まずあらゆる組合せの絶対値の和を求めよう。
Rでループなどの制御構造はなるべく使わないのがスマートなやり方だが、基本に返って二重ループで回す。

buffer<-0
for(i in shotoku1951){
 for(j in shotoku1951){
  buffer<-buffer+abs(i-j)
 }
}

buffer
[1] 243404

これを2*データ数^2*データ平均で割ると
buffer/(2*length(shotoku1951)^2*mean(shotoku1951))
[1] 0.2944569

これも関数の形でまとめておこう
gini_coeff<-function(x){
 buffer<-0
 for(i in x){
  for(j in x){
   buffer<-buffer+abs(i-j)
  }
 }
 return(buffer/(2*length(x)^2*mean(x)))
}

1985年の所得データを使って
shotoku1985<-c(247897,337088,419016,510747,709482)

1985年のジニ係数を計算しよう。
gini_coeff(shotoku1985)
[1] 0.197251

したがって1951年に比べて1985年のほうが、少しは不平等は改善されている、といえる。

ジニ係数は不平等さを客観的に分析、比較する際の代表的な指標のひとつとなっているが、同じジニ係数で示される状態であっても、ローレンツ曲線の元の形が著しく違えば、実感として感じる不平等さがまったく変わってくる可能性がある。

(参考)
全国消費実態調査トピックス -日本の所得格差について-(総務省統計局)
http://www.stat.go.jp/data/zensho/topics/1999-1.htm


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー