AIの技術を利用して、東京を対象にある時刻の24時間前までの毎正時の気温等の気象データの時系列情報から、24時間先までの毎正時の気温を予測します。予測に利用する24時間前までの毎正時の気象データは、以下の4ケースを想定しました。
ケース1:気温のみ
ケース2:気温と気圧
ケース3:気温と風向・風速
ケース4:気温と気圧と風向・風速
学習は1991年1月1日~2019年12月31日の29年間分のデータを用いて、1時間ずつずらしながら、ケース1であれば24時間の気温の時系列のインプットデータとその後の24時間の気温の時系列のアウトプットデータを1セットとして読み込んで行っていき、学習モデルを作成します。29年間で254,160セットのデータを学習することになります。検証は学習には用いていない2020年1月1日~2020年12月31日のデータで行いました。
利用したAIの技術は「seq2seq」というものです。「seq2seq」は機械翻訳や音声認識の分野で力を発揮している技術で時系列データに強い特徴を持ちます。(ここではその詳細については触れませんので、興味のある方は検索するなどしてください。)そこで、過去の時系列情報から将来の時系列情報を予測する意味合いで気温の時系列予測に適用しようと試みました。
学習は初期乱数の違いでモデルが異なることから、それぞれのケースで異なる乱数により5セットを行い、5セットの学習モデルを作成し、その作成した学習モデルで2020年のデータを検証を行い、最も実測値との誤差が小さいモデルを採用することとしました。誤差の評価関数はRMSE(Root Mean Square Error)を用いています。実測値と予測値が完全に一致していればRMSEは0となり、RMSEの値が小さいほど誤差は小さく、良いモデルといえます。
ケース1~4の検証の事例として、2020年7月6日5時~7月7日4時の24時間の毎正時の気温等の時系列データから2020年7月6日5時~7月7日4時の24時間の毎正時の気温の時系列データを予測した結果を冒頭の図に示します。図中には参考までに1991年~2019年の29年間の同日同時刻の平均値とも比較しています。
このように気象データの連続性を学習することで、日時を特に指定しなくとも事前の24時間の気象データの推移から、24時間後までの毎正時の気温を予測することができます。この事例では、ケース1の「気温のみ」では実測値からやや外れていますが、ケース2:「気温と気圧」、ケース3の「気温と風向・風速」、ケース4の「気温と気圧と風向・風速」では、実測値とまあまあ整合しているといえます。
ケース1~4の学習モデルによる2020年の1年間の検証データの結果について、全データの予測値と実測値とのRMSEは、以下のとおりとなりました。比較のため、1991年~2019年の29年間の同日同時刻の平均値とのRMSEも併せて示しています。
表 東京での2020年の検証データによる気温の実測値とのケース別RMSE(℃)
ケース1:気温のみ | ケース2:気温+気圧 | ケース3:気温+風向・風速 | ケース4:気温+気圧+風向・風速 | 29年間平均値 |
2.408 | 2.232 | 2.215 | 2.264 | 3.162 |
AIによる予測値は29年間の平均値よりRMSEが小さくなっており、いわゆる気候値よりは良い結果は得られていますが、劇的に小さいというほどではありません。ケース別にみると、気温単独よりは気温と他の項目の観測値と併せた学習モデルの方がRMSEは小さめとなっています。
もっと詳細に1~24時間後のRMSEをみると次のようになります。
表 東京での2020年の検証データによる気温の実測値とのケース別のN時間後のRMSE
N時間後 | 気温のみ | 気温+気圧 | 気温+風向・風速 | 気温+気圧+風向・風速 | 29年間平均 |
1 | 0.731 | 0.714 | 0.756 | 0.795 | 3.161 |
2 | 1.094 | 1.036 | 1.090 | 1.086 | 3.161 |
3 | 1.385 | 1.309 | 1.351 | 1.368 | 3.161 |
4 | 1.652 | 1.538 | 1.565 | 1.605 | 3.162 |
5 | 1.866 | 1.718 | 1.745 | 1.779 | 3.162 |
6 | 2.043 | 1.876 | 1.890 | 1.924 | 3.162 |
7 | 2.181 | 2.006 | 1.998 | 2.040 | 3.162 |
8 | 2.289 | 2.110 | 2.080 | 2.130 | 3.162 |
9 | 2.378 | 2.197 | 2.145 | 2.208 | 3.162 |
10 | 2.446 | 2.272 | 2.202 | 2.276 | 3.162 |
11 | 2.503 | 2.339 | 2.256 | 2.339 | 3.162 |
12 | 2.553 | 2.393 | 2.303 | 2.394 | 3.162 |
13 | 2.598 | 2.439 | 2.344 | 2.441 | 3.161 |
14 | 2.640 | 2.475 | 2.386 | 2.480 | 3.161 |
15 | 2.676 | 2.501 | 2.428 | 2.512 | 3.161 |
16 | 2.710 | 2.521 | 2.463 | 2.541 | 3.161 |
17 | 2.739 | 2.536 | 2.494 | 2.568 | 3.161 |
18 | 2.761 | 2.547 | 2.521 | 2.592 | 3.161 |
19 | 2.778 | 2.556 | 2.548 | 2.610 | 3.161 |
20 | 2.789 | 2.565 | 2.576 | 2.624 | 3.162 |
21 | 2.800 | 2.575 | 2.604 | 2.636 | 3.162 |
22 | 2.815 | 2.585 | 2.634 | 2.641 | 3.162 |
23 | 2.830 | 2.598 | 2.663 | 2.644 | 3.162 |
24 | 2.848 | 2.636 | 2.700 | 2.675 | 3.163 |

予測する時間が先になるにつれて、RMSEの値が次第に大きくなり29年間の平均値に近づいていきます。どのケースもRMSEが1℃未満となるのは1時間後、1.5℃と未満となるのは3時間後でした。1~5時間後はRMSEの増加率が大きいです。
コメント