性別、職業別、趣味別の行動者数データを対応分析してみた

政府統計データのいろんな地域別のデータを眺めながら、先日のマップ可視化に乗せるだけでも面白いなぁとか考えていました。

今回は、タイトルの通りの集計データから、業種別で趣味の傾向があるのかどうか、見えたりするのかとか思ったので、調べてみました。

対応分析

今回は対応分析を使って、結果を可視化してみることにします。

対応分析は、コレスポンデンス分析や数量化3類とも呼ばれる手法で、考え方は、分割表(行列)において、行と列の相関が最大になるように、行と列の双方を並び替えることです。

相関が最大になるように並べ替えるということは、クロス表の各セルにあるデータを見ながら、近い項目が隣り合うように並べ替えるということになります。

実装

性別、職業別、趣味別の行動者数データ :
https://www.e-stat.go.jp/SG1/estat/GL08020101.do?toGL08020101&tstatCode=000001050585&requestSender=search

上記のダウンロードして、簡単にデータ部分だけCSVで切り取りまして、下記の構造のデータを用意しました。

data.csv の構造

趣味1 趣味2 趣味m
総数 職業1 データ
職業2
職業n
職業1
職業2
職業n
職業1
職業2
職業n

Rプログラムを以下のようにしておきます。コマンドラインからファイル名を指定して実行できるようにしたいので、commandArgsで引数を取れるようにしました。

corresp.R

Rubyで実行します。(Rで多重クロス集計表をそのまま多重対応分析する方法もあるらしいのですが、よく分かりませんでした!)

exec.rb

結果、行名と列名、各プロット図が以下の通りになりました。

col_names

row_names

all.csv.png

man.csv.png

woman.csv.png

ちょっと項目多くて、わけわかんないことに…。

R7とC29が近いのはなんでなん?笑

R1に対して、C12やC20が比較的近い目のはなんとなく頷ける気がします。

見ていると、全体としてなんとなく職業に対する年齢層の割合との関連が薄っすらと見えるようにも感じました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です