コラム

桜開花予想に用いる「600度の法則」を検討する

2017年4月24日:JMPシステムエンジニア

はじめに

2017年、東京では3月21日に桜が開花しました。

一年に一度、この時期にしか見られないという希少感があり、ふらふらと桜を見に行きますが、程よい幻想的な感覚につつまれる心地がとても良かったりします。

ところで、この記事のタイトルにある、桜の開花予想に用いる「600度の法則」をご存知でしょうか?これは、桜の開花日を予測するための、非常に簡便でそれなりに精度が高い方法なのです。

その法則とは、「その年の2月1日以降の最高気温を足し算していき、累積温度が600度を超えた日に桜が開花する」というものです。ちなみに、平均気温の累積温度が400度を超えた日という法則もあります。

以前にこの法則を知ったとき、桜の開花にはさまざまな要素が関連するはずなのに、非常にシンプルで分かりやすい予測方法だなあ、と思いました。
テレビやインターネットの天気予報で、1週間後までの予想最高気温を知ることができるので、大体の開花日を予想できてしまうわけです。

ちなみに、2017年の東京において、2月1日からの累積最高気温が初めて600度を超えたのは3月20日です。実際の開花日は3月21日だったので、誤差は1日しかありませんでした。

では、他の年の予測はどうだったのでしょうか。

そう思い、気象庁のホームページから過去30年間(1988年~2017年)の気温データを入手し、調べてみました。

桜の開花日と気温の関係をグラフに

図1は、東京における2月1日から実際の開花日までの累積最高気温を年ごとに算出し、折れ線グラフで結んだものです。下にある棒グラフは、2月1日から開花までに要した日数を示しています。

折れ線グラフでは、ちょうど600度のところに点線を引いていますが、その値を超えている年が多く、開花日における累積最高気温の30年間の平均値は、約628度です。
ということは、実際に開花した日には、すでに600度を超えてしまっている年が多いことが推察されます。

一方で、2013年のように、550度ぐらいで開花している年もあるのが気になるところです。

図2は、開花日と累積最高気温が初めて600度に達した日との間に、何日くらいのずれがあるかを示した折れ線グラフです。

1993年、1997年、2003年、そして2014年は縦軸の値が0なので、実際の開花日と600度に達した日が一致した、つまり予測が正解だった年です。

たとえば、1998年の縦軸の値は「-4」ですが、これは、実際の開花日より4日前に600度に達してしまったことを示しています。実際、1998年の開花日は4月2日ですが、600度に達したのは3月29日で、その差は4日でした。

全体的にみると、0より小さくなっている年が多く、開花日よりも早く600度に達してしまっている年が多いことになります。

JMPのデータテーブル、グラフ、計算式

これらのグラフは、図3のようなJMPデータテーブルを作成し、「グラフビルダー」で作成しています。

累積最高気温を算出するにはいくつかの方法が考えられますが、JMP 13で新たに追加された関数「Col Cumulative Sum() 」が便利です。

図4は、列「最高気温(℃)」に入っている値を年ごとに累積した値を求める計算式です。

図4:累積最高気温を算出する計算式

桜の開花には、冬季の気温が関係しているようです。桜が開花するには、休眠中に低温にさらされている期間が必要で、そのため桜が咲く前の冬が温暖だと桜の開花が遅れるとも言われています。

そこで予測の精度を良くするため、次の2つのことを考えてみます。

  1. 600度よりもっと高い値をしきい値としてみたらどうか?
  2. 前年からの秋や冬の気温を考慮してみたらどうか?

1.  600度よりもっと高い値をしきい値としてみたらどうか?

累積最高気温が600度を超えた日が開花予想日となることを記載しましたが、この「600度」というしきい値を大きくしてみたらどうなるかを考えてみます。

607度など中途半端な数値は指標としては使いづらいため、610度、620度、630度と10度単位で大きくしていき、実際の開花日との誤差を調べたものが図5になります。

しきい値を大きくしていけば、Yの値は+の方向に移動します。濃いピンク色の折れ線は、620度をしきい値としたときのものです。

図6は、誤差の分布を、しきい値が600度、610度、620度、630度のそれぞれについて示したものです。

620度では、誤差の平均はほぼ0になります。すなわち、しきい値を620度にすれば、過去30年間の実際の開花日と開花予想日の誤差の平均が、ほぼ0になります。

しきい値が600度のときの誤差の平均は-1.4なので、平均だけを比較すると予想が正確になっています。ただし、誤差のばらつきを標準誤差で確認すると、600度と620度でほとんど変化はありません。

この結果は、あくまでも過去30年に対してのものであり、将来の予測に使えるかどうかは明確に分かりませんが、

「2月1日からの最高気温を累積して初めて620度を超えた日を、開花予想日とする」

というように変えてみると、予測の精度が上がるかもしれません。

2.  前年からの秋や冬の気温を考慮してみたらどうか

次は、開花したときの累積最高気温と、その前年の秋や冬の気温との関係を調べてみましょう。

「秋や冬の気温」をいつからいつまでの気温としてとらえるか、また使用する数値は最高気温、平均気温、最低気温などのどれがいいのかなど、考慮する点が複数あります。
いくつかのケースを調べたところ、前年10月から1月までの4か月間の最高気温の平均値を用いると、開花したときの累積最高気温との相関が高くなりました。

図7は、縦軸を2月1日から開花までの累積最高気温、横軸を前年の10月から1月までの最高気温の平均値とし、各年の値をプロットした散布図と95%確率楕円です。

プロットには 緑→黒→赤 のグラデーションをつけており、赤色が濃いほど直近の年であることを示しています。

確率楕円の形状や相関係数からも、これら2つの変数に関連があることがわかります。
前年10月から1月までの最高気温が高いほど、桜の開花には(2月1日以降の最高気温として)高い温度が必要になるということです。

図8は、図7を、年ごとの推移をみるために折れ線グラフや平滑線のグラフにしたものです。
上のグラフが2月1日から開花日までの累積最高気温、下のグラフが前年10月から1月までの最高気温の平均です。

上下2つの平滑線をみると、どちらも同じような形状をしていることがわかります。

これらの結果から、桜の開花までの累積最高気温に、前年の秋冬の気温が関連していることがいえそうです。

しきい値の変更と秋冬の気温を用いて

ここまでご説明したように、しきい値を変えるだけでなく、前年の秋冬の気温を使えば予測の精度は上がるのではないかと考えられます。しかし実際には、前年の秋冬の気温の情報まで調べる必要があるのが、予測を行う上で手間になります。

感覚的に「この冬は寒かったなあ」と思ったのであればしきい値を低くする、「暖冬だなあ」と思ったならばしきい値を高くする……といったことも考えられますが、やはり冬の寒さに客観的な基準が必要になってきます。

今回、調査の対象にした過去30年の10月から1月までの最高気温の平均値は、約15.5度です。
この値から、たとえば「10月~1月の最高気温の平均が15.5度未満の年は610度をしきい値に採用する」、「15.5度以上であれば620度をしきい値に採用する」とした場合に、実際の開花日と開花予想日との誤差を示したのが図9です。

図9の左側が、620度をしきい値にしたときの誤差の分布、右側が15.5度でしきい値を場合分けしたときの誤差の分布(条件式による誤差)です。

2つの誤差の分布を比較すると、条件式の誤差は、しきい値を620度に指定したときの誤差に比べ平均的には若干マイナスに大きくなっていますが、標準偏差は小さくなり、実際の開花日と開花予想日がぴったり一致した年が3年から6年に増えています。

正答率でいうと20% (= 6/30)なので、比較的高い率といえるのではないでしょうか。

シンプルな指標での予測

これまでご紹介した以外にも、回帰などのモデル式から予測の指標を作成するなどもできそうです。
しかし、できるだけシンプルで、手間があまりかからず、かつ精度が良い予測方法を考えるのであれば、さらに検討の余地が必要です。

気象予報会社の桜開花予想を素直に見れば、それで良いのではないかというご指摘がありそうですが、自身で予測することにロマンを感じる方もいらっしゃるかもしれません。

この記事を書いている時点では、東京の桜はすでに散り始め、葉桜が多くみられる状況です。
開花を待ちわびているうちは楽しいですが、いったん開花してしまえばあっという間に散ってしまうのが、桜です。

小倉百人一首に

ひさかたの光のどけき春の日にしづ心なく花の散るらむ

という歌がありますが、昔も今も、桜があっという間に散っていく様子は寂しく感じられるものです。
ただ、短いその瞬間に少しでも印象的なイベントがあると、桜と関連付けていつまでも記憶に残るのだろうと感じているこの頃です。