y_kawasakiです。今回も無事、Blogを書くタイミングで所属名が変わってます。これで、今までの投稿ですべて違う、所属名(≠所属)で記事を書いています。やりたいこと例えば、imp数の監視をしたいということがあると思います。imp数は季節トレンド(例えば、時間帯や曜日に応じての変化)、さらには、長期トレンド(例えば人気記事の追加など)、さらに突発的な変化があります。そこで、それらを分解して監視すれば、突発的な変化なのか、実はトレンドの変化なのかということが追えるはずです。日間移動平均を取ってやります。いくつにするかがミソです。短いと、何のトレンドを取っているのかわからなくなります。長いと、追従に時間がかかりすぎてしまいます。適当にいい塩梅にエイヤッと決めればいいと思います。グリッドサーチ的にいろいろ試してみるのもありだと思います。季節トレンド季節と言っていますが、別に季節でなくても、曜日でも時間でもいいです。imp数から、長期トレンドを除いたものを、FFTとか使ってかっこよく周期を求めてもいいのですが、どうせ、時間帯に依存していることは、データを見れば一目瞭然だったので、ここでは、時間を季節トレンドとして、分離します。回の同じ時間の平均を求めてあげます。いくつにするかがミソです。長期トレンド程は感覚的には効きませんので、適当でOKです。残差imp数から、長期トレンドを引いて、季節トレンドを引いたものを残差とします。これが、毎回の変動になります。ここまで求めれば、この残差が大きすぎるとか、小さすぎるとかで異常があるとか判定すれば良さげな感じになる気がします。平均と標準偏差で2σを超えたらアラートをあげるとか、確率分布に変換して、信頼区間を求めてその範囲外になれば、アラートをあげるとか。この辺はお好みに応じて、いろんな手法をやればいいと思います。実際に適用するとこんな感じ。やってみてパラメータの調整にいろいろ手こずりました。捕捉率はいいのですが、オオカミ少年になってしまってた時期がありましたが、最近は安定して運用できています。モデル自体は超簡単なので、実装も簡単でした。ちなみに、scikit-learnにもあるのですが、移動平均が、前方移動平均ではなかったので、若干使いづらく、自前実装しました。状態空間モデルということで、カルマンフィルターを使うということも検討したのですが、あまり結果は良くなく、単純な方法での実装に落ち着きました。ちなみに、Rだとdecompose関数でやれたりします。今後の課題このモデルだと祝日が考慮されていませんので、本当は、考慮したいところです。障害が発生した場合は、トレンドから抜くとかの処理もしたいのですが、現状やっていません。やっていなくてもそれなりにうまいこと動いているので、これはこれでいいのかなぁと思っています。初めまして、3/5から1週間インターンとしてお世話になりましたt...2014-10-14PHPのジェネレータを使おうこんにちは。Are青山のアドテク会社。アドネットワークやDSPを開発・運用。サーバを止めてみたよ。インターン:実業務体験編インターンでCTR予測をしましたSearchArchiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。