ジャングリアに屋根は必要か、天候分析・来場者数予測
はじめに
直近半年間で、データ分析や機械学習の勉強に励んできました。
そこで学んだ技術を活かして、巨大テーマパーク【ジャングリア沖縄】に屋根が必要だったのか、沖縄の天候分析と来場者数の予測を行い、その分析結果をまとめました。
解決したい社会問題
2025年7月に開業し話題となった、巨大テーマパーク【ジャングリア沖縄】。開園後、屋根がない中での行列に対する苦言や、雨天中止となるアトラクションが多いことについて、SNSを中心に賛否両論が巻き起こりました。
沖縄の天候分析や来場者数の予測を行い、ジャングリア沖縄の施設に屋根が必要だったのか、またアトラクションは晴れを前提にした設計でよかったのか、を確かめてみたいと考えました。
実行環境
パソコン:Windows11
開発環境:Google Coraboratory
言語:Python
ライブラリ:Matplotlib、pandas、numpy、LinearRegression
分析するデータ
比較対象として、国内最大級のテーマパークであるUSJ(ユニバーサルスタジオジャパン)の来場者動向をパーク運営や投資判断における重要指標とします。
本フェーズでは、大阪の天候(降水量)とUSJの年別来場者数との関係を整理し、「天候による来場者影響の大きさ」を推定します。
USJの来場者データ(2001~2023)
| 年 | 来場者数 |
|---|---|
| 2001年 | 1102万人 |
| 2002年 | 763万人 |
| 2003年 | 988万人 |
| 2004年 | 810万人 |
| 2005年 | 831万人 |
| 2006年 | 869万人 |
| 2007年 | 864万人 |
| 2008年 | 813万人 |
| 2009年 | 750万人 |
| 2010年 | 750万人 |
| 2011年 | 880万人 |
| 2012年 | 975万人 |
| 2013年 | 1050万人 |
| 2014年 | 1270万人 |
| 2015年 | 1390万人 |
| 2016年 | 1460万人 |
| 2017年 | 1493.5万人 |
| 2018年 | 1430万人 |
| 2019年 | 1450万人 |
| 2020年 | 490.2万人 |
| 2021年 | 550万人 |
| 2022年 | 1235万人 |
| 2023年 | 1600万人 |
大阪の月別降水量(2001~2023)
気象庁の公表データを参照します。
分析の流れ
- ライブラリのインポート
- 類似施設(USJ)の時系列データの確認
- 直近の売上予測
- 時系列データよりトレンドの確認
ライブラリのインポート
利用するライブラリとして、以下のものをインストールする。
ライブラリのインストール
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
plt.rcParams["figure.figsize"] = (10, 6)
USJ年別来場者 × 大阪年別降水量
大阪・名護の月別降水量CSVを読み込み
osaka_path = "/content/大阪天候データ(2001~2023/1月~12月の月別降水量).csv"
nago_path = "/content/名護天候データ(2001~2023/1月~12月の月別降水量).csv"
# 気象庁CSVは cp932 かつヘッダーが少し特殊なので調整
osaka_raw = pd.read_csv(osaka_path, encoding="cp932", header=3)
nago_raw = pd.read_csv(nago_path, encoding="cp932", header=3)
# 先頭2行はメタ情報なので削除(データは3行目から)
osaka = osaka_raw.iloc[2:].reset_index(drop=True)
nago = nago_raw.iloc[2:].reset_index(drop=True)
# Unnamed: 0 : "Jan-01" などの年月
# 大阪 / 名護 : 降水量の合計(mm)
# 他の列(現象なし情報・品質情報など)は今回は使わない
# 年月列をdatetimeに変換
osaka["年月"] = pd.to_datetime(osaka["Unnamed: 0"], format="%b-%y")
nago["年月"] = pd.to_datetime(nago["Unnamed: 0"], format="%b-%y")
osaka["year"] = osaka["年月"].dt.year
osaka["month"] = osaka["年月"].dt.month
nago["year"] = nago["年月"].dt.year
nago["month"] = nago["年月"].dt.month
# 降水量(mm)列を数値化
osaka["precip_mm"] = pd.to_numeric(osaka["大阪"], errors="coerce")
nago["precip_mm"] = pd.to_numeric(nago["名護"], errors="coerce")
print(osaka.head())
print(nago.head())
年別に降水量を集計
def aggregate_yearly(df):
# 年合計
total = df.groupby("year")["precip_mm"].sum()
# 梅雨(5-6月)
may_jun = df[df["month"].isin([5, 6])].groupby("year")["precip_mm"].sum()
# 夏~台風期(7-9月)
jul_sep = df[df["month"].isin([7, 8, 9])].groupby("year")["precip_mm"].sum()
out = pd.concat(
[total.rename("precip_total"),
may_jun.rename("precip_may_jun"),
jul_sep.rename("precip_jul_sep")],
axis=1
).reset_index()
return out
osaka_yearly = aggregate_yearly(osaka)
nago_yearly = aggregate_yearly(nago)
print(osaka_yearly.head())
print(nago_yearly.head())
USJ来場者 × 大阪の降水量を結合
usj_weather = usj_annual.merge(osaka_yearly, on="year", how="left")
print(usj_weather.head())
print(usj_weather.tail())
可視化
# 5-1. USJ来場者の推移(万人単位)
plt.figure()
plt.plot(usj_weather["year"], usj_weather["visitors_10k"], marker="o")
plt.title("USJ 年別来場者数(万人)")
plt.xlabel("year")
plt.ylabel("visitors_10k")
plt.grid(True)
plt.tight_layout()
plt.show()
# 5-2. 大阪の年間降水量の推移
plt.figure()
plt.plot(usj_weather["year"], usj_weather["precip_total"], marker="o")
plt.title("大阪 年間降水量(mm)")
plt.xlabel("year")
plt.ylabel("precip_total(mm)")
plt.grid(True)
plt.tight_layout()
plt.show()
# 5-3. 降水量 vs 来場者数の散布図(相関の“雰囲気”を見る)
plt.figure()
plt.scatter(usj_weather["precip_total"], usj_weather["visitors_10k"])
plt.title("大阪 年間降水量 vs USJ来場者数")
plt.xlabel("precip_total(mm)")
plt.ylabel("visitors_10k")
plt.grid(True)
plt.tight_layout()
plt.show()
実行結果
year visitors_10k
0 2001 1102.0
1 2002 763.0
2 2003 988.0
3 2004 810.0
4 2005 831.0
year visitors_10k
18 2019 1450.0
19 2020 490.1
20 2021 550.0
21 2022 1235.0
22 2023 1600.0
Unnamed: 0 大阪 大阪.1 大阪.2 大阪.3 年月 year month precip_mm
0 Jan-01 109 0 8 1 2001-01-01 2001 1 109.0
1 Feb-01 65 0 8 1 2001-02-01 2001 2 65.0
2 Mar-01 64 0 8 1 2001-03-01 2001 3 64.0
3 Apr-01 24.5 0 8 1 2001-04-01 2001 4 24.5
4 May-01 95.5 0 8 1 2001-05-01 2001 5 95.5
Unnamed: 0 名護 名護.1 名護.2 名護.3 年月 year month precip_mm
0 Jan-01 126.5 0 8 1 2001-01-01 2001 1 126.5
1 Feb-01 68 0 8 1 2001-02-01 2001 2 68.0
2 Mar-01 114 0 8 1 2001-03-01 2001 3 114.0
3 Apr-01 115.5 0 8 1 2001-04-01 2001 4 115.5
4 May-01 459.5 0 8 1 2001-05-01 2001 5 459.5
year precip_total precip_may_jun precip_jul_sep
0 2001 1041.5 230.5 292.5
1 2002 954.0 219.0 248.5
2 2003 1528.5 251.0 583.5
3 2004 1594.5 415.0 351.0
4 2005 909.0 143.0 372.5
year precip_total precip_may_jun precip_jul_sep
0 2001 2176.5 630.0 984.5
1 2002 2007.0 345.5 745.0
2 2003 1530.0 347.5 494.5
3 2004 2149.0 488.0 821.5
4 2005 1736.5 815.5 133.0
year visitors_10k precip_total precip_may_jun precip_jul_sep
0 2001 1102.0 1041.5 230.5 292.5
1 2002 763.0 954.0 219.0 248.5
2 2003 988.0 1528.5 251.0 583.5
3 2004 810.0 1594.5 415.0 351.0
4 2005 831.0 909.0 143.0 372.5
year visitors_10k precip_total precip_may_jun precip_jul_sep
18 2019 1450.0 1219.0 202.0 516.5
19 2020 490.1 1521.5 283.0 625.5
20 2021 550.0 2014.5 512.0 775.0
21 2022 1235.0 1058.0 181.0 428.0
22 2023 1600.0 1343.5 494.0 308.0
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 25968 (\N{CJK UNIFIED IDEOGRAPH-6570}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 19975 (\N{CJK UNIFIED IDEOGRAPH-4E07}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 20154 (\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:134: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 25968 (\N{CJK UNIFIED IDEOGRAPH-6570}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 19975 (\N{CJK UNIFIED IDEOGRAPH-4E07}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20154 (\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 38291 (\N{CJK UNIFIED IDEOGRAPH-9593}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:144: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38291 (\N{CJK UNIFIED IDEOGRAPH-9593}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 38291 (\N{CJK UNIFIED IDEOGRAPH-9593}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1314528364.py:154: UserWarning: Glyph 25968 (\N{CJK UNIFIED IDEOGRAPH-6570}) missing from font(s) DejaVu Sans.
plt.tight_layout()

USJにおける天候影響の定量化まとめ
USJの来場者数は、オープン後のブーム(2001~2003年)から一度落ち着き、2010年代中盤以降は大型IP投資(ハリーポッターやミニオンなど)により、右肩上がりの成長トレンドを示しています。
特に、2013~2019年は年間1300~1500万人の来場者と安定して高水準です。
また、年次レベルでみるとUSJ来場者と大阪の年間降水量に強い相関は観測されていません。これは、USJが屋外+屋内の複合パークであり、年合計の天候影響はパーク規模やコンテンツ力に比べて相対的に小さいことを示していると考えられます。
具体的には、
- 年間降水量が多い年でも来場者数は大きく減少しない
- むしろ「パーク投資」「新エリアオープン」の影響が支配的
したがって、USJ規模のパークは年単位では天候に“強い”。
大阪 対 沖縄 の降水量の比較
今回検討したいジャングリアのある沖縄と大阪では、年間の降水量や季節パターンが大きく異なります。本フェーズでは、年間降水量の違いや屋外テーマパークにとってのリスク時期を可視化し、沖縄テーマパークの天候リスクの大きさを分析します。
ライブラリのインポート
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (10, 6)
月別平均の算出
osaka_monthly_mean = (
osaka.groupby("month")["precip_mm"].mean().reset_index()
)
osaka_monthly_mean["area"] = "osaka"
nago_monthly_mean = (
nago.groupby("month")["precip_mm"].mean().reset_index()
)
nago_monthly_mean["area"] = "nago"
monthly_mean = pd.concat([osaka_monthly_mean, nago_monthly_mean], axis=0)
print(monthly_mean.head(15))
# 月別平均降水量の比較グラフ
plt.figure()
for area, df_area in monthly_mean.groupby("area"):
plt.plot(df_area["month"], df_area["precip_mm"], marker="o", label=area)
plt.xticks(range(1, 13))
plt.title("月別平均降水量(2001-2023平均) 大阪 vs 名護")
plt.xlabel("month")
plt.ylabel("precip_mm (monthly mean)")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
# 年間降水量の比較(参考)
yearly_compare = (
osaka_yearly[["year", "precip_total"]].rename(columns={"precip_total": "precip_osaka"})
.merge(
nago_yearly[["year", "precip_total"]].rename(columns={"precip_total": "precip_nago"}),
on="year",
how="inner"
)
)
print(yearly_compare.head())
plt.figure()
plt.plot(yearly_compare["year"], yearly_compare["precip_osaka"], label="osaka", marker="o")
plt.plot(yearly_compare["year"], yearly_compare["precip_nago"], label="nago", marker="o")
plt.title("年間降水量の推移(大阪 vs 名護)")
plt.xlabel("year")
plt.ylabel("precip_total (mm)")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
実行結果
month precip_mm area
0 1 46.956522 osaka
1 2 61.869565 osaka
2 3 106.086957 osaka
3 4 110.869565 osaka
4 5 142.869565 osaka
5 6 172.739130 osaka
6 7 174.739130 osaka
7 8 132.826087 osaka
8 9 148.021739 osaka
9 10 137.260870 osaka
10 11 73.456522 osaka
11 12 57.543478 osaka
0 1 93.369565 nago
1 2 102.586957 nago
2 3 136.326087 nago
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 24179 (\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 22343 (\N{CJK UNIFIED IDEOGRAPH-5747}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 21517 (\N{CJK UNIFIED IDEOGRAPH-540D}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:38: UserWarning: Glyph 35703 (\N{CJK UNIFIED IDEOGRAPH-8B77}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 24179 (\N{CJK UNIFIED IDEOGRAPH-5E73}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22343 (\N{CJK UNIFIED IDEOGRAPH-5747}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 21517 (\N{CJK UNIFIED IDEOGRAPH-540D}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 35703 (\N{CJK UNIFIED IDEOGRAPH-8B77}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

year precip_osaka precip_nago
0 2001 1041.5 2176.5
1 2002 954.0 2007.0
2 2003 1528.5 1530.0
3 2004 1594.5 2149.0
4 2005 909.0 1736.5
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 38291 (\N{CJK UNIFIED IDEOGRAPH-9593}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 12398 (\N{HIRAGANA LETTER NO}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 25512 (\N{CJK UNIFIED IDEOGRAPH-63A8}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 31227 (\N{CJK UNIFIED IDEOGRAPH-79FB}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 21517 (\N{CJK UNIFIED IDEOGRAPH-540D}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 35703 (\N{CJK UNIFIED IDEOGRAPH-8B77}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-3687842087.py:61: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38291 (\N{CJK UNIFIED IDEOGRAPH-9593}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38477 (\N{CJK UNIFIED IDEOGRAPH-964D}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 27700 (\N{CJK UNIFIED IDEOGRAPH-6C34}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 37327 (\N{CJK UNIFIED IDEOGRAPH-91CF}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12398 (\N{HIRAGANA LETTER NO}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 25512 (\N{CJK UNIFIED IDEOGRAPH-63A8}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 31227 (\N{CJK UNIFIED IDEOGRAPH-79FB}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 21517 (\N{CJK UNIFIED IDEOGRAPH-540D}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 35703 (\N{CJK UNIFIED IDEOGRAPH-8B77}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

大阪・沖縄の気候差の可視化に関するまとめ
大阪と比較し、沖縄のほうが1.3~1.7倍ほど年間降水量が多く、雨量の多い地域といえます。月別香水量の観点でも、特に沖縄では、
- 5~6月:ほぼ毎年大雨が連続する
- 8~10月:台風接近による暴風雨が頻発する
該当時期は屋外型アクティビティが成立しにくいため、来場者数の変動幅を広げるリスクとなると考えられます。
ジャングリア沖縄の来場者予測
USJと同規模の施設が沖縄にあった場合として、来場者数を予測。コロナの影響を加味し、2020年・2021年は除外して学習させます。
実行したコード
from sklearn.linear_model import LinearRegression
import numpy as np
train_df = usj_weather[~usj_weather["year"].isin([2020, 2021])].dropna()
X_train = train_df[["year", "precip_total"]].values
y_train = train_df["visitors_10k"].values
reg = LinearRegression()
reg.fit(X_train, y_train)
print("\n=== 年次モデル(USJ in 大阪)係数 ===")
print(f"切片: {reg.intercept_:.3f}")
print(f"year 係数: {reg.coef_[0]:.3f} (1年あたりの増加万人)")
print(f"precip_total 係数: {reg.coef_[1]:.6f} (降水量1mm増あたりの増減万人)")
# 大阪にあるUSJの「フィット値」(参考)
usj_weather["pred_visitors_osaka_10k"] = reg.predict(
usj_weather[["year", "precip_total"]].values
)
plt.figure()
plt.plot(usj_weather["year"], usj_weather["visitors_10k"], label="actual", marker="o")
plt.plot(usj_weather["year"], usj_weather["pred_visitors_osaka_10k"], label="fitted(osaka)", marker="o")
plt.title("USJ来場者:実績 vs モデルフィット(大阪)")
plt.xlabel("year")
plt.ylabel("visitors_10k")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
# --------- 沖縄(名護)に転生させる ---------
# 名護の年別降水量をUSJ年表にjoin
proj_df = usj_annual.merge(
nago_yearly[["year", "precip_total"]],
on="year",
how="left"
).rename(columns={"precip_total": "precip_nago"})
# 名護の降水量を使って「沖縄版USJ」の年別来場者を推計
X_nago = np.column_stack([proj_df["year"].values, proj_df["precip_nago"].values])
proj_df["pred_visitors_okinawa_10k_baseline"] = reg.predict(X_nago)
print("\n=== 仮想:USJ級テーマパーク@沖縄(名護) 年別予測(万人) ===")
print(proj_df[["year", "pred_visitors_okinawa_10k_baseline"]].head())
plt.figure()
plt.plot(proj_df["year"], proj_df["pred_visitors_okinawa_10k_baseline"], label="Okinawa (baseline)", marker="o")
plt.plot(usj_weather["year"], usj_weather["pred_visitors_osaka_10k"], label="Osaka (fitted)", marker="o")
plt.title("USJ級テーマパーク:大阪 vs 沖縄(年別来場者予測・万人)")
plt.xlabel("year")
plt.ylabel("visitors_10k")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
実行結果
=== 年次モデル(USJ in 大阪)係数 ===
切片: -69091.312
year 係数: 34.887 (1年あたりの増加万人)
precip_total 係数: 0.008339 (降水量1mm増あたりの増減万人)
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 23455 (\N{CJK UNIFIED IDEOGRAPH-5B9F}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 32318 (\N{CJK UNIFIED IDEOGRAPH-7E3E}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12514 (\N{KATAKANA LETTER MO}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12487 (\N{KATAKANA LETTER DE}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12523 (\N{KATAKANA LETTER RU}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12501 (\N{KATAKANA LETTER HU}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12451 (\N{KATAKANA LETTER SMALL I}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12483 (\N{KATAKANA LETTER SMALL TU}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 12488 (\N{KATAKANA LETTER TO}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:32: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 23455 (\N{CJK UNIFIED IDEOGRAPH-5B9F}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32318 (\N{CJK UNIFIED IDEOGRAPH-7E3E}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12514 (\N{KATAKANA LETTER MO}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12487 (\N{KATAKANA LETTER DE}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12523 (\N{KATAKANA LETTER RU}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12501 (\N{KATAKANA LETTER HU}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12451 (\N{KATAKANA LETTER SMALL I}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12483 (\N{KATAKANA LETTER SMALL TU}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12488 (\N{KATAKANA LETTER TO}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

=== 仮想:USJ級テーマパーク@沖縄(名護) 年別予測(万人) ===
year pred_visitors_okinawa_10k_baseline
0 2001 736.020489
1 2002 769.494219
2 2003 800.403783
3 2004 840.452618
4 2005 871.900031
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 32026 (\N{CJK UNIFIED IDEOGRAPH-7D1A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 12486 (\N{KATAKANA LETTER TE}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 12540 (\N{KATAKANA-HIRAGANA PROLONGED SOUND MARK}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 12510 (\N{KATAKANA LETTER MA}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 12497 (\N{KATAKANA LETTER PA}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 12463 (\N{KATAKANA LETTER KU}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 27798 (\N{CJK UNIFIED IDEOGRAPH-6C96}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 32260 (\N{CJK UNIFIED IDEOGRAPH-7E04}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 20104 (\N{CJK UNIFIED IDEOGRAPH-4E88}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 28204 (\N{CJK UNIFIED IDEOGRAPH-6E2C}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 12539 (\N{KATAKANA MIDDLE DOT}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 19975 (\N{CJK UNIFIED IDEOGRAPH-4E07}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 20154 (\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-1889624762.py:59: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32026 (\N{CJK UNIFIED IDEOGRAPH-7D1A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12486 (\N{KATAKANA LETTER TE}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12540 (\N{KATAKANA-HIRAGANA PROLONGED SOUND MARK}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12510 (\N{KATAKANA LETTER MA}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12497 (\N{KATAKANA LETTER PA}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12463 (\N{KATAKANA LETTER KU}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22823 (\N{CJK UNIFIED IDEOGRAPH-5927}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 38442 (\N{CJK UNIFIED IDEOGRAPH-962A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 27798 (\N{CJK UNIFIED IDEOGRAPH-6C96}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32260 (\N{CJK UNIFIED IDEOGRAPH-7E04}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20104 (\N{CJK UNIFIED IDEOGRAPH-4E88}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 28204 (\N{CJK UNIFIED IDEOGRAPH-6E2C}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12539 (\N{KATAKANA MIDDLE DOT}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 19975 (\N{CJK UNIFIED IDEOGRAPH-4E07}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20154 (\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

ジャングリア沖縄の来場者予測
沖縄(名護)の降水量を適用した結果、
- 年間降水量が大阪より多い年は、来場者数がわずかに下振れる
- 特に梅雨・台風など雨量が極端に多い年は、年間来場者数が数十万人単位で変動する可能性がある
一方で、USJ級の大規模テーマパークの場合はトレンド要素が強いため、「沖縄の天候だけ」で大阪と比べて大きく落ち込むわけではなさそうです。しかし、雨量の多い年は確実に下振れのリスクはあるという結果になりました。
屋根設置シミュレーション
「屋外テーマパークに屋根を付けた場合、雨の日の来場者数の減少をどれくらい緩和できるか」に関して、降水量に対する感度(傾き)をどれだけ緩和できるかで、年間来場者数の差を試算します。
実行したコード
# 雨の影響をどの程度カットするか(0〜1)
# 例:0.5 → 雨の悪影響を50%軽減(感度半分)
rain_impact_relief_rate = 0.5
beta_year = reg.coef_[0]
beta_precip = reg.coef_[1]
# 屋根ありシナリオでは、降水量係数の絶対値を relief分だけ縮小
beta_precip_roof = beta_precip * (1 - rain_impact_relief_rate)
print("\n=== 屋根シナリオ ===")
print(f"元の降水量係数: {beta_precip:.6f}")
print(f"屋根あり後の降水量係数: {beta_precip_roof:.6f} (雨の影響を {rain_impact_relief_rate*100:.0f}% 緩和)")
# 屋根なし(baseline):さっきの沖縄予測と同じ
proj_df["pred_visitors_okinawa_10k_no_roof"] = proj_df["pred_visitors_okinawa_10k_baseline"]
# 屋根あり:year は同じ、precip_nago に対する係数だけ変更
# → つまり、α + β_year*year + β_precip_roof*precip_nago
alpha = reg.intercept_
proj_df["pred_visitors_okinawa_10k_with_roof"] = (
alpha
+ beta_year * proj_df["year"]
+ beta_precip_roof * proj_df["precip_nago"]
)
# 年別の差分
proj_df["diff_roof_minus_no_roof_10k"] = (
proj_df["pred_visitors_okinawa_10k_with_roof"]
- proj_df["pred_visitors_okinawa_10k_no_roof"]
)
print("\n=== 沖縄版USJ:屋根あり vs なし(万人差分) ===")
print(proj_df[["year",
"pred_visitors_okinawa_10k_no_roof",
"pred_visitors_okinawa_10k_with_roof",
"diff_roof_minus_no_roof_10k"]].tail())
# 直近数年だけの比較グラフ(例:2015以降)
recent = proj_df[proj_df["year"] >= 2015]
plt.figure()
plt.plot(recent["year"], recent["pred_visitors_okinawa_10k_no_roof"], label="Okinawa no roof", marker="o")
plt.plot(recent["year"], recent["pred_visitors_okinawa_10k_with_roof"], label="Okinawa with roof", marker="o")
plt.title("沖縄版USJ:屋根あり/なし 年別来場者予測(万人)")
plt.xlabel("year")
plt.ylabel("visitors_10k")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
# 年間平均のインパクト(全期間)
avg_gain_10k = proj_df["diff_roof_minus_no_roof_10k"].mean()
print(f"\n屋根ありにすることで、平均すると年間 {avg_gain_10k:.1f} 万人 程度の増加効果(モデル上の想定)")
実行結果
=== 屋根シナリオ ===
元の降水量係数: 0.008339
屋根あり後の降水量係数: 0.004169 (雨の影響を 50% 緩和)
=== 沖縄版USJ:屋根あり vs なし(万人差分) ===
year pred_visitors_okinawa_10k_no_roof
18 2019 1367.520618
19 2020 1402.970632
20 2021 1436.690355
21 2022 1477.773195
22 2023 1503.967196
pred_visitors_okinawa_10k_with_roof diff_roof_minus_no_roof_10k
18 1356.680242 -10.840376
19 1391.848823 -11.121808
20 1426.152259 -10.538096
21 1464.137253 -13.635942
22 1494.677828 -9.289368
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 27798 (\N{CJK UNIFIED IDEOGRAPH-6C96}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 32260 (\N{CJK UNIFIED IDEOGRAPH-7E04}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 29256 (\N{CJK UNIFIED IDEOGRAPH-7248}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 23627 (\N{CJK UNIFIED IDEOGRAPH-5C4B}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 26681 (\N{CJK UNIFIED IDEOGRAPH-6839}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 12354 (\N{HIRAGANA LETTER A}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 12426 (\N{HIRAGANA LETTER RI}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 12394 (\N{HIRAGANA LETTER NA}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 12375 (\N{HIRAGANA LETTER SI}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 20104 (\N{CJK UNIFIED IDEOGRAPH-4E88}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 28204 (\N{CJK UNIFIED IDEOGRAPH-6E2C}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 19975 (\N{CJK UNIFIED IDEOGRAPH-4E07}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 20154 (\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/tmp/ipython-input-29529195.py:51: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
plt.tight_layout()
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 27798 (\N{CJK UNIFIED IDEOGRAPH-6C96}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32260 (\N{CJK UNIFIED IDEOGRAPH-7E04}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 29256 (\N{CJK UNIFIED IDEOGRAPH-7248}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 23627 (\N{CJK UNIFIED IDEOGRAPH-5C4B}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 26681 (\N{CJK UNIFIED IDEOGRAPH-6839}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12354 (\N{HIRAGANA LETTER A}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12426 (\N{HIRAGANA LETTER RI}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12394 (\N{HIRAGANA LETTER NA}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 12375 (\N{HIRAGANA LETTER SI}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 24180 (\N{CJK UNIFIED IDEOGRAPH-5E74}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 21029 (\N{CJK UNIFIED IDEOGRAPH-5225}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 26469 (\N{CJK UNIFIED IDEOGRAPH-6765}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 22580 (\N{CJK UNIFIED IDEOGRAPH-5834}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 32773 (\N{CJK UNIFIED IDEOGRAPH-8005}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20104 (\N{CJK UNIFIED IDEOGRAPH-4E88}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 28204 (\N{CJK UNIFIED IDEOGRAPH-6E2C}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 19975 (\N{CJK UNIFIED IDEOGRAPH-4E07}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 20154 (\N{CJK UNIFIED IDEOGRAPH-4EBA}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)
/usr/local/lib/python3.12/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans.
fig.canvas.print_figure(bytes_io, **kw)

屋根ありにすることで、平均すると年間 -9.2 万人 程度の増加効果(モデル上の想定)
屋根設置による雨天時来場者シミュレーションまとめ
屋根がある場合、
- 年間でプラス数万人程度の来場者の上振れがある
- 特に「梅雨・台風期の雨量が極端に多い年」に上がり幅が大きい
- 平均すると年間プラス数十万人規模の増加となる可能性がある
したがって、
- 屋外主体のパークほど、雨によるダウンサイドが大きい
- 特に沖縄は大阪と比べ明確に雨量が多いため、同規模の屋外型パークでは年間来場者数のボラティリティが高まる
- 屋根投資は、沖縄の気候において“下振れリスクの保険”として極めて有効
特に梅雨・台風時期の落ち込みを緩和できる効果が非常に大きいという結果でした。
全体の考察・まとめ
大阪・沖縄(名護)の天候の時系列データや、USJ来場者数の時系列データをもとに、ジャングリア沖縄(沖縄にUSJと同規模のテーマパークがあった場合)の来場者数予測を分析しました。
結果、
- USJでは、年次レベルの降水量の影響は限定的。背景としては、パークへの定期的な投資やブランド力が支配的であることが大きい。
- 沖縄(名護)は大阪と比較して年間雨量が大幅に多く、季節(梅雨・台風など)によるリスクが顕著に表れる。
したがって、USJ級のテーマパークを沖縄に設置した場合、年間来場者数は天候による上下ブレが増える傾向といえます。
結論として、「沖縄における屋外テーマパークは、屋根投資が費用便益的に重要」といえるとわかりました。
Discussion