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

More Related Content

第31回TokyoR LT資料