連載
» 2019年04月18日 05時00分 公開

非統計家が高精度な時系列予測を行えるProphet(前編):「Prophet」とは――Facebook製時系列予測OSSは何が便利なのか (1/2)

Facebookが開発した時系列予測のOSSライブラリ「Prophet」が近年注目を集めている。本連載ではProphetの概要と理論的背景、案件で使ってみた経験から得られた知見を紹介する。前編は時系列予測そのものの歴史的経緯とProphetの概要について。

[羽鳥冬星,リクルートテクノロジーズ]

 機械学習の中でも古典的なテーマの一つである「時系列予測(時系列解析、時系列分析)」においては、昔からある「AR(Auto Regression:自己回帰)」モデルから最先端のディープラーニングを用いた「LSTM」(Long Short-Term Memory)までさまざまなアルゴリズムが存在しています。

 それらの中でも近年注目を集めているのが、Facebookが開発した時系列予測のオープンソースソフトウェア(OSS)ライブラリ「Prophet」です。Python実装、R実装が公開されています。

 本連載ではProphetの概要と理論的背景、案件で使ってみた経験から得られた知見を紹介します。「そもそもProphetとは何か」「他の手法との差異は何か」「チューニングのテクニック」「運用で気を付けるべき点」などを紹介しながら、Prophetへの理解を深めることを目的に、2回の連載を予定しています。今回の前編では、時系列予測そのものの歴史的経緯とProphetの概要を紹介します。

 筆者が所属しているリクルートテクノロジーズ データイノベーション推進部では「データ活用技術を駆使することで、リクルート・カスタマー・クライアントの意思決定を進化させ、イノベーションを創出する」というミッションの下、リクルートグループの各事業会社と協業しながらデータマネジメント基盤、BI(ビジネスインテリジェンス)、業務支援ツールやAI/機械学習ソリューションを提供しています。

 その中でも筆者は時系列予測の案件を中心に、データサイエンティストとしての経験を積んできました。時系列予測といっても案件の種類はさまざまであり、事業の短期売り上げ予測や長期の景況指標予測、個社ごとの年間売り上げ推移の予測などといった案件に携わってきました。案件においては主にPoC(Proof of Concept:概念実証)を担当しており、モデリングからシステム実装までのフェーズを実施しています。

 さまざまな時系列予測案件に関わる中で多種多様なアルゴリズムやライブラリに触れてきましたが、近年はProphetを用いる機会が多々あり、そこで得られた知見を紹介できればと思っています。

 従来の時系列予測(時系列分析)の基礎知識を知りたい方は、下記記事を参照してください。

Prophetが求められる背景――時系列予測の難易度

 時系列予測、特に数値の予測は企業の中でも特に重要かつ難しいテーマです。

 筆者が経験した案件でも、P/L(損益計算書)を精緻に管理するための事業の売り上げ予測、3カ年計画などの長期の経営目標を設定するための市場規模予測、広告宣伝費を最適化するためのコンバージョン数の予測など、事業影響が大きいものが、幾つもありました。しかし、時系列予測は学問としての大きな一分野であり、正確かつ安定的な予測を行うためには経験と知識の両方が求められます。これを身に付けるだけでも一苦労ですが、さらに企業の中で時系列予測を行う際にはビジネス理解が不可欠です。

 時系列データは日付と数値のシンプルなデータになることが多いですが、その背後に隠れた構造を把握してモデルに反映するためには、ビジネスを奥深くまで知る必要があります。例えば広告宣伝費のデータであれば多くの場合、広告配信、広告代理店のコスト配分方式、現場のオペレーションの仕組みくらいまでは理解した上でモデリングします。しかし、事業担当者と同じレベルの知識を案件期間中に身に付けることは容易ではなく、いつも苦労するところです。

 時系列予測アルゴリズムの理論的背景を熟知し、なおかつビジネスにも強い人材はなかなかいないので、時系列予測のプロジェクトは難易度が上がる傾向にあるように思います。その難易度を下げる手助けとなり得るのがProphetです。

 Prophetの特長は幾つかありますが、「とにかく使いやすい」というところが一番の利点だと思います。日付と目的変数の2カラムからなるcsvを読み込めば、少しコードを書くだけで予測値を得ることができます。入出力は非常にシンプルです。

 時系列予測の経験がなくてもPythonかR言語を使っている人であれば、取りあえず動かすという意味ではそこまで苦労はないと思います。また、細かくチューニングをしなくても高品質なアウトプットを得られることが多く、統計や機械学習の知識がなくても、高精度な時系列予測が可能です。

 このようなことから、個人的にはProphetを「非統計家が高精度な時系列予測を行えるようになるためのツール」といえると思っています。これを可能にするための理論的背景は「Forecasting at Scale」(PDF)という論文にまとめられています。本稿においても、こうした予測の仕組みは後の章で紹介します。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。