
ゆうき( @BASEBALLY15 )です^^
そういえば, 2020年でセンター試験が廃止され,2021年から新たな試験が始まるりますね^^
そうですね^^
今回は,何について分析するのですか?
今回は,今後日本の大学が増えるのかどうかということを,
『ポアソン分布』を用いて分析してみます.
もしかしたら, 自分が在籍していた大学が無くなるかもしれませんね(・・;)

ポアソン分布とは?
ポアソン分布は,以下の式で表されます.

簡単に言うと,
単位時間あたりに平均λ回起きることが,ある時にk回起きる確率を表す際に使われる分布のことを指します.
例えば,
1時間に平均で10件のLINEの着信があったとします.ある時,LINEの着信が30件来る確率は?
という問題の場合,
- k=30
- λ=10
を上の式に当てはめた結果が,答えとなります.
今回は,ポアソン分布をPythonを使って求めていきたいと思います.
それでは,コードを見ていきましょう^^
学習内容-ポアソン分布-
データ
今回は,『学校基本調査』のデータを使います.
以下に,csvファイルにまとめたものを載せておきます.
ライブラリ
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
これに加えて,ポアソン分布を行うためのライブラリも用意しておきます.
from scipy.stats import poisson
コード
まずは,csvファイルを読み込みます.
#csvファイルの読み込み
university_data = pd.read_csv("nen001.csv")
#実行
university_data
すると,このように,短期大学と4年制大学の数が書かれたデータフレームが表示されます.
Year | Junior college | University | |
---|---|---|---|
0 | 昭和25 | 149 | 201 |
1 | 26 | 180 | 203 |
2 | 27 | 205 | 220 |
3 | 28 | 228 | 226 |
4 | 29 | 251 | 227 |
… | … | … | … |
65 | 27 | 346 | 779 |
66 | 28 | 341 | 777 |
67 | 29 | 337 | 780 |
68 | 30 | 331 | 782 |
69 | 令和元 | 326 | 786 |
今回は,大学の『増加数』の傾向を分析したいので,前年の数を翌年の数で引きます.
#変化量を調べる(前年の値を翌年の値でを引く)
###短期大学###
university_data["transition college"] = university_data["Junior college"].diff()
###4年制大学###
university_data["transition University"] = university_data["University"].diff()
#実行
university_data
このように,データフレームに新たに大学の増加数が追加されます.
Year | Junior college | University | transition college | transition University | |
---|---|---|---|---|---|
0 | 昭和25 | 149 | 201 | NaN | NaN |
1 | 26 | 180 | 203 | 31.0 | 2.0 |
2 | 27 | 205 | 220 | 25.0 | 17.0 |
3 | 28 | 228 | 226 | 23.0 | 6.0 |
4 | 29 | 251 | 227 | 23.0 | 1.0 |
… | … | … | … | … | … |
65 | 27 | 346 | 779 | -6.0 | -2.0 |
66 | 28 | 341 | 777 | -5.0 | -2.0 |
67 | 29 | 337 | 780 | -4.0 | 3.0 |
68 | 30 | 331 | 782 | -6.0 | 2.0 |
69 | 令和元 | 326 | 786 | -5.0 | 4.0 |
diff()で,差を求めることが出来ます.この1文で完結するので,楽ですね^^
次に,各大学の増加数の平均を求めたいと思います.(上の式の λ を指します.)
###短期大学###
transition_college_mean = university_data["transition college"].mean()
###4年制大学###
transition_university_mean = university_data["transition University"].mean()
#実行
print("短期大学の増加数の平均は,{:0.2f}校です.".format(transition_college_mean))
print("{:0.2f}".format(transition_university_mean))
print("4年制大学の増加数の平均は,{:0.2f}校です.".format(transition_university_mean))
短期大学の増加数の平均は,2.57校です.
4年制大学の増加数の平均は,8.48校です.
短期大学の増加数の平均が約3校,4年制大学の増加数の平均が約8校だということが分かりました.
それでは,本題のポアソン分布を表示させたいと思います.
今後,10校以上増加する可能性は?
令和2年にそれぞれの大学の増加数が10校以上になる確率を求めたいと思います.
その際に,まずは,10校までの確率を求めます.
###短期大学###
#増加数の平均(λ)
ram_college = transition_college_mean
###4年制大学###
#増加数の平均(λ)
ram_university = transition_university_mean
#目標増加校(k)
k = 10
#まず,10校までの確率を求める.(cdfは累積分布関数を指す)
###短期大学###
under10_college = poisson.cdf(k, ram_college)
###4年制大学###
under10_university = poisson.cdf(k, ram_university)
そして,以下のコードを記述することで,10校以上になる確率を求めることが出来ます.
#10校以上になる確率を求める
###短期大学###
ans_college = 1 - under10_college
###4年制大学###
ans_university = 1 - under10_university
#実行
print("短期大学の増加数が10校以上になる確率は{:0.4f}%です.".format(100*ans_college))
print("4年制大学の増加数が10校以上になる確率は{:0.2f}%です.".format(100*ans_university))
短期大学の増加数が10校以上になる確率は0.0077%です.
4年制大学の増加数が10校以上になる確率は23.42%です.
どちらも,可能性が低いですね^^
特に,短期大学は今後増加する可能性が,極めて低いことが分かります.
ポアソン分布を表示してみよう
増加数が50校までの間で,どのように増加していくのかをポアソン分布で示したいと思います.
###短期大学###
#増加数の平均(λ)
ram_college = transition_college_mean
###4年制大学###
#増加数の平均(λ)
ram_university = transition_university_mean
#増加数を50校まで指定(k)
k = np.arange(50)
#50校までの確率を求める
###短期大学###
poisson_college = poisson.pmf(k, ram_college)
###4年制大学###
poisson_university = poisson.pmf(k, ram_university)
それでは,ポアソン分布を表示したいと思います.
#グラフとグラフの幅を指定
plt.subplots_adjust(wspace=1.0, hspace=0.6)
###短期大学###
plt.subplot(1,2,1)
plt.bar(k, poisson_college, color="red")
plt.title("Poisson distribution of junior colleges")
plt.xlabel("Increase")
plt.ylabel("probability")
plt.xlim(-10, 40)
###4年制大学###
plt.subplot(1,2,2)
plt.bar(k, poisson_university, color="green")
plt.title("Poisson distribution of university")
plt.xlabel("Increase")
plt.ylabel("probability")
plt.xlim(-10, 40)

このグラフを見ると,
短期大学は約5校程度増加する可能性が高く,4年制大学の場合は約10校増加する可能性が高いことが分かります.
最近は,私立大学が増加しているらしいので,それが4年制大学の増加に繋がっているのでしょうか?
終わりに
今回は,大学の数が今後増えていくのか,ということについてポアソン分布を用いて分析してみました.
少子化のこの時代に,大学が増えているのは不思議ですね.
みなさんも,身近なデータで分析してみてください^^
それでは・・・