間もなく桜の季節ですね。全国各地の桜の開花日予測もすでに出ていますが、これらはどのようにして予測しているのでしょうか。実際にそれをやって見ましょう、というチュートリアルが以下にあります。つい最近(2018-2-26)のIBM Developer Worksの記事です。
Data Science Experience で始めるデータ分析
(クラウド上で使える分析環境を用いて、データの可視化や予測を行う方法)
https://www.ibm.com/developerworks/jp/analytics/library/ba-data-science-experience/この記事での注目点は、IBM Cloudから無料で、Data Science Experience (DSX)というデータ分析、予測、可視化に必要な環境が使えることです!機械学習のためのscikit-learnや、それに必要なデータ形式を作成するpandas、可視化のためのBrunelなど含まれています。
このチュートリアルでは、開花のモデルを、全国53都市における過去10年間の気象情報(温度等)と桜の開花日の記録を利用して作成し、scikit-learnで学習と予測のやりかたを丁寧に説明しています。私も実際に追試行してみて、たいへんよい題材でありすばらしい解説だと感じました。
開花のモデルが、予測精度を決めると言ってもよいでしょう。開花を促す条件としては、「春先に気温が高くなっていること、冬の間に低い気温にさらされていたこと」などが知られています。それを具体化するため、一定期間の最高気温の移動平均、2月と3月の平均気温の累積値、1月の平均気温等を求めます。それらと実際に開花した月日との対応をつけたモデルを作ります。2007年〜2016年までの期間、それらを学習させます。約10万件のデータです。そして、その学習結果に、2017年のデータを入れて、2017年の桜の開花日を予測しています。
まず、2017年の全国の桜の実際の開花日をマップ上に示しています。
2017年の全国の実際の桜の開花日(拡大して見て下さい)
そして次に、上記方法で予測された開花日と実際との差違を示しています。
2017年の桜の開花日の予測と実際との差(拡大して見て下さい)
(正の日数は予測が実際よりも早かったことを示す)
上記の開花モデルは、かなり妥当と言えますが、それでもひとつのモデルに過ぎません。上記の差違の状況から、さらに修正した開花モデムルも検討できるのではないでしょうか。
このData Science Experience (DSX)は、自分で高性能PCを持っていなくても、また、機械学習やAIの具体的なことを知らなくても、十分なしっかりしたデータを持っていれば、自分に必要な分析や予測を、容易に行える素晴らしい環境だと言えるでしょう。