8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

StylezAdvent Calendar 2021

Day 17

Amazon QuickSightで日本の未来人口の予測してみた

Posted at

Amazon QuickSightはAWSがサービス提供しているBIツールです。

Amazon Quicksight

Quicksight って何 って人はこの動画が参考になります。
2021年 サーバレス BI Amazon QuickSight の特徴総ざらい

BIとは

ビジネスインテリジェンス(Business Intelligence)の略で企業や個人のデータの可視化や分析をするツールをBIツールといいます。

Quicksight以外の有名どころの製品としては[tableau] (https://www.tableau.com/ja-jp/products/desktop) や Qlikview などがあります。
広義でいえばExcelもBIツールという事になりますが、より多くのデータを簡単に視覚化できるものがBIツールと呼ばれている と個人的には思います。

今回やってみたこと

・総務省統計局が管理するWebサイトe-stat から日本の人口データをダウンロード
・quicksight で可視化
・quicksight の予測機能を使って日本の人口推移を予測

Amazon QuickSightはデータを可視化する他に標準でデータ予測機能が簡単に使えたりします。これを実際に使ってみたところを見せていければと思います。
あ、簡単に使えると書きましたが、いくつかつまづいた点があるのでそのあたりもノウハウ共有してみます。

#前提

  • Quicksightの初期設定は書いていません。最初から試してみたい方はQuickSight Basicハンズオンがおすすめです。
  • 可視化用にダウンロードしたデータはQuicksight用のデータ領域SPICEに入れて参照しています。
  • データのS3連携などはこの記事では書いていません。
  • アップロードする際にデータの成形をする必要があることが多いですがそのあたりは細かくは記載しません。

#1. 最新(2020年10月)の国勢調査の都道府県別人口データを可視化

ここから
こんな感じのデータを落としてきます。
image.png

Excelで開くとこんな感じですがBIツールはこのままでは使えないので
image.png

こういった形に直して、文字コードUTF8、改行はLFでcsvファイルとして保存します。
image.png

Quicksightの「データセットを作成」で左上のファイルアップロードを選び、先ほどのCSVファイルをアップロードします。

image.png

データのサマリが出てくるので「設定の編集とデータの準備」を押してデータのフォーマットを指定してあげます。
image.png

こんな感じで文字列か整数か などを指定してきます。「区分」はデータ的には数値ですが集計する値ではないので文字列にしときます。
image.png

  • ポイント
    BIツールでは文字か数値か日付か をあらかじめ指定しておくのがとても重要です。
    数値は自動的に集計項目として認識され、文字列はどの単位で集計するか(ディメンジョン)として認識されます。
    また、日付は時系列データを認識するために指定しておくことになります。これをちゃんとしておくことでレポート作成が容易になります。

設定後「公開して可視化」を押して分析画面で可視化していきます。

立ち上った状態で、
image.png

左ペインの「都道府県」、「人口_総数」をポチポチ2回クリックするだけで都道府県別の人口グラフができます。
image.png

CSVには全国合計の人口の集計行が入っていたり、都道府県全体集計行が入っていたりするので、都道府県と市区町村の人口がダブルカウントされてしまいます。フィルター機能でそういったものを外します。(aが全国や都道府県、1が政令市を表すデータなのでフィルターで除外)

image.png

これで都道府県別の人口グラフができました。
一旦上部のフィールドウェルから「人口_総数」を削除し、左ペインの「人口_男」と「人口_女」をポチポチとおします。自動でフィールドウェルに入っていき、都道府県の男女別の人口がでました。

image.png

男女比がどの県が多いか見たいですね。左下部の「ビジュアルタイプ」で水平積み上げ100%棒グラフを選んでみます。
image.png

このグラフは「人口数」でしか並替えられず、比率で並び替えられないので並び替え用の計算フィールドをデータセット画面で追加します。女性比率を出す式はこんな感じ

sum({人口_女}) / sum({人口_総数})

image.png

こんな感じで女性比率を計算するフィールドを作ります。 「保存」 → 「保存して公開」の順で推します。「公開して可視化」だとうまく反映されない事があるので「保存して公開」をします。

グラフ左の「>」を押し、並び替えのオプションで女性比率の降順を選択すると、女性比率の多い都道府県順に並びます。
image.png

2020年10月時点では長崎県が53.02%で女性比率が一番高いことがわかりました。逆に一番少ないのは栃木県の50.10%でした。
image.png

「ビジュアルを複製」→「都道府県」を「地域名」に変更。カスタムアクションを設定し、選択した都道府県のみを表示する といった設定も追加でしてみました。長崎県を選ぶと、長崎県内の男女比率の高い市区町村がわかりました。長崎市が53.95%で長崎県内で一番でした。

image.png
※全国一位ではない点には注意。全国順位を見たければ都道府県の選択を外します。
全国では八郎潟町が一番でした。
image.png

では最新の国勢調査データを見てみるのは一旦ここまでで次に人口予測に行きます。

#2. 過去の国勢調査人口データの推移を可視化して未来の人口を予測する

国勢調査は5年おきに行われてますので、その推移データから未来の人口をQuicksightの予測機能を使って予測してみます。
なお、統計情報としては毎月の人口情報もありますが、それは国勢調査をベースに出生届や死亡届から増減を計算した「人口推計」というものになります。

つぎはここから「男女別人口-全国,都道府県(大正9年~平成27年)」落としてきます。
こんなデータ
image.png

これを一部不正なフォーマットの部分を消したりutf8に変換してquicksightのデータセットに上げます。(ここは省略)予測をするには、「時系列データ」が必要になるので、データセット編集で「西暦(年)」を日付型として登録することが重要です。年(year)のみデータなのでYYYYと登録してあげます。
image.png

これを普通に出すとこんな感じになります。
image.png

日付単位の集計になっており表示が見づらいので、フィールドウェルから年集計に変え、表示を年のみにします。
image.png
image.png

年表示になりました。年のラベルが実際のデータポイントとずれる(データは2010年だが丁度そこにラベルがこない)のですが、ここは調整の仕方がわからず調べる予定です。プロットされる場所は合ってます。
image.png

全国の合計データが含まれるのでフィルターで外しました。1945年は終戦の年で人口減ってるのがわかりました。
image.png

さてここから本題の予測に入ります。
グラフ右の「…」を押すと「予測を追加」というメニューが出てくるのでこれを選びます。これであらかじめ用意されている機械学習の機能を使って予測を簡単に出してくれます。
image.png

予測追加してみました。が、でません。。。(><)
image.png

過去が古すぎるのが悪いのかと、2000年以降のデータでフィルターしてみました。
image.png

エラーが変わりましたがデータ数が足りないといわれます。
ここを見ると年の予測では最低32ポイントデータがいるようです。
image.png

データを増やすと別のエラーが出るためどうにもいかなくなりました。。。結論を先に言うと
5年ピッチのデータでは年間推移予測はできない

ってことがわかりました。という事で次で最後です。

#3. 1年単位の人口推計データを可視化して未来の人口を予測する
CSVで良いデータがなかったので人口推計統計表の最後のページをデータ化して使いました。昭和25年(1950年)から平成29年(2017年)までの1年単位の人口推移です。国勢調査年は国勢調査のデータで、それぞれ10月時点です。この情報から2021年10月時点を予測してみましょう

image.png

同じ手順で予測を出します。
image.png

でました!!
image.png

予測の特性上、上限、下限の幅を付けて予測をします。この例では2021年の下限が__1億2636万人__と予測されましたが現在はどうでしょうか

__1億2512万人(2021/10の人口推計)__でした。。
(https://www.stat.go.jp/data/jinsui/pdf/202110.pdf)

あくまで予測ですので完全に当たるとは言えません。この例では恐らくですが過去50年くらいの傾向を見ているから と思われます。ここはどんなデータを食べさせるか が使う側の腕の見せ所であるとは思います。

予測の期間を10→20に変えることで20年後の予測まで出すことができました。ただし、先に行くほど予測の上下の幅は広がります。2021年予測から下限は100万人くらい更に下に振れてますね。
image.png

他、グラフを複製して、男女それぞれの人口に置き換えるだけでそれぞれの予測も出せました。
image.png

まとめ

  • Amazon Quicksightを使うと比較的簡単にデータを可視化できます。
  • データの予測も簡単できます。
  • 予測にはデータポイント数の制限や、年間予測であれば1年単位の連続したデータが必要なので注意
  • 予測を出すには、対象データの選別が重要

長文、最後まで読んでもらいありがとうございました。

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?