全4683文字
PR

 コンサルティングファームで働く現役データサイエンティストの視点から、ビジネスに使える最新のアルゴリズムを選んで紹介する本特集。今回は「時系列分析」で有用なアルゴリズムを3種類紹介しよう。米Google(グーグル)や米Meta(メタ)が開発した最新の手法がお薦めだ。

■本連載で取り上げるアルゴリズム10選
分類アルゴリズム取り上げる回
教師なし学習k-means第1回
教師なし学習主成分分析第1回
教師なし学習潜在クラス分析第1回
教師あり学習LightGBM第2回
教師あり学習ベイズモデリング第2回
因果推論Causal Forest第2回
時系列分析Prophet今回
時系列分析ベイズ構造時系列モデル今回
時系列分析Temporal Fusion Transformer今回
最適化計算混合整数最適化第4回

時系列分析

 ビジネスでデータサイエンスを活用するシーンとして、過去データを使って将来を予測するタイプの問題がある。商品販売数や店舗売上高など、折れ線グラフを使って表現するようなデータ(時系列データ)に基づいた時系列分析だ。過去の販売データに基づいて翌月の発注量を決めたり、3年後など中長期の計画を策定したりするのに使う。今回は、この時系列分析に活用しやすい3つのアルゴリズムを見ていこう。

Prophet

ポイント評価
簡便性★★★
汎用性★★★
データ取得性★★☆
可読性★★☆

 「Prophet」はFacebookを運営するメタが開発した時系列分析のアルゴリズムである。同社が2017年にProphetのソフトウエア(Python用とR用ライブラリーがある)をオープンソースソフトウエア(OSS)として公開して以来、時系列予測の分野で急速に広まった。今では「デイリーデータ(1日単位で記録されるデータ)の時系列分析には基本的にProphetを使う」と言っていいほど普及している。

Prophetのデータへの当てはめ。青色が予測値、黒色が実測値
Prophetのデータへの当てはめ。青色が予測値、黒色が実測値
(出所:Prophet公式ドキュメント「Quick Start」、https://facebook.github.io/prophet/ )
[画像のクリックで拡大表示]

 Prophetは、ベイズ統計における推定方法に基づいてデータを自動的に構造化する。下図は時系列データを構造化して分解した例だ。

Prophetで時系列データを構造化して分解した例
Prophetで時系列データを構造化して分解した例
(出所:Prophet公式ドキュメント「Quick Start」、https://facebook.github.io/prophet/ )
[画像のクリックで拡大表示]

 最初のグラフでは、中⻑期的なトレンドに基づいてデータが分解されている。直近ではトレンドは減少傾向にあり、今後も減少が続く見込みだと予測している。第2と第3のグラフは周期性に基づいてデータを分解したものだ。第2のグラフでは曜日による周期性を、第3のグラフでは週次や月次など季節的な周期性を考慮してデータを構造化している。

 単に予測結果だけ出力するのではなく、予測根拠を説明する機能もある。データサイエンティストではない現場のビジネスパーソンが納得できる分析結果を提示しやすい。

 Prophet最大の特徴は、その使いやすさにある。従来の時系列予測では「職人芸」と呼ばれるほど繊細な設定が必要なことが多かったが、Prophetはそうではない。Prophetが内蔵するデフォルトの設定が優れているため、たいていの日次データにうまく適合可能だ。Prophetにおける学習や予測も10行以下のコードで実行できる。そのため「まずは手持ちの時系列データで何かを予測してみたい」場合に、最もお薦めできるアルゴリズムだ。

 Prophetで売上高を予測する場合、分析の基にできるのは過去の商品売上高データだけではない。「その商品に関連する広告費」など売上高データ以外の「外部データ」も利用可能だ。分析できる幅はとても広い。よほど奇抜なデータでない限り、日次データであればほとんどの場合で安定して良い成果が得られるはずだ。ただし広告費のような外部データを取り入れると、可視化がやや難しくなる場合がある。

 用意するデータは日次データでありさえすればよいので、ほとんどの企業が何らかの形でProphetを活用できるだろう。ただし時系列予測において難しいのは、予測に使う外部データ(広告費など)については、将来の値も分かっている必要がある点だ。例えば過去の売上高データから、売上高が雨に依存すると分かったとする。ところが将来の天候データは正確には分からないため、時系列予測には使えない。天気予報が公開されているとはいえ、1週間後あたりから急速に精度が悪化するためだ。

 したがって、将来予測に用いる外部データは、広告費など自社の意思で決められるデータを選ぶのが適切だろう。政府や金融機関などが公開している長期予測データを使う手もある。