Oracle Analytics Cloud：横浜市のオープンデータで保育施設の需要と供給を考える

# はじめに
横浜市の公開しているオープンデータを使用して、保育所の待機児童数を可視化してみようと思います。

# 保育所等の入所状況データ
横浜市オープンデータポータルで公開されている、保育所等の入所状況データをダウンロードして加工しました。

https://data.city.yokohama.lg.jp/dataset/kodomo_nyusho-jokyo

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/925d229c-aac9-520a-a149-ea97583332d1.png)
使用したのは、入所児童数のデータと入所待ち人数のデータです。
いずれも、ダウンロード時点の最新版であった2023年8月1日時点のものです。
さらに、同ポータルで公開されている保育施設の所在地データを加え、Excel形式で保存しました。
（yokohama-nyusho.xlsxおよびyokohama-machi.xlsx）

# OACで分析
Oracle Analtyics Cloud（**OAC**）を使用します。

## 行政区別に入所児童数と待ち人数を可視化
まずは、入所児童数のデータをOACにドラッグ＆ドロップして、ビジュアル化を開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/776c067e-83a4-d4f8-99c8-00b0b18922d1.png)
こちらが、行政区毎の入所児童数です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/75eb07a8-5ab8-e5fa-1849-342079eec550.png)
年齢別に見ても、同じような傾向になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ac6146d3-2865-6cf7-08e8-b3c1339b941b.png)
「＋」をクリックして、データセットを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4d4720ba-511b-08d8-04a4-0041a09f7002.png)
「データセットの作成」をクリックします。
待ち人数のデータをドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4ee3042c-cc12-51e2-7aa5-aa1357058e56.png)
「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0ee45ffe-7262-cb4f-e3c7-65fec8de205a.png)
データセットを保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a6afaf45-9de0-6b06-49f3-0a333392922c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/da91d75a-73ae-632d-00e9-8a353a046f6a.png)
元のブラウザタブに戻り、追加したデータセットを選択して「ワークブックに追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/edbd95f8-0c7b-b01a-ac59-00c7682ff9e9.png)
「待ち合計」を「値(Y軸)」にドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b9655e66-d559-d97c-4899-b81ac16ef8ee.png)
横浜市の行政区別の保育施設への入所児童数と、待ち人数を可視化しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bc16b8bc-dbd5-67dc-8271-dc739f9937c7.png)
最も入所児童数が多いのは港北区で、待ち人数が多いのも港北区でした。
入所児童数第2位の鶴見区では、待ち人数はそれほど多くありません。港南区は入所児童数が港北区の半分以下ですが、待ち人数は港北区に次ぐ多さであることが目を引きます。
港北区と港南区は保育施設が不足気味と言えるでしょう。

## 人口データも使用して考察してみる
入所児童数を降順にソートしましたが、各区の人口を反映しているだけかも知れないので、人口データも合わせて見ていくことにします。
横浜市オープンデータポータルから、男女別人口・世帯数データをダウンロードします。

https://data.city.yokohama.lg.jp/dataset/seisaku_suikei01

令和5年8月のデータをダウンロードしました。
今度は、ダウンロードしたCSVファイルを、ブラウザに表示しているOACワークブック画面にドラッグ＆ドロップしてみます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3222a1f6-523e-696f-0069-17a8f66fcd74.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6c6fd643-1de4-9755-faba-38e6aa1b05dc.png)
「データ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2eec5546-44b5-e652-9b9e-1f32850bf106.png)
たった今、追加したデータセットは他のどのデータセットとも結合されていません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/065e2997-34f7-370c-6380-ec2d3ce9f5d3.png)
結合されていないデータセットの中間地点あたりにマウスポインタを移動すると、「0」と表示される箇所があります。
その場所で、「0」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9ebcd365-5c4b-cfaa-4872-93c8266fa11b.png)
「別の照合の追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/05adf1c1-1571-b7a3-c49b-b8844a7d285a.png)
それぞれのデータセットから、結合に使用する列を選択して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ed4fde28-d5ce-da89-5780-31223153c739.png)
結合関係が設定されたのを確認し、「ビジュアル化」に戻ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/5eb8558a-2a7c-d107-41bb-e5a339ed444f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/792c53d2-75f2-fb13-df70-aa437002c01d.png)
「人口総数 [人]」をY軸に追加したところで、2つ気がついたことがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3f6b20ec-4381-984f-ec0f-fea4babf5140.png)
- 行政区とは別に横浜市全体の人口データが含まれている
- 人口データが桁違いに大きいため、入所合計や待ち合計が判別できなくなった

横浜市全体の人口データは不要なのでフィルタで除外します。
次に、見やすくするために、人口はY2軸に設定し形式も折れ線に変更します。

人口データの「市区名」をフィルタにドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/46984e9f-71a5-0e23-c706-e6f50361d7e7.png)
横浜市を選択し「除外」とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ebc6a1b9-fb15-e9cd-d6de-eb9b5f3596e7.png)
「人口総数」をクリックし「Y2軸」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6e861730-289f-ca36-1a88-c9f2325803d1.png)
もう一度「人口総数」をクリックし「折れ線」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3fdf1d66-0d79-5b0c-0e76-d3b6794f57c6.png)
グラフの種類がオーバーレイチャートに変更されます。
改めて入所児童数で降順ソートしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c6c599c6-4bc3-8ad5-df92-6526c1035989.png)
やはり、入所児童数は区の人口規模にほぼ比例していることがわかりました。
ただし、青葉区と南区は人口規模を考えると入所児童数が少ないと言えます。
青葉区は、同程度の人口である鶴見区よりも入所児童数が少なく待機人数は多くなっています。
一方、南区は金沢区や保土ケ谷区と人口が近いですが、やはり入所児童数が少なく待機人数が多いです。
これは、青葉区も南区も保育施設が不足していることを意味していると思われます。

## マップへの重ね合わせ
既に書きましたが、横浜市オープンデータポータルでは、これまで使用してきたデータの他に、各保育施設の所在地データも公開されています。
このデータを使って、無料で使用できるCSV アドレス マッチング サービスで緯度経度の変換をしました。

https://geocode.csis.u-tokyo.ac.jp/home/csv-admatch/

変換した緯度経度のデータは、入所児童数データに加えてあります。
なお、横浜市オープンポータルでは2021年までのデータしかないので、最近開設された保育施設は掲載されていません。

マップビジュアリゼーションを作ってみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/696a7f7d-d09f-6175-86bc-ded5f5064fb7.png)
南区にフィルタしました。
南区は横浜駅の南側に位置し、横浜市で最も人口密度の高い区だそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/67b94aa1-4226-38da-5745-e0f2d7fe9492.png)
プロットするデータを待ち人数に変更。
路線図と駅のデータも重ね合わせてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/84a529f3-3187-4a18-9401-ab16a76ff1a7.png)
区の中心を地下鉄ブルーラインと京急本線が走っており、保育施設も両鉄道路線の駅周辺に集まっています。
駅の周り保育施設で待ち人数が多くなっていますが、鉄道からすこし離れた地域にも需要はありそうです。
そこで、今度はバス路線を重ね合わせてみます。
マップに複数のレイヤーを重ねました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f597431f-c0a0-322d-d855-26879b17be0f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4b6fb3cf-d820-93ef-5e75-ba310b644015.png)
鉄道路線から離れた場所と思われましたが、バス路線沿いであったことがわかりました。
このあたりは住宅地なので、自宅近くであずけてそのまま最寄り駅を目指したいということでしょう。
駅周辺以外にも、こういった場所にも需要がありそうです。

路線図と駅、バス路線のデータは、国土数値院ダウンロードサイトから入手したシェープファイルをQGISでGeoJSONに変換したものをカスタム・マップ・レイヤーとして登録して使用しました。

https://nlftp.mlit.go.jp/ksj/

カスタム・マップ・レイヤーについては、こちらの記事にも記載しました。
- [Oracle Analytics Cloud：感染症情報で地図の特定エリアを塗りつぶす](https://qiita.com/tyo38/items/27b99c3b0bcd81289336)