有名大学の身長分布はどんな形状か?(モンテカルロ・シミュレーション)

 「大学生の身長分布ってどうなっているんだろう」と考えたことは、ないと思います。

 けれども、言われると気になるので、シミュレーションで予測してみます。

要約

(1)問い

次の有名大学6校

  • [国立大] 東大、東工大、一橋大
  • [私立大] 慶應大、早稲田大、上智大

の身長分布はどのようになっているのでしょうか。

(2)結論

 例えば、東工大生の身長分布は次でした。平均身長は169.20cmでした。

 例えば、上智大生の身長分布は次でした。平均身長は平均163.00cmです。

(3)意義

 各大学の身長分布がわかったところで、何の意味もありません。

前提

(1)重要な仮定する条件

 素早く概要を掴むために、いくつかの仮定を作ります。

 大学ごとの身長分布を予測するには

  • 日本人の身長分布
  • 大学の男女比

のみを説明変数とすればよいと仮定します。逆に

  • 中高で午後10時から午前2時のゴールデンタイムにしっかり寝ていた人の割合
  • 外国人比率

などは、説明変数としなくても問題ないことを仮定します。

(2)仮定する条件

身長分布は17歳と同じ

 「どの学年でも性別ごとの身長の分布は、17歳日本人と同じ」を仮定します。これは

  • 男女で分布は異なる
  • 高校3年生になると、身長の伸びは止まる
  • 大学内の外国人は、無視できる

という意味です。17歳のデータを用いるのは、学校保健統計調査から入手できるからです。これは統計法に基づく基幹統計調査であり、信頼性が高いです。

性差を統制すれば、大学間の差はない

 「性別が同じなら大学間で身長の分布に差はない」を仮定します。これは

  • 「勉強やゲームをしすぎた東大生は、成長期の睡眠時間が短い傾向があり、身長が低くなる」といった現象は起きていない

という意味です。

身長分布の正規性

 「性別が同じなら身長の分布は正規分布している」を仮定します。

17歳の身長分布

 令和3年度の学校保健統計調査によると

  • 17歳男子:平均170.8cm、標準偏差5.90
  • 17歳女子:平均158.0cm、標準偏差5.39

です。これが正規分布に従うとすると、下図になります。

※若い女性が「170cm以下の男性に人権がない」と発言して、炎上したことがありました。その主張が正しいとならば、50%弱の男子大学生に人権はないことになります。

(3)事実

 各大学は男女別の学生数を集計しており、そのデータは公表されています。データについては、使う際に、提示していきます。

方法

(1)モンテカルロ法

 モンテカルロ法でシミュレーションします。モンテカルロ法とは、乱数を発生させて行う手法です。

 もともとは第二次世界大戦中、原爆研究の際にアメリカのロスアラモスで考案された手法です。モンテカルロはモナコ公国の地区名で、大戦時のコードネームでした。

(2)使用言語

 データ分析で使われるR言語を使いました。コードは最後に載せています。

結果

(1)東京大学

 2022年度の東京大学の学部生は

  • 学生数:13962
  • 男子学生数:11160(79.9%)
  • 女子学生数:2802(20.1%)

です。男女それぞれが17歳の分布に従うと仮定すると、身長の分布は下図になりました。平均身長は167.16(黒線)でした。

(2)東京工業大学

 2021年度の東京工業大学の学部生は

  • 学生数:4858
  • 男子学生数:4246(87.4%)
  • 女子学生数:612(12.6%)

です。男女それぞれが17歳の分布に従うと仮定すると、身長の分布は下図になりました。平均身長は169.20(黒線)でした。

(3)一橋大学

 2021年度の一橋大学の学部生は

  • 学生数:4364
  • 男子学生数:3113(71.3%)
  • 女子学生数:1228(28.7%)

です。男女それぞれが17歳の分布に従うと仮定すると、身長の分布は下図になりました。平均身長は167.04(黒線)でした。

(4)慶應義塾大学

 2022年度の慶應義塾大学の学部生は

  • 学生数:28641
  • 男子学生数:18286(63.8%)
  • 女子学生数:10355(36.2%)

です。男女それぞれが17歳の分布に従うと仮定すると、身長の分布は下図になりました。平均166.16(黒線)でした。

(5)早稲田大学

 2021年度の早稲田大学の学部生は

  • 学生数:38685
  • 男子学生数:24066(62.2%)
  • 女子学生数:14619(37.8%)

です。男女それぞれが17歳の分布に従うと仮定すると、身長の分布は下図になりました。平均165.94(黒線)でした。

(6)上智大学

 2021年度の早稲田大学の学部生は

  • 学生数:12233
  • 男子学生数:4721(38.6%)
  • 女子学生数:7512(61.4%)

です。男女それぞれが17歳の分布に従うと仮定すると、身長の分布は下図になりました。平均163.00(黒線)でした。

考察

(1)結論

 東大、東工大、一橋大、慶應大、早大、上智大の身長分布の予測ができました。具体的な分布は、上図の通りです。

(2)前提評価

 複数の前提を置きましたが概ね納得のいくものだったのではなかったでしょうか。ただし、

  • 18歳以降も身長は伸びない
  • 大学によって身体の発育状況が同じ
  • 身長は正規分布に従う

は議論の余地のある仮定だと思います。

(3)意義

 大学ごとの身長分布がわかっていいことは特にありません。

付録:Rコード

 シミュレーションは、R言語を用いて行いました。R言語については「しまうまのRでデータ分析入門」をご覧ください。

 美しい図示のため、パッケージとしてggplot2を用いました。

#パッケージの呼び出し。未インストールならインストール!
library(ggplot2) 

 シミュレーションと図示↓

#打ち込み部分
population_size <- 10000 #学生数を入力。例えば、10000
female_size <- 3000 #女子学生数を入力。例えば、3000
 
#母集団作成
x <- rep(NA, population_size)
male_d <- rep(NA, population_size)

for(i in 1:population_size){
  x[i] <- ifelse(i < female_size,rnorm(1,158.0,5.39) , rnorm(1,170.8,5.90))
  male_d[i] <- ifelse(i < female_size,"女", "男")
}
 
#データフレーム作成
data0 <- data.frame(x,male_d)
 
#ヒストグラム作図
ggplot(data0, aes( x = x ,fill=male_d)) + 
  geom_histogram(bins=40,position = "stack",colour="white",alpha=0.8)+
  xlab("身長") + 
  ylab ("度数") +
  ggtitle ("?大生の身長のヒストグラム(予測)") +
  geom_vline(xintercept = mean(data0[data0$male_d=="男" ,]$x),col="blue")+ 
  geom_vline(xintercept = mean(data0[data0$male_d=="女" ,]$x),col="red")+ 
  geom_vline(xintercept = mean(data0$x),col="black")+ 
  theme_grey(base_family = "HiraKakuPro-W3")
 
#平均の計算
mean(data0$x)

コメント欄 お気軽にコメントをお寄せください!

タイトルとURLをコピーしました