(JAPLA 2006/01/28

カテゴリカルデータの「散布度」につて

帝京平成大学 鈴木義一郎

 

順序尺度のあるカテゴリカルデータに対して、隣り合ったカテゴリー間には1、2つ離れていれば2というような数値を与えてやれば、連続型データに対する「平均差」に対応するもので散布度の尺度を与えることができる。また名目尺度のデータに対しても、異なるカテゴリー間全てに1の距離があるものと解釈すれば、同様の散布度の尺度を与えることができる。

n個の連続型データに対して、平均を媒体としないで

によって定義されるものが Giniによって導入された「平均差」で、この尺度は各データ間の(絶対差による)“ずれ”の平均である。これも、標準偏差や平均偏差などとどうように散布度の尺度として用いることができる。

順序尺度のカテゴリカルデータのi番目のカテゴリーの観測度数をとする。隣り合ったカテゴリー間の距離を1と考えると

といった対応になる。

そこで、第1、第2累積度数を次のように定義する。

このとき、散布度を表す尺度(v)は

のように与えられる。

さらに、絶対差の代わりに差の平方を考えると、連続型データの標準偏差に対応する

が、やはり散布度の尺度と考えることが出来る。

 

『日本人の国民性調査』のデータで、「お盆の頃、いつもは別々に住んでいる親族と一緒に過ごしたいとおもいますか」という質問に対する回答パターン

@ 必ず過ごしたいと思う、

A できれば過ごしたいと思う、

B あまり過ごしたいとは思わない、

C 過ごしたいとは思わない

について、男女別の回答のデータを

ordm=:194 516 73 41

   ordf=:248 606 81 39

のように与える。さらに、年齢階級別のデータも次のように入力する。

 

Ord20=:20 104 13 7

ord25=:33 82 16 9

ord30=:21 97 19 6

ord35=:34 106 11 4

ord40=:49 163 17 12

ord45=:57 121 19 8

ord50=:42 106 20 6

ord55=:43 111 10 7

ord60=:59 107 10 9

ord65=:42 54 11 6

ord70=:42 71 8 6

ord_data

20 104 13  7

33  82 16  9

21  97 19  6

34 106 11  4

49 163 17 12

57 121 19  8

42 106 20  6

43 111 10  7

59 107 10  9

42  54 11  6

42  71  8  6

 

そこで、順序尺度データに対する散布度“v”を算出する関数を次のように定義する。

   div_u=:[:+/}.*[:}:+/\^:2

   div_n=:[:(*<:)+/

   div_v=:+:@div_u%div_n

   div_u ord35  

6818

   div_n ord35

23870

   div_v ord35

0.571261

   div_v"1 ordm,:ordf

0.693836 0.673193

   div_u ord65

5256

   div_n ord65

12656

   div_v ord65

0.830594

 

   div_v"1 ord_data

0.574883 0.779548 0.623855 0.571261 0.632918 0.708656 0.690984 0.637771 0.715159 0.830594 0.734658

 

さらに、絶対和や平方和を求める関数を

   sum_ab=:[:+/^:2([:*/~])*[:|[:-/~i.@#

   sum_sq=:[:+/^:2([:*/~])*[:*:[:-/~i.@#

のように定義すれば、

   sum_ab ord35

13636

   (sum_ab%div_n)ord35

0.571261

が散布度“v”を与える関数

   sum_sq ord35

18460

   div_s=:[:%:sum_sq%2:*[:*:+/

   div_s ord35

0.619825

   div_s ord65

0.808173

が散布度“s”を与える関数である。

 

次に、名目尺度データの場合は、便宜上カテゴリーに番号を付して、i番目のカテゴリーの観測度数をとする。カテゴリー間には距離のようなものがないから

といった対応になるから、

が平均差に対応する散布度の尺度を与えることになる。

   div_d=:13 :'(n-(+/*:y.)%n)%<:n=.+/y.'

 

 

同じ『日本人の国民性調査』のデータで、人の暮らし方で「最も重視する項目」を

@ 一生懸命働き金持ちになること

A まじめに勉強し名を上げる

B 自分の趣味にあった暮らし

C クヨクヨせずのんきに暮らす

D清く正しく暮らす

E社会のために全てささげる

Fその他

GD.K.

の中から1つ選択させる、男女別の回答のデータを

    nomm=:323 55 695 363 126 90 28 44

    nomf=:307 44 794 593 99 66 35 76

のように与える。さらに、年齢階級別のデータも次のように入力する。

nom20=:47 10 162 58 12 3 4 7

nom25=:55 11 131 58 12 7 1 5

nom30=:54 8 154 61 7 10 3 13

nom35=:52 10 133 89 16 11 7 11

nom40=:96 10 205 97 21 19 10 21

nom45=:74 10 178 95 23 18 9 15

nom50=:62 8 149 79 30 14 11 13

nom55=:65 11 128 86 29 25 7 13

nom60=:51 8 123 132 29 16 5 9

nom65=:37 5 65 89 28 15 3 5

nom70=:36 9 61 112 18 18 3 8

ord_data

47 10 162  58 12  3  4  7

55 11 131  58 12  7  1  5

54  8 154  61  7 10  3 13

52 10 133  89 16 11  7 11

96 10 205  97 21 19 10 21

74 10 178  95 23 18  9 15

62  8 149  79 30 14 11 13

65 11 128  86 29 25  7 13

51  8 123 132 29 16  5  9

37  5  65  89 28 15  3  5

36  9  61 112 18 18  3  8

 

   div_d nom20

0.652132

   div_d nom55

0.777147

   div_d 6{.nom20

0.626018

   div_d 6{.nom55

0.752119

   div_d nomm

0.748483

   div_d nomf

0.729313

   div_d 6{.nomm

0.727045

   div_d 6{.nomf

0.698709

   div_d"1(6{."1 nom_data)

0.626018 0.684634 0.64858 0.704595 0.694871 0.704188 0.716143 0.752119 0.720235 0.748427 0.719336

div_d f=:23 2 21 1 8 15 1 3

0.77786

   div_d 6{.f

0.752795