機械学習の勉強はじめてからどのくらい経ったかな……いまだに全くわけがわかりません。
なにか必要な知識が根本的に足りてないのだと思うのですが、何が足りないのかもわからないという塩梅でして、わからないまま、いつもの「Tellus×TechAcademy 初心者向け Tellus 学習コース」で写経したり戻ったり、はたまた「Pythonではじめる機械学習」という本を買って、分厚いなぁ、開くのダルいなぁ、pdfとかでくれないかなぁ、と思いながら、まだ一度も開いてなかったりしています。
そんな中、少しはオリジナリティを出そうと、今回は「日本の人口予測」というのをやってみました。
RESAS(地域経済分析システム)の人口推移のデータをダウンロードしてきて、utf-8に変換して、それを読み込ませます。
本当は、2100年くらいまでの人口予測をしたかったのですが、テストデータがない場合にどうやって予測を作るのかわからなかったので(本当に何もわからない)、現状は、以下のようなことをやっています。
- データがそろっている1960年〜2018年までを対象
- 2013年までを学習データにして、2014年〜2018年までを予測する
- 実際の2014年〜2018年までのデータと見比べて、どのくらい予測が当たってたかを確認する
あまりにも意味がなくてモヤりますが、まあ今の地力がこんなもんということで……
もちと勉強したら、今回作った学習データを元に、2200年くらいまでの日本の人口予測を出したいと思います。
あとちょっとだと思うんだけどなー。時間が足りない……
コードは以下の通り。相変わらず「preで空行入れると、以下全部1行空けになってしまう」ので、空行を空けておらず見にくくてすみません……
https://gist.github.com/kotoripiyopiyo/b12c191a4d09649f726b045bafbf8a81
最後のグラフが結果でございます。
赤が予測。青が実数。
今はそれほど間違ってないのですが、100年くらい経つと大きな間違いが出てきそうな学習データかな……と思いました。
RESASのデータには、2020年から2045年までの、5年ごとの予測データが入っているので、僕の作った学習データと照らし合わせて、どのくらいRESASに迫っているか確かめたい……です。いつの日か。
どうやってやるんだろう? とりあえず頑張ります。