Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第31回TokyoR LT資料

8,664 views

Published on

  • Be the first to comment

第31回TokyoR LT資料

  1. 1. Tokyo R LT「RでARIMAの話」2013/6/1 @ニフティ株式会社
  2. 2. 誰?名前           伊藤 徹郎 (@tetsuroito)所属株式会社ALBERT データ分析部好きなものサッカー、スキー、オレオ!
  3. 3. 株式会社ALBERTについて私たちは「分析力をコアとする情報最適化企業」です!ALBERTの事業領域CRMソリューションの開発・提供レコメンドエンジンの開発・提供行動ターゲティング広告システムの開発・提供データサイエンティスト、エンジニア大募集中です!一緒にデータサイエンスしませんか?
  4. 4. では、本題
  5. 5. こういうことありますよね?最近、我が社の売上が下がってんだよねー。君、ちょっとこの先どうなるか予測してみてくれよ。
  6. 6. いきなり、そんなん言うなよ。そんなことより‥)ryとりあえず、あれだろARIMAだろ!担当者
  7. 7. 時系列分析ってありましたよね!あの濱田さんもやってた!
  8. 8. 時間がないので、詳細は省きます
  9. 9. 関数arimaでちょろいもんだん‥?引数どうしたらええんや‥
  10. 10. ARIMAモデルが職人芸と言われる所以先ほどの自己回帰係数p,差分の階数d,移動平均の次数qこの引数設定を誤ると、すぐ収束してしまい、予測が意味をなさないものになります。
  11. 11. 正統派のアプローチ
  12. 12. でも、そんな探索してる暇ないですよねめんどくせぇ!
  13. 13. そんな人に朗報!パッケージforecast内のauto.arimaという関数これを使うと、自動的に複数パターンの情報量基準を試行錯誤してくれて、正しいモデル選択ができちゃう!
  14. 14. 関数紹介auto.arima(x,ic=”aic”,trace=T,stepwise=T,start.p=0,start.q=0,start.P=0,start.Q=0)ic:情報量基準(aicかbic)trace:ARIMAモデルの各引数の過程を見るstepwise:ステップワイズ(変数選択)start.○:ステップワイズ時のスタート引数※p,q=max(2),P,Q=max(5)
  15. 15. というわけで、シミュレーション正解モデルを作ります。set.seed(1)d<-arima.sim(n=200,model=list(order=c(2,0,2),ar=c(0.2,0.7),ma=c(0.7,0.3)),sd=sqrt(1))(p,d,q)=(2,0,2)が選択されれば正解です。
  16. 16. やってみた!ステップワイズ過程当たったで!
  17. 17. 予測auto.arima関数によって推定されたARIMAモデルを用いてpredictすればOK!
  18. 18. ミッション終了!ただの高校生‥ry)HAPPY ENDING
  19. 19. でも、なんかバグっぽいのもあるさきほどはうまくモデルを推定できたのですが、データによってはstepwiseでBestModelに選定されたものと、stepwiseをFalseにしておいて、全てを探索的に回した時のBestModelが異なるという状況が発生します。(経験談)※つまりaicがBestよりも低いものがある!この原因が不明‥(誰かわかりますか?)
  20. 20. あと‥start.○:ステップワイズ時のスタート引数※p,q=max(2),P,Q=max(5)引数上限があるので、引数が6以上の場合のモデルを推定したい場合は、先ほどの正統派アプローチを取った方がよさそうです。
  21. 21. 最後にもっと時系列解析とか深めたい人は‥@horihorioさんの資料いいよ!
  22. 22. 最後に大事なのでもう1回言いますあっ!
  23. 23. データサイエンティスト、エンジニア大募集中です!一緒にデータサイエンスしませんか?
  24. 24. おわりご清聴ありがとうございました!

×