今回は都道府県別の最終学歴人口のデータを分析しようと思います。
この土日に
を読んだので、この中に書いてあったランダムフォレストの分析をしてみたいと思います。
政府統計の総合窓口 e-Statからデータを取得しました。
地域は47都道府県です。
取得したデータは、総人口、県内総生産額、1人当りの学校教育費(幼稚園、小学校、中学校、高校)と大学・大学院の最終学歴人口です。
この最終学歴人口がresponse variable(反応変数)でその他がexplanatory variables(説明変数)です。
データのファイルはこんな形態でした。
これをR言語のread.csv関数で読み込んで分析をしてみようと思います。
read.csv関数でデータを読み込みます。
read.csv関数でファイルを読み込むときに、skip = 8 としていますので、9行目から読み込みます。また、na.strings = c("***", "-", "X")としているので、***, -, Xの文字列はNAになります。
よみこんだデータフレームをna.omit関数で処理してNAのある行を削除しました。
summary関数でdf2のサマリを見てみます。
Prefの各都道府県の度数が1で、Yearの度数は2010年度が47とありますから、このデータフレーム(df2)は2010年度、1年だけのデータですね。
各変数は、
# Year 調査年
# Pref 都道府県
# Popu 総人口(人)
# GDP 県内総生産額(百万円)
# You 在学者1人当り学校教育費-幼稚園(円)
# Shou 在学者1人当り学校教育費-小学校(円)
# Chuu 在学者1人当り学校教育費-中学校(円)
# Kou 在学者1人当り学校教育費-高等学校(円)
# Gaku 最終学歴(大学・大学院)人口(人)
です。
分析用のデータフレームとして、調査年を除いて、県内総生産額(GDP)と、最終学歴(大学・大学院)人口を総人口(Popu)で割って1人当りの県内総生産と最終学歴比率を計算したデータフレームを作りましょう。
data.frame関数でデータフレームを作ります。
summary関数でサマリをみてみます。
Popuは人口です。最小は58万8667人、最大は1315万9388人、平均値は272万4625人です。
perGDPが1人当りの県内総生産額です。最小は2.584これは258万4千円ということですね。最大は745万5千円、平均値は358万6千円です。
Youが幼稚園児1人当りの教育費です。最小は59万1197円、最大は147万7462円、平均は87万6339円です。
Shouが小学生1人当りの教育費です。最小は75万4696えん最大は129万9748円、平均は98万0890円です。
Chuuが中学生1人当りの教育費です。最小は86万1098円、最大は182万3460円、平均は113万6238円です。
Kouが高校生1人当りの教育費です。最小は91万3469円、最大は160万3817円、平均は115万5799円です。
perGakuが最終学歴が大学・大学院の人の比率です。最小は0.074(7.4%)、最大は0.20203(20.2%)、平均は0.11805(11.8%)です。
ほとんどの変数で最小の値と最大の値で2倍以上の差が開いていますね。