This article is currently available in Japanese. The copy-ready 47-location dataset and chart images are included below.
緯度から気温を予測できる?気象庁の実測データで回帰分析
「北に行くほど寒くなる」とよくいわれます。では、日本国内の年平均気温は、 緯度だけでどこまで予測できるのでしょうか。
本記事では、気象庁が公開している1991~2020年の平年値を使い、 全国47地点の緯度と年平均気温の関係を調べます。 まず緯度だけの単回帰式を作り、その後に標高と経度を加えて、予測誤差がどの程度小さくなるかを比較します。
先に結果をまとめると、緯度だけのモデルでも47地点の気温差をよく捉えました。 一方、長野のような標高の高い地点では予測が大きく外れます。 散布図で全体の傾向をつかみ、外れた地点の理由を考えるところまでが、回帰分析の面白さです。
1. 今回予測するのは「明日の気温」ではない
今回の目的は、天気予報のように明日や来週の気温を当てることではありません。 ある地点の緯度・標高・経度から、その地点の平年の年平均気温を推定します。
気象庁の平年値は、連続する30年間の観測値をもとに作られ、10年ごとに更新されます。 現在使われている2020年平年値の統計期間は1991~2020年です。 単年の猛暑や冷夏の影響を受けにくいため、地点ごとの気候を比較する今回の分析に向いています。
- 予測対象:年平均気温の平年値(℃)
- 主な説明変数:緯度(度)
- 追加する説明変数:標高(m)、経度(度)
- 対象地点:各都道府県から1地点、合計47地点
※ 本記事の「予測」は、未知の地点の気候値を回帰式から推定するという意味で使用しています。
2. 気象庁の実測データを準備する
2-1. 使用したデータ
年平均気温には、気象庁の「地上気象観測月・年別平年値」の年値を使用しました。 緯度・経度・標高は、同じく気象庁の地点情報ファイルから取得しています。
データは各都道府県から1地点ずつ選びました。 原則として都道府県庁所在地の観測地点を使用していますが、長期平年値を同じ種類の地上気象観測データでそろえるため、 埼玉県は熊谷、滋賀県は彦根、山口県は下関を採用しています。
2-2. 桜チャートに入力する列
分析用データは、次の6列に整理しました。
単位は1行目の列名にだけ付け、2行目以降の数値にはmや℃を付けていません。
そのため、コピーしたデータを桜チャートへそのまま貼り付けられます。
都道府県,観測地点,緯度[°N],経度[°E],標高[m],年平均気温[℃]
北海道,札幌,43.0600,141.3283,17.4,9.2
東京都,東京,35.6917,139.7500,25.2,15.8
長野県,長野,36.6617,138.1917,418.2,12.3
鹿児島県,鹿児島,31.5550,130.5467,3.9,18.8
沖縄県,那覇,26.2067,127.6867,28.1,23.3
- 「47地点のサンプルデータをコピー」を押します。
- 「桜チャートで散布図を作る」からグラフ作成画面を開き、入力欄へ貼り付けます。
- X軸に
緯度[°N]、Y軸に年平均気温[℃]を指定します。 - グラフの種類からScatter(散布図)を選んで描画します。
散布図の基本的な読み方は、散布図とは?でも解説しています。
3. 緯度と年平均気温の散布図から分かること
47地点を散布図にすると、点は全体として右下がりに並びます。 緯度が高くなる、つまり北へ移動するほど、年平均気温が低くなる強い負の相関が見られます。
ただし、すべての点が一直線上に並ぶわけではありません。 ほぼ同じ緯度でも気温が異なる地点があり、特に標高の高い地点は全体の傾向より低温側に外れます。 この「直線からのずれ」を残差と呼びます。
- 右下がりの全体傾向:緯度の影響
- 高地が低温側に外れる:標高の影響
- 沿岸・内陸、都市、地形によるばらつき:緯度と標高だけでは説明できない影響
回帰式を作る前に散布図を確認しておくと、係数や精度の数値だけでは分からないデータの特徴をつかめます。
4. 緯度だけで年平均気温を予測する
年平均気温を目的変数、緯度を説明変数として最小二乗法による単回帰分析を行うと、 今回の47地点では次の式になりました。
予測年平均気温(℃)
= 46.164 − 0.86576 × 緯度(度)
緯度の係数は約−0.866です。 今回選んだ日本の47地点では、緯度が1度高くなるごとに、年平均気温が平均約0.87℃低くなる関係が得られました。 緯度1度を南北約111kmとみなすと、北へ100km進むごとに約0.78℃低くなる計算です。
4-1. 当てはまりはどの程度か
- 決定係数 R²:0.935
- 47地点に対する平均絶対誤差(MAE):0.46℃
- 1地点ずつ除外して検証した平均絶対誤差:0.48℃
R²が0.935という結果は、今回選んだ47地点の年平均気温のばらつきのうち、 約93.5%を緯度との直線関係で説明できたことを表します。 また、1地点を予測対象として外し、残り46地点で式を作る検証を47回繰り返しても、平均誤差は約0.48℃でした。
したがって、日本国内のおおまかな年平均気温を知るだけなら、緯度だけの単純な式でも一定の目安になります。 ただし、平均誤差が小さくても、一部の地点では大きく外れることに注意が必要です。
5. 長野の予測が外れる理由を標高で確かめる
緯度だけの式で最も大きく外れたのは長野でした。 長野の年平均気温の実測平年値は12.3℃ですが、緯度だけの式では14.4℃と予測され、 実測値より約2.1℃高い結果になります。
長野の観測地点の標高は418.2mです。 緯度が近い平地と同じように扱うと、標高による低温を説明できません。 そこで、説明変数に標高を加えます。
予測年平均気温(℃)
= 45.404 − 0.83821 × 緯度(度)− 0.004886 × 標高(m)
この式では、緯度が同じなら、標高が100m高くなるごとに年平均気温が約0.49℃低くなる関係です。 長野の予測値は14.4℃から12.6℃へ修正され、実測値12.3℃との差は約0.3℃まで小さくなりました。
| 値 | 年平均気温 | 実測値との差 |
|---|---|---|
| 気象庁の平年値 | 12.3℃ | — |
| 緯度だけの予測 | 14.4℃ | +2.1℃ |
| 緯度+標高の予測 | 12.6℃ | +0.3℃ |
全体の傾向から外れた点を単なる邪魔なデータとして消すのではなく、 「なぜ外れたのか」を考えると、次に加えるべき変数が見えてきます。 長野の例では、残差が標高という重要な要因に気づく手掛かりになりました。
6. 緯度・標高・経度を使った重回帰モデル
日本列島は南北だけでなく東西にも広がっています。 そこで、緯度と標高に経度を加えたモデルも作成しました。
予測年平均気温(℃)
= 34.012 − 0.97492 × 緯度(度)
− 0.005775 × 標高(m)
+ 0.11960 × 経度(度)
| 説明変数 | R² | 同じ47地点へのMAE | 1地点ずつ除外したMAE |
|---|---|---|---|
| 緯度 | 0.935 | 0.46℃ | 0.48℃ |
| 緯度+標高 | 0.959 | 0.38℃ | 0.41℃ |
| 緯度+標高+経度 | 0.969 | 0.33℃ | 0.36℃ |
変数を追加するにつれて、今回の47地点に対する誤差は小さくなりました。 1地点ずつ除外する検証でも同じ傾向が見られるため、標高と経度には未知地点の推定を改善する情報が含まれていると考えられます。
ただし、経度の係数を「東へ1度移動すると必ず0.12℃上がる」という物理法則として解釈してはいけません。 日本列島の形、海流、海からの距離、都市の分布などが混ざった結果として得られた、 今回の地点選択に依存する統計的な係数です。
7. 任意の緯度・標高から気温を計算する
説明しやすさと精度のバランスを考えると、まずは「緯度+標高」の式が使いやすいでしょう。 例として、緯度35度の地点を計算します。
7-1. 緯度35度・標高0m
45.404 − 0.83821 × 35 − 0.004886 × 0
= 16.1℃
7-2. 緯度35度・標高500m
45.404 − 0.83821 × 35 − 0.004886 × 500
= 13.6℃
緯度が同じでも、標高500mの地点は標高0mの地点より約2.4℃低い予測になります。 このように、緯度だけでなく標高を入力すると、山間部を平地と同じ気温として扱う問題を減らせます。
8. 予測値と実測値を重ねて比較する方法
回帰式を作った後は、元データに予測気温列と残差列を追加すると分析しやすくなります。
予測気温 = 45.404 − 0.83821 × 緯度 − 0.004886 × 標高_m
残差 = 年平均気温_C − 予測気温
桜チャートでは、次の2種類のグラフが役立ちます。
-
実測値と予測値の比較
X軸を緯度、Y軸を実測気温と予測気温にして重ねます。 2つが近いほど予測がよく合っています。 -
残差の散布図
X軸を予測気温または緯度、Y軸を残差にします。 0℃を中心に偏りなく散らばっているかを確認します。
残差が正なら実測値の方が予測値より高く、負なら実測値の方が低いことを表します。 特定の地域だけ同じ方向に外れる場合は、モデルに不足している要因がある可能性があります。
9. 緯度・標高・経度だけでは説明できない要因
3変数モデルでも、すべての地点を完全には再現できません。 年平均気温には、次のような要因も影響します。
- 海からの距離と沿岸・内陸の違い
- 暖流・寒流など海洋の影響
- 盆地、山脈、斜面方向などの地形
- 都市化によるヒートアイランド
- 季節風、積雪、雲量、日照時間
- 観測地点の移転や周辺環境の変化
例えば甲府は標高272.8mですが、緯度と標高だけの式では実測値より約0.9℃低く予測されました。 標高を加えれば必ずすべての地点が改善するわけではなく、盆地や都市環境など別の要因が残ります。
予測精度をさらに上げるなら、海岸からの距離、地形区分、都市人口などを追加し、 新しい地点を残したまま検証する必要があります。
10. この回帰式を使うときの注意点
-
適用範囲は日本国内が基本
今回の緯度範囲は約26.2~43.1度です。範囲外へ大きく外挿すると、同じ精度は期待できません。 -
都道府県ごとに1地点を選んだモデル
日本の面積や人口で重み付けした平均ではなく、47地点を同じ重みで扱っています。 -
日々の気温予報には使えない
天気、季節、時刻を入力していないため、推定できるのは長期的な年平均気温です。 -
R²だけでモデルを選ばない
変数を増やすと同じデータへのR²は上がりやすいため、除外した地点への誤差も確認します。 -
係数を因果関係と決めつけない
特に経度の係数には、地域ごとの複数の違いが混ざっています。
11. 分析に使用した47地点の平年値
以下は、今回の回帰分析に使用した地点情報と年平均気温です。 単位は見出しにまとめ、各データ行にはグラフ作成に使える生の数値だけを記載しています。
| 都道府県 | 観測地点 | 緯度 [°N] |
経度 [°E] |
標高 [m] |
年平均気温 [℃] |
|---|---|---|---|---|---|
| 北海道 | 札幌 | 43.0600 | 141.3283 | 17.4 | 9.2 |
| 青森県 | 青森 | 40.8217 | 140.7683 | 2.8 | 10.7 |
| 岩手県 | 盛岡 | 39.6983 | 141.1650 | 155.2 | 10.6 |
| 宮城県 | 仙台 | 38.2617 | 140.8967 | 38.9 | 12.8 |
| 秋田県 | 秋田 | 39.7167 | 140.0983 | 6.3 | 12.1 |
| 山形県 | 山形 | 38.2550 | 140.3450 | 152.5 | 12.1 |
| 福島県 | 福島 | 37.7583 | 140.4700 | 67.4 | 13.4 |
| 茨城県 | 水戸 | 36.3800 | 140.4667 | 29.0 | 14.1 |
| 栃木県 | 宇都宮 | 36.5483 | 139.8683 | 119.4 | 14.3 |
| 群馬県 | 前橋 | 36.4050 | 139.0600 | 112.1 | 15.0 |
| 埼玉県 | 熊谷 | 36.1500 | 139.3800 | 30.0 | 15.4 |
| 千葉県 | 千葉 | 35.6017 | 140.1033 | 3.5 | 16.2 |
| 東京都 | 東京 | 35.6917 | 139.7500 | 25.2 | 15.8 |
| 神奈川県 | 横浜 | 35.4383 | 139.6517 | 39.1 | 16.2 |
| 新潟県 | 新潟 | 37.8933 | 139.0183 | 4.1 | 13.9 |
| 富山県 | 富山 | 36.7083 | 137.2017 | 8.6 | 14.5 |
| 石川県 | 金沢 | 36.5883 | 136.6333 | 5.7 | 15.0 |
| 福井県 | 福井 | 36.0550 | 136.2217 | 8.8 | 14.8 |
| 山梨県 | 甲府 | 35.6667 | 138.5533 | 272.8 | 15.1 |
| 長野県 | 長野 | 36.6617 | 138.1917 | 418.2 | 12.3 |
| 岐阜県 | 岐阜 | 35.4000 | 136.7617 | 12.7 | 16.2 |
| 静岡県 | 静岡 | 34.9750 | 138.4033 | 14.1 | 16.9 |
| 愛知県 | 名古屋 | 35.1667 | 136.9650 | 51.1 | 16.2 |
| 三重県 | 津 | 34.7333 | 136.5183 | 2.7 | 16.3 |
| 滋賀県 | 彦根 | 35.2750 | 136.2433 | 87.3 | 15.0 |
| 京都府 | 京都 | 35.0133 | 135.7317 | 40.8 | 16.2 |
| 大阪府 | 大阪 | 34.6817 | 135.5183 | 23.0 | 17.1 |
| 兵庫県 | 神戸 | 34.6967 | 135.2117 | 5.3 | 17.0 |
| 奈良県 | 奈良 | 34.6733 | 135.8367 | 102.1 | 15.7 |
| 和歌山県 | 和歌山 | 34.2283 | 135.1633 | 13.9 | 16.9 |
| 鳥取県 | 鳥取 | 35.4867 | 134.2383 | 7.1 | 15.2 |
| 島根県 | 松江 | 35.4567 | 133.0650 | 16.9 | 15.2 |
| 岡山県 | 岡山 | 34.6850 | 133.9250 | 5.3 | 15.8 |
| 広島県 | 広島 | 34.3983 | 132.4617 | 3.6 | 16.5 |
| 山口県 | 下関 | 33.9483 | 130.9250 | 3.3 | 17.0 |
| 徳島県 | 徳島 | 34.0667 | 134.5733 | 1.6 | 16.8 |
| 香川県 | 高松 | 34.3183 | 134.0533 | 9.4 | 16.7 |
| 愛媛県 | 松山 | 33.8433 | 132.7767 | 32.2 | 16.8 |
| 高知県 | 高知 | 33.5667 | 133.5483 | 0.5 | 17.3 |
| 福岡県 | 福岡 | 33.5817 | 130.3750 | 2.5 | 17.3 |
| 佐賀県 | 佐賀 | 33.2650 | 130.3050 | 5.5 | 16.9 |
| 長崎県 | 長崎 | 32.7333 | 129.8667 | 26.9 | 17.4 |
| 熊本県 | 熊本 | 32.8133 | 130.7067 | 37.7 | 17.2 |
| 大分県 | 大分 | 33.2350 | 131.6183 | 4.6 | 16.8 |
| 宮崎県 | 宮崎 | 31.9383 | 131.4133 | 9.2 | 17.7 |
| 鹿児島県 | 鹿児島 | 31.5550 | 130.5467 | 3.9 | 18.8 |
| 沖縄県 | 那覇 | 26.2067 | 127.6867 | 28.1 | 23.3 |
※ 埼玉県は熊谷、滋賀県は彦根、山口県は下関を使用しています。 本表は気象庁の公開データを本記事用に抽出・整形したものです。
12. まとめ
- 全国47地点では、緯度と年平均気温に強い負の相関が見られた
- 緯度だけの式では、緯度が1度高くなるごとに年平均気温が約0.87℃低下した
- 緯度だけのモデルでもR²は0.935、1地点ずつ除外した平均誤差は約0.48℃だった
- 標高を加えると、長野の予測誤差は約2.1℃から約0.3℃へ縮小した
- 緯度・標高・経度の3変数モデルでは、1地点ずつ除外した平均誤差が約0.36℃まで小さくなった
- 外れた地点を調べることで、地形・海洋・都市化など次に検討すべき要因が見えてくる
「北ほど寒い」という感覚は、実測データでもはっきり確認できました。 しかし、散布図には長野や甲府のように、単純な直線では説明しきれない地点も現れます。 回帰分析では、式を作って終わりにせず、予測から外れた理由を考えることが重要です。
まずは緯度と気温の散布図を作り、次に予測値や残差を重ねてみてください。 実測値から仮説を立て、変数を追加し、予測がどう変わるかを確認する流れを体験できます。
データ出典・計算条件
- 気象庁「平年値ダウンロード」 — 地上気象観測月・年別平年値(1991~2020年)
- 気象庁「観測概要と観測所一覧」 — 観測地点の緯度・経度・標高
- 気象庁「平年値の更新について」 — 平年値の定義と2020年平年値の統計期間
データ取得日:2026年8月31日。回帰係数、R²、平均絶対誤差は、上記データから本記事で計算しました。 表示値は読みやすさのため丸めています。