計量時系列分析の
立場からビジネスの現場
のデータを見てみよう
株式会社リクルートコミュニケーションズ データサイエンティスト
尾崎 隆 (Takashi J. OZAKI, Ph. D.)

2013/10/19

1
一応、自己紹介を…
尾崎 隆 (Takashi J. OZAKI, Ph.D.)
 “J”に深い意味はありません
 学者だった頃に同業界にT. Ozakiさんがいたので
 と思ってJをつけたら、別業界にT. J. Ozakiさんが…

2013/10/19

2
一応、自己紹介を…
 前職は「脳科学者」(認知神経科学者)でした

(Ozaki, PLoS One, 2011)

2013/10/19

3
一応、自己紹介を…

 こういうキャリアをたどっております
 1997~2001年

東京大学工学部計数工学科
(※情報工学系)

 2001~2006年

東京大学大学院新領域創成科学研究科
修士&博士課程(脳科学)

 2006~2011年

理化学研究所脳科学総合研究センター
研究員(脳科学)

 2011~2012年

東京大学教養学部 特任研究員(心理学)

 2012年4月

慶應義塾大学医学部 特任助教(産学連携)
※30代のうちにポスドク問題を乗り切ることは
事実上不可能と判断して、キャリアチェンジに
打って出ることを決心

 2012年6月

株式会社サイバーエージェント

 2013年7月

株式会社リクルートコミュニケーションズ

2013/10/19

4
一応、自己紹介を…

 こういうことをしていました
 2003~2006年

機能的MRIを用いたヒト脳研究
(有力なノーベル賞候補として知られ、
機能的MRIを発明した小川誠二先生
の研究所にて研修生として共同研究を
していました)

 2006~2011年

脳信号に対する計量時系列分析を用いた
ネットワーク解析

 2011~2012年

脳信号に対する上記ネットワーク解析+
SVMを用いた脳活動分類

2013/10/19

5
一応、自己紹介を…
 今は…

2013/10/19

6
予めお断りを:このトークでは…
 細かい数理的基礎の話はしません

 細かい用語の話もたぶんしません

 状態空間系はまだ勉強中なのでご勘弁を(汗)

 話が長くなりそうになったらデータの捉え方の話を優先して残り
はスキップします

 何はともあれ細かい話についてはブログをお読みください(笑)
2013/10/19

7
ということで、本題に入りましょう。

2013/10/19

8
お品書き
 なぜ計量時系列分析なのか?
 意味ありげな時系列を見極めよう
(定常性・自己相関・分散不均一性)
 今この瞬間の「勢い」を見る(ARIMAモデル)
 向こう1ヶ月のCV数を予測してみよう(VARモデル)
 テレビCMなどのオフライン広告の売上高への効果が知りたい
(Granger因果、インパルス応答)
 何が課金UUを減らしてしまったのか?(マルコフ転換モデル)
2013/10/19

9
なぜ計量時系列分析なのか?

2013/10/19

10
なぜ計量時系列分析なのか?

 機械学習などユニークユーザー(UU)ベースでのデータ分析は

「全データ同士の関係性が分かっている」全数
データを扱う時に威力を発揮する

 多変量解析など静的なクロスセクションデータに対するデータ
分析は、「時間経過に対して一定」なデータを扱うべき
とされる

2013/10/19

11
なぜ計量時系列分析なのか?
 でも実際には、マーケティングの現場では

「時間変化する上に互いの関係性が分からない
データ」も数多い(e.g. CM効果、自然流入、景況…)

 後者に対処するには、悉皆的なクロスセクションデータよりも、あ
る程度まとめられた時系列データを分析しに行った方が、情報
量も多くて予測・推定精度の向上を狙いやすい

 さらに、そのような社会科学的なデータは自然科学的なデータ
にはない様々な「クセ」があって扱いが難しい
 自己相関、分散不均一性、同時性(今回は割愛)…

2013/10/19

12
なぜ計量時系列分析なのか?

 Webマーケの世界はどんどんO2Oの世界に近付き、

「全数データは取れないが時系列トレンドぐらい
なら分かる」というデータにいつか囲まれるようになるはず

 そこで計量時系列分析使いましょうよ!というお話

2013/10/19

13
そこで、今回のお題がこちら

2013/10/19

14
意味ありげな時系列を見極めよう
(定常性・自己相関・分散不均一性)

2013/10/19

15
定常性、簡単に書くと…

定常性=平均回帰性

2013/10/19

16
平均回帰しているケース

ARIMA(2,0,1)過程
ある一定ラインに戻る性質(平均回帰性)
2013/10/19

17
平均回帰していないケース

ARIMA(1,1,2)過程
和分過程で平均回帰性がない…
2013/10/19

18
自己相関、簡単に書くと…

自己相関=時系列データが
自分の過去の値からどれくらい
影響を受けているかの指標

2013/10/19

19
先ほどの平均回帰「している」ケースでは…

自分自身の1時点前ぐらいまでしか遡って相関しない
2013/10/19

20
先ほどの平均回帰「していない」ケースでは…

際限なく遡って相関する…
2013/10/19

21
分散不均一性、簡単に書くと…

分散不均一性=分散が時間軸に
沿って一定していない

2013/10/19

22
分散が均一っぽいケース

2013/10/19

23
分散が均一っぽくない(不均一な)ケース

分散の仕方がそもそも時間ごとにばらついている…
2013/10/19

24
今この瞬間の「勢い」を見る
(ARIMAモデル)

2013/10/19

25
ARIMA(自己回帰和分移動平均)モデルとは
 ARIMA(p,d,q)過程について

 自己回帰和分移動平均過程

 (p,d,q)という次数と係数について





p: AR(自己回帰)次数
d: I(和分)次数
q: MA(移動平均)次数
最小二乗法(OLS) or 最尤法で推定、
モデル選択はAICなどの情報量基準で

 時系列モデリングの基本

 自分自身の過去の値への回帰
 ホワイトノイズの線形和
…で、何とかして目の前にある時系列をモデリングする
(uniqueな解析解ではない点に注意が必要)

2013/10/19

26
ARIMAでは「予測」ができる
> plot(forecast(stock2.arima,level=c(50,95),h=100))
○○%信頼区間

2013/10/19

予測区間長

27
それは本当に「予測」なの?

 ぶっちゃけ、「予測」なんてまずできない
 何をどう言おうと過去のデータを見ているだけ
 他に何か説明変数を見ているわけでもない

 むしろ「今までのデータから今この瞬間を表すモデルが手に入っ
た」と見た方が妥当なのでは?

2013/10/19

28
むしろ「今この瞬間の勢い」として見てみよう

意外と下げ止まるかも?

2013/10/19

29
向こう1ヶ月のCV数を予測してみよう
(VARモデル)

2013/10/19

30
VAR(ベクトル自己回帰)モデル:多変量時系列
 VAR(p)過程について
 ベクトル自己回帰過程

 次数pと係数について
 ただOLSを連立すれば求まる(AICで次数選択)

 多変量時系列モデリングの基本
 AR過程を並べるだけで変数いっぱい
 だいたいの多変量時系列はこれで十分表現できる

2013/10/19

31
互いに「関連していそうな」時系列を並べて予測してみる

何となくそれっぽく予測できている様子が分かる

2013/10/19

32
テレビCMなどのオフライン広告の
売上高への効果が知りたい
(Granger因果、インパルス応答)

2013/10/19

33
新規UU数

GRP(CMコスト)

例えば、GRP(CMコスト)と新規UU数の関係を考える

2013/10/19

34
「因果関係」が知りたい

 ある時系列Aに対して、別の時系列Bを説明変数として加えて
やるとAのMSEが減少する「BからAへのGranger因果」

 Bに単位ショックを与えた時にAに生じる応答をモデル化する
「BのAに対するインパルス応答関数」

2013/10/19

35
Granger因果:シンプルに因果関係を見る

> causality(zd.var,cause="x")
$Granger

Granger causality H0: x do not Granger-cause y
data: VAR object zd.var
F-Test = 10.2795, df1 = 6, df2 = 140, p-value = 2.038e-09
GRPは新規UUの変動に影響を与えている

$Instant
H0: No instantaneous causality between: x and y

data: VAR object zd.var
Chi-squared = 1.8181, df = 1, p-value = 0.1775

2013/10/19

36
インパルス応答関数
コレスキー分解からBに単位ショックが加わった時の
Aの応答をモデリングする(制御工学の世界で使われる
ものと基本的なところでは同じ)

2013/10/19

37
インパルス応答関数を使って簡単な予測モデルも作れる

※GRPは事前に計画的に決まっているケースが多いため
2013/10/19

38
(余談:見せかけの回帰と共和分)

2013/10/19

39
単位根
 単位根過程
 教科書通りに言えば、「原系列は非定常だが差分系列が定常
過程になる」もの、つまり

が定常過程になるというケース
 AR特性方程式がz = 1なる解を1つだけ持つので「単位根」
 ホワイトノイズを1階和分して得られるのがランダムウォーク

 単位根検定
 ADF検定 or PP検定という手法が有名
 対立仮説が「定常過程である」なのでp > 0.05の時に単位根
過程だと判定されるので要注意

2013/10/19

40
見せかけの回帰
適当なランダムウォークで株価時系列2を線形回帰してみると…
> xrw<-cumsum(rnorm(390)) ただのランダムウォーク
> summary(lm(stock2~xrw))
Call:
lm(formula = stock2 ~ xrw)
Residuals:
Min 1Q Median 3Q Max
-879.89 -185.61 -5.68 218.59 698.09
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1992.457 23.798 83.72 <2e-16 ***
xrw -40.543 2.111 -19.20 <2e-16 *** 何じゃこりゃ!!!
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 264.8 on 388 degrees of freedom
Multiple R-squared: 0.4873, Adjusted R-squared: 0.486 あり得ない!!!
F-statistic: 368.8 on 1 and 388 DF, p-value: < 2.2e-16
2013/10/19

41
見せかけの回帰
株価時系列2と今回用いたランダムウォークをプロットしたもの

2013/10/19

42
見せかけの回帰
 見せかけの回帰
 単位根過程同士を線形回帰すると、たとえ実際には互いに全く
無相関でも(ランダムウォーク同士であっても)有意な回帰関
係が得られ、決定係数も1に漸近する

 厳密には偏回帰係数同士で収束速度が異なるために、それぞ
れのt統計量が発散してしまうことに起因する(らしい)

 対策
 差分系列を用いる(特にGranger因果性検定は差分系列以
外では使えない)

2013/10/19

43
見せかけの回帰
例えばこんなデータがあるが…

相関係数(回帰係数)が0.91もある!と言っているが、
たぶんこれは普通に見せかけの回帰を踏んでいるはず。
一般にファイナンスデータの大半は単位根過程で、
見せかけの回帰を避けるために1階階差を取るのが常識。
2013/10/19

44
見せかけの回帰を回避するには
 差分する
 普通は1階差分で十分
 場合によっては2階以上やる必要もある。。。

 VARモデルに切り替えて、VARモデル内で自己回帰関係を
評価する
 ただし見せかけの回帰が生じる時はGranger因果が使えない
 インパルス応答は使える

 VECM(ベクトル誤差修正モデル)を用いる
 かなり複雑なロジックなので大ざっぱに説明します

2013/10/19

45
共和分
 共和分
 単位根過程同士の線形和が定常過程になるような関係がある
場合、これを共和分関係にあると呼ぶ。その時の係数からなるベ
クトルを共和分ベクトルと呼ぶ

 共和分関係がある場合、差分系列によるVAR(p)表現は存
在せず、代わりにベクトル誤差修正モデルVECM(p-1)で表現し
なければならない

 ベクトル誤差修正モデル(VECM)の利点
 Johansenの手順で容易に推定できる
 得られたVECM表現はVARモデルで解釈可能な形式に変換で
きて、インパルス応答関数なども計算できる
2013/10/19

46
共和分

このような感じで予測区間も出せるし、
インパルス応答も出せる

2013/10/19

47
何が課金UUを減らしてしまったのか?
(マルコフ転換モデル)

2013/10/19

48
{MSwM}:単変量時系列のマルコフ転換モデル
 マルコフ転換モデルのコンセプト
 観測時系列がn個の状態に分かれ得ると仮定して、パラメータフ
リーなAR過程を個置く
 観測時系列はn×nの遷移確率行列で表されるマルコフ過程に
従って状態変化すると仮定する
 EMアルゴリズムを用いて、観測時系列がn通りある状態のいず
れかであったかの事後確率列を求める

 実際には…
 外部変数x_nを入れないと解けない
 R {MSwM}パッケージではx_nとの回帰式を与えて解く
2013/10/19

49
課金UUのデータがあると想定する

何となーく右肩下がりになってる気はする。
けれどもこれは何か不連続な変化なんだろうか?

2013/10/19

50
モデルを立てる

説明変数2つは適当。単に拘束条件として与えているだけ

2013/10/19

51
マルコフ転換モデルで月初スパイクを分離する

月初のスパイク成分は綺麗に分離できている

2013/10/19

52
マルコフ転換モデルでベースラインの不連続変化を探す

不連続な状態変化が見つかった!!!

2013/10/19

53
例えばの話ですが、以下の時系列と比較してみたら?

レジーム2と3が切り替わったあたりに…
 競合Aがソシャゲαを出した

 競合Bがソシャゲβを出した

 競合Cが自社ゲームと同じキャラの関連グッズを出した

 法的規制がかかった(コンプガチャetc.)

2013/10/19

54
ちなみに、新規UUデータの例でも使えます

何の変哲もないモデル(事前情報は皆無も同然)

2013/10/19

55
こんな感じで…

CMを大量に打っていた期間がきちんと分離できた!
2013/10/19

56
…という感じで駆け足で見てみました
 なぜ計量時系列分析なのか?
 意味ありげな時系列を見極めよう
(定常性・自己相関・分散不均一性)
 今この瞬間の「勢い」を見る(ARIMAモデル)
 向こう1ヶ月のCV数を予測してみよう(VARモデル)
 テレビCMなどのオフライン広告の売上高への効果が知りたい
(Granger因果、インパルス応答)
 何が課金UUを減らしてしまったのか?(マルコフ転換モデル)
2013/10/19

57
社会科学的データならではの振る舞いを理解して、
逆にデータマイニングに生かしてみましょう!

2013/10/19

58
今回語り尽くせなかったところは…

ブログの「Rで計量時系列分析」シリーズ記事に書いてあります!

2013/10/19

59

計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining