見出し画像

江戸川区のインド人人口の時系列予測

※このブログはAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています。

1.はじめに

私は江戸川区に在住しており、この数年でインド人の方が急増してきたという印象をもっています。また、この後どこまでその数が伸びていくのだろうとも関心をもっています。そこで、江戸川区の在日インド人人口の未来予測を行おうと考えました。

2.検証環境

Python3
Windows 11
Google Colaboratory

3.データの取得

今回は江戸川区発行の統計江戸川より、国籍・地域別人口のデータを取得しました。なお、本統計は1996年から公開されており、2012年のみ統計が実施されていませんでした。以下データの最初の部分になります。

参照:https://www.city.edogawa.tokyo.jp/kuseijoho/gaiyo/tokei/tokei/index.html

Population by Nationality and Region.csv

4.データの読込と整理

データを読み込み、インデックスを整理していきます。なお、今回は年毎のデータしか取得できなかったため、freqは"Y"とします。さらに、2012年が欠損値NaNだったため、前年データを採用しました。

import pandas as pd

df = pd.read_csv("/content/drive/My Drive/Population by Nationality and Region.csv", encoding="shift-jis")

index = pd.date_range("1996", "2023", freq="Y")
df.index=index
del df["Year"]

df.fillna(method="ffill", inplace=True)

以下、整理後のデータになります。

5.時系列モデル作成

今回はSARIMAXモデルを採用して、時系列モデルを構築します。なお、他国との比較のため、中国人のデータについても同様にモデルを作成しました。なお、年毎のデータですが、12か月のため季節変動の周期は12としました。

import statsmodels.api as sm

model_India = sm.tsa.statespace.SARIMAX(df["India"],order=(0, 0, 0),seasonal_order=(0, 1, 1, 12),enforce_stationarity=False, enforce_invertibility=False).fit()
model_China = sm.tsa.statespace.SARIMAX(df["China"],order=(0, 0, 0),seasonal_order=(0, 1, 1, 12),enforce_stationarity=False, enforce_invertibility=False).fit()

6.未来予測

作成したモデルに対して、2つの方法で未来予測を行っていきます。まずforecast関数を用いて2032年までの未来予測を行い、グラフ出力をします。なお、オレンジと赤が中国人人口推移、青と緑がインド人人口推移です。

import matplotlib.pyplot as plt

forecast_India = model_India.forecast(steps=10)
forecast_China = model_China.forecast(steps=10)

plt.plot(df["India"])
plt.plot(df["China"])
plt.plot(forecast_India)
plt.plot(forecast_China)
plt.show()
forecast関数を用いた未来予測

2つ目のpredict関数を用いた方法についても同様に未来予測を行い、結果を出力します。なお、オレンジと赤が中国人人口推移、青と緑がインド人人口推移です。

pred_India = model_India.predict("2023-12-31", "2032-12-31")
pred_China = model_China.predict("2023-12-31", "2032-12-31")

plt.plot(df["India"])
plt.plot(df["China"])
plt.plot(pred_India, color="g")
plt.plot(pred_China, color="r")
plt.show()
predict関数を用いた未来予測

7.まとめ

本記事では、統計江戸川より取得した国籍・地域別人口の過去約30年分のデータをもとにSARIMAXモデルを採用して時系列分析を行いました。比較のため、中国・インドを対象としましたが、データに以下の特徴がありました。
● 2009年から2015年頃までは下向き傾向
● 2020年頃から下向き、もしくはゆるやかな増加
これらには、東日本大震災やCOVID-19の影響、各政府の対応など複数の要因があると考えられ、必ずしも一定の動きではありませんでした。
そのために未来予測においても一部減少する部分が見られました。しかし、いずれも増加の予測となりました。
今回はデータ数が少なく精度を高めるには限りがありましたが、今後は人口以外の数値との相関関係などの分析を進めていきたいと思いました。

この記事が気に入ったらサポートをしてみませんか?