BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Twitterでの予測

Twitterでの予測

原文(投稿日:2013/12/30)へのリンク

Velocity Conf LondonでTwitterのArun Kejariwal氏Twitterで使われている予測アルゴリズムについて話した。予測アルゴリズムはシステムリソースの予測とユーザ数やツイート数などビジネス上の指標の予測に使われている。Twitterのデータストリームのダイナミックさを考慮した場合、磨き直したARIMAモデルは一度予測エラーを検出して、異常値を排除できれば有効に働くということがわかった。

Twitterでの予測の適用可能性の評価は、予測の正確さに加えて、モデルの季節性(例えば、1日の使われ方の循環パターンを調整する)とトレンド(例えば、大規模なスポーツイベントで利用が跳ねる)を扱う能力が重要だ。Twitterは全世界でユーザを増やしてきたため、十分な予測モデルが必要がなければトレンドをとらえることができないのだ。

ユーザが増えるにつれ、ツイートやお気に入り、写真などのビジネス上の指標を予測するのは上述のトレンドと季節性のために重要な事案になっています。線形回帰は役に立ちません。というのは、時系列上の季節性を捉えないからです。この限界を突破するため、一定の時系列でのトレンドと季節性を明確にモデル化し、しっかりとした予測を定期的に生み出すことができるARIMAモデルの利用を探ってきました。

しかし、むやみにARIMAモデルを使っても十分な予測はできない。ARIMAモデルは時系列を複数の短い期間に分割するからだ。ある普通ではない期間に季節性がなかったら、全体の季節性も消えてしまう。さらに、ある期間の境界のデータポイントが異常値の場合、全体の予測も歪んでしまう。最初の予測は分析する必要があり、データの中にはクリーニングしないとより正確で使える予測を生まないものもあるだろう。氏は、異常値を開発チームに伝え、コードの変更が必要かどうかを調査してもらっていると言う。

ARIMAによる予測。下降のスパイク(異常値)が初期にある(Arun Kejariwal氏提供)

ARIMAによる予測。初期に異常値がない(Arun Kejariwal氏提供)


ARIMAに加え、Twitterでは予測したいリソースに応じて、ほかのモデル(Holt-WintersSpline線形回帰)も使っている。氏が言うには、

私たちは多くの予測モデルを調査しています。どのモデルを使うかは文脈依存であり、モデル選択の問題(積極的に研究している分野です)に関わります。
季節性がなければ、線形回帰が望ましいです。相対的には簡単に計算できますから。非線形なドレンドがあるなら、二次モデルが使えます。しかし、トレンドと季節性がある場合は、自明な選択肢はありません。

氏によれば、Twitterの予測は通常、技術的な課題(例えば、インハウスシステムのキャパシティの更新)が原因で数週間先までに限られている。たまに、ビジネス上の指標に対して長い期間の予測をする場合がある(ユーザ数など)。近い将来、スケールの弾力性に対する予測も計画している。

この記事に星をつける

おすすめ度
スタイル

BT