« 読了:藤井ほか(1993), 黒住(2008), 山本(1992), Patterson(2011): 経済時系列分析と単位根検定 | メイン | 読了:Franses & van Oest (2004) Koyckモデルの注意点 »
2019年4月12日 (金)
Barhoumi, K., Darne, O., Ferrara, L. (2017) Dynamic Factor Models: A Review of the Literature. in "Handbook on Rapid Estimates", Eurostat.
事情があって読んだ奴。分厚い本の1章だが、元はOECDが出している雑誌に載った論文らしい。
ユーロスタット(EUの統計局)というところはこういう統計手法のハンドブックも出しているようで、眺めてみたところ他にもいろいろ面白そうなのがあった。空間統計ハンドブックとか、季節調整ハンドブックとか。いずれもすべて無料という太っ腹である。
タイトルの通り、動的因子モデルについてのレビューだが、これまで読んできたのとは全然毛色がちがっていて、公式見解としては、不勉強を痛感した。非公式見解としては、いろいろ研究しやがってやってらんないぜ畜生と思った。
イントロダクション
時系列データがすごくたくさんあるときの分析手法がいろいろ提案されている。たとえば:
- general-to-specific model(Krolzig & Hendry, 2001 J. Econ. Dynamics & Control): 説明変数の選択
- Bayesian VAR (De Mol et al., J. Econom.)
- いっぱい回帰モデルを作って予測を結合する。レビューとしてEklund & Kapetanios(2008, Working Paper)をみよ。
動的因子分析モデルもそのひとつだ。$x_{it}$を分解して
$x_{it} = \chi_{it} + \xi_{it}$
$\chi_{it}$は少数の共通因子$F_{1t}, \ldots, F_{rt}$からなると考え
$x_{it} = \lambda_{i1}F_{1t} + \cdots + \lambda_{ir} F_{rt} + \xi_{it}$
とするわけね。ベクトルで書くと
$X_t = \Lambda F_t + \xi_{t}$
行列で書くと
$X = F \Lambda^{'} + \xi$
以下、$X$はサイズ$T \times N$, $F$は$T \times r$とする。
$N$が小さいときの因子モデル
ここでは6~7変数程度までの因子モデルについて考える。
静的因子モデル(SFM)
以下の仮定をおく。
- SH1: $F_t$は中心化されていて互いに直交と考える。つまり$E(F_t)=0$、すべての$t$について$E(F_{jt}F_{j't}) = 0 \ (j \neq j')$。従って分散共分散行列$\Sigma_F = E(F_t F_t^{'})$は対角行列。
- SH2: 個体過程は$F(\xi_t)=0$、かつ互いに直交。分散共分散行列を$\Sigma_\xi=E(\xi_t \xi_{t'}) = diag(\sigma^2_1, \ldots, \sigma^2_N)$とする。
- SH3: 因子と個体ノイズは相関しない。つまり、すべての$i,j,t,t'$について$E(F_{jt}\xi_{it'})=0$。
- SH4: 変数は独立で時間を通じてIIDであるとする。よって$t \neq t'$について$E(F_{jt}F_{jt'})=0, E(\xi_{it} \xi_{it'})=0$。[要は共通因子も独自因子もホワイトノイズだってこと? 数式を見るとそう見えるが、おそらくはもう少し強く、ホワイトノイズかつ強定常という意味だろう]
これが静的因子モデル(SFM)。推定には、変数がIIDだと仮定するか(SH4)、ないし変数においてなんらかの時間ダイナミクスがあると仮定する(SH4の破棄)。
共分散行列$\Sigma_X = E(X_t X_t^{'})$は
$\Sigma_X = \Lambda \Sigma_F \Lambda^{'} + \Sigma_\xi$
これは識別・推定できる。最小二乗解はデータに自己相関があってとしても一致推定量である。
厳密な動的因子モデル(DFM)
$x_{it} = \chi_{it} + \xi_{it}$
として、$\chi_{it}$は共通ショックの累積だと考える。
共通ショックのベクトル(長さ$q$)を$u_t = (u_{1t}, \ldots, u_{qt})'$とする。ラグ$s$まで考えて
$\chi_{it}$
$= b_{i1}^0 u_{1t} + \ldots + b_{i1}^s u_{1,t-s}$
$+ b_{i2}^0 u_{2t} + \ldots + b_{i2}^s u_{2,t-s}$
$+ \ldots$
$+ b_{iq}^0 u_{qt} + \ldots + b_{iq}^s u_{q,t-s}$
$s$が有限である場合を「制約つきDFM」、$s$が無限である場合を「一般化DFM」という。[←へー]
ラグ演算子$L$を使うと、$b_{il}(z)$を$s$次多項式
$b_{il}(z) = b^0_{il} + b^1_{il} z + \ldots + b^s_{il} z^s$
として、
$\chi_{it} = \sum_l^q b_{il}(L) u_{lt}$
[混乱してきたのでメモしておくと、$l = 1, \ldots, q$は共通ショックの添え字]
多項式を横ベクトル$B_i(z)$で表現して行列で書くと
$\chi_{it} = B_i(L) u_t$
[何言ってんだかわかんなくなってくるのでメモすると、$B_i(L)$は、左から順に
$b_{i1}^0 L^0 \ldots + b_{i1}^s L^s$
$b_{i2}^0 L^0 \ldots + b_{i2}^s L^s$
$\ldots$
$b_{iq}^0 L^0 \ldots + b_{iq}^s L^s$
というのが詰まっている、長さ$q$のベクトルね]
さて、ここで
$B_i(L) = \lambda^*_i(L) C(L)$
と仮定しよう。$\lambda^*_i(L)$は$s$次多項式のベクトルで長さ$r$ (a $r$ vector of polynomials with degree $s$)。$C(L)$は$r \times q$行列。すると
$\chi_{it} = \lambda^*_i(L) F^*_t$
となり、$F^*_t = C(L) u_t$は静的因子、共通ショック$u_t$は動的因子と呼べる。つまり動的因子が$q$個あるモデルは、静的因子が$r=q(s+1)$個あるモデルだと考えられる。
[うぎゃー。さっぱりわからん。
$u_t$は共通ショックの縦ベクトルで長さ$q$。これを動的因子と呼んでいる。で、その左から$r \times q$行列$C(L)$を掛けると長さ$r$の縦ベクトルになるわね。これを静的因子$F^*_t $と呼んでいる。これに左から長さ$r$の横ベクトル$\lambda^*_i(L)$を掛ける、という話である。
それはわかる、わかるんだけど... ええと、$\lambda^*_i(L)$ってのは$s$次ラグ多項式のベクトルなわけですよね? つまり、さきほどの$B_i(L)$が長さ$q$のラグ多項式ベクトルだったのを、もう少し長い、長さ$r$のラグ多項式ベクトルに変えましたってことですよね? そのかわり、元の共通ショックベクトル$u_t$(長さ$q$)に左から変換行列$C(L)$を掛けて長さ$r$のベクトルにしましたってことですよね? そしてその変換行列$C(L)$のなかに入ってるのもやっぱりラグ多項式ってことでOK? ... なんでそんなことすんの?
$\lambda^*_i(L)$がラグ多項式のベクトルじゃなくてただのスタティックな因子負荷ベクトルだってんならわかるよ? その場合は、$F^*_t = C(L) u_t$ってのは$u_t$にいわばベクトル版のMA(s)フィルタを掛けて得た$r$変量時系列であり、あなたこれからは$u_t$じゃなくてこの$F^*_t$をお使いなさい、もうラグとか気にしなくていいのよ、ってことですよね?
いやまて...??? ひょっとすると、$C(L)$ってのは「共通ショック$u_t$の$s$期過去分までを含む$q \times (s+1)$行列を縦一列のベクトルに並び替える」という行列なのだろうか。つまり、列1は$(1, L, L^2, \ldots, L^s)'$であるような行列なのか。その場合は$\lambda^*_i(L)$は「ラグ多項式のベクトル」ではなくて、「$q$本のラグ多項式のなかに出てくる係数をすべて縦一列にならべたベクトル」、ってことになる... ああ、それなら確かに静的因子の数は$r = q(s+1)$になるね... そんならそれで納得するけど、その場合でも、$\lambda^*_i(L)$という風にわざわざ$L$と書くのは変だ... ううううううう]
このモデル、ふつう最尤法で推定できる。以下の仮定を置くことが多い。
- DH1: 因子間は直交だが、因子は自己相関を持ち共分散定常。すなわち、すべての$j$について$E(F_{jt})=0$で, すべての$j \neq j^{'}, \tau \neq 0$について $cov(F_{jt}, F{j',t-\tau})=0$で, $cov(F_{jt}, F_{j,t-\tau})$は$\tau$にのみ依存する。
- DH2: 個体過程$\xi_{it}$についても同様。
- DH3: 因子$F_{jt}$と個体過程$\xi_{it}$はすべての$i,j$について直交。
[ああ... 前に読んだ論文でいえば、この論文の$\chi_{it} = B_i(L) u_t$ってのはwhite noise factor score (WNFS)モデルであり、$\chi_{it} = \lambda^*_i(L) F^*_t$ってのはdirect autoregressive factor score (DAFS)モデルではなかろうか。いや、その場合でも、やっぱり$\lambda^*_i(L)$とわざわざ$L$を追記している理由がわからない... それに静的因子数が$r = q(s+1)$だという理由もわからなくなってくる...]
さて、DFMを状態空間形式で書きなおしてみよう。
共通因子についてVAR(p)を仮定する。すなわちラグ多項式 $\phi(L) = I - \phi_1 L - \ldots - \phi_p Lp$として、
$\Phi(L) = \epsilon_t$
は次式と同値であるとする:
$F_t = \sum_\tau^p \Phi_\tau F_{t-\tau} + \epsilon_t$
同様に、個体過程についてはAR(p')を仮定する。$\psi_i(L) = I - \psi_{i1} L - \ldots - \psi_{ip'} L^{p'}$として
$\psi_i (L) \xi_{it} = \eta_{ij}$
が
$\xi_{it} = \sum_\tau^{p'} \psi_{i\tau} \xi_{i,t-\tau} + \eta_{it}$
と同値であるとする。 なお、次数$p, p'$はAICとかBICとか、Doz & Lenglart検定とかで決めるのだが[←なにそれ...]、実際には$p=2, p'=1$で十分なことが多い。[そうか、共通因子はVAR(2), 独自因子はAR(1)ってことか... ううむ、DAFSモデルともちょっと違うのか。DAFSモデルの場合、独自因子に自己相関は許さないと思うので]
状態空間表現で書きなおす。観察方程式は
$X_t = c_t \beta_t + m_t Z_t + w_t$
$X_t$は説明変数ベクトルだが、$X_t$のラグがはいっていてもよい。$\beta_t$は長さ$r$の状態ベクトルで、$(F_t, \ldots, F_{t-p+1}, \xi_t, \ldots, \xi_{t-q+1})'$である。[←ええええ? 記号の使い方がへん... $q$は観察時系列の本数でしょう? $q$じゃなくて$p'$じゃないの?]
状態方程式は
$\beta_t = \alpha_t \beta_{t-1} + v_t$
ふつう$a_t, c_t, m_t$は時間不変とし、$E(v_t w^{'}_t)=0$とする。
この場合も、最尤法とカルマン・フィルタで推定できる。最尤法にはふつうEMアルゴリズムを使う。
Markov regime-switchingモデル: マルコフ連鎖に2つのregimeがあると考え、$S_t \in \{1,2\}$で表す。たとえば、ビジネスサイクルの低いフェイズと高いフェイズとか。
たとえば、因子数$r=1$として、
$x_it = \lambda^{'}_i F_t + \xi_{it}$
$\phi(L)F_t = \mu(S_t) + \varepsilon_t$
で、$\xi_{it}$は分散$\sigma^2_i$の正規AR(1)に従い、$\varepsilon_t$は分散1の正規WNに従う。$S_t$の遷移確率については...[めんどくさくなってきたので以下略]
Mixed frequency モデル
月次時系列と四半期時系列が混じっちゃっているようなときの分析手法。[←へー。面白そうなだけどいま関心ないのでパス。Mariano & Murasawa, 2003 J.App.Econom.)というのをみるといいらしい]
$N$が大きい時の近似的因子モデル
上述の伝統的方法には以下の限界がある。
- 変数数$N$が時点数$T$より大きいときに困る。
- 推定量の漸近的収束は、$N$を固定して$T$を無限大に近づけたときには保証されているが、$N$も一緒に無限大に近づけたときには保証されていない。
- $N$が大きいと最尤推定は無理。
- $T$が大きい時、$\lambda_i$の一致推定はできるが、$F_t$の一致推定はできない。経済学で関心があるのはむしろ$F_t$なのに。
というわけで、近似的因子構造というのが提案されている。
近似的SFM
近似的因子構造という概念を最初に提案したのはChamberlain & Rothschild (1983 Econometrica)。この考え方では、個人撹乱項$\xi_t$は弱く相関することが許容される。彼らは、$N$が無限大に近づいたとき、因子分析はPCAと等価だということを示した。[←えええええ???]
この研究では$\Sigma_X$が既知だった。Connor & Korajczyk (1986 J.Financial Econ., 1988同誌, 1993 J.Finance)はこれを$\Sigma_X$が未知の場合に拡張し、$N$が$T$より大きい時、$T \times T$の共分散行列をPCAしても因子モデルを推定できるということを示した。
Stock & Watson (1999 J.Monetary Econ.), Bai & Ng (2002, Econometrica), Bai(2003)はTとNの両方が大きい時の収束率を求めている。
[なんだか聞いたこともないような話が書いてあって泣きそうだ... Bai(2003)って引用文献リストにない。おそらくBai(2004, J.Econom.)であろう。参ったな、しかし]
近似的DFM
Forni & Lippi (1997 書籍), Forni & Reichlin (1998 Rev.Econ.Studies), Forni et al(2000 Rev.Econ.Studies, 2004 J.Econom.)がある。これはBrillinger(1981)の動的PCAの拡張で...[以下、周波数領域による説明になる。全くついていけないのでパス]
FMVARモデル
factor-augmented VARモデル。これはもともと、VARモデルや構造VARモデルで欠損値を扱おうというので提案された。
$X_t = \Lambda F_t + B X_{t-1} + \xi_t$
ただし$B$は対角行列で、対角にはラグ多項式$\delta_i(L)$がはいっている。
推定方法は...[省略。なるほどね、VARモデルに因子時系列をいれるわけね]
時変パラメータモデル
FMVARモデルのパラメータを時変させようという提案がある。
$X_t = \Lambda_t F_t + B_t X_{t-1} + \xi_t$
とするとか、イノベーションの分散を時変させるとか。推定は...[省略]
Mixed frequency モデル
GhyselsらのMIDASアプローチというのがあって...[いま関心ないので丸ごと省略するけど、Rでいうとmidasrパッケージね]
$N$が大きい時の因子モデルの推定
SFMの推定: Stock&Watson(2002 J.Business&Econ.Stat.)のアプローチ このアプローチでは、因子$F_t$をデータの線形結合
$\hat{F}_{jt} = \hat{W}^{'}_j X_t$
で近似しようとする。そこでPCAを使って、因子の分散$\hat{W}^{'}_j \hat{\Sigma}_x \hat{W}^{'}$を最大化する$\hat{W}^{'}$を求める。$\hat{\Sigma}_x$ってのは、(標準化された)データの標本共分散行列ね。[なるほど... PCAを使うという意味がわかった]
このアプローチでは変数間のダイナミクスが無視されている。ダイナミクスをいれるという提案には、時間領域で表現するのと周波数領域で表現するのがある。
時間領域アプローチ
Doz, Giannone & Reichlin (2011 J.Econom.; 2012 Rev.Econ.Stat.) が提案している。推定方法は2つある。
その1, 二段階推定。まずPCAで$\hat{F}_t$を推定する。で、
$x_{it} = \lambda^*_i(L) F^*_t + \xi_{it}$
を推定して、$\lambda^*_i(L)$の推定と$\Sigma_\xi$の推定を得る。そして... [面倒になったので以下略とするが、まあ雰囲気はわかりますわね]。カルマンフィルタで推定する。
その2, 擬似最尤法... [面倒なので省略。いずれにせよこれは原論文にあたるべきだな]
周波数領域アプローチ
Forni, Hallin, Lippi, & Reichlin によるアプローチで... [途中から周波数領域の話になるのでパス。たぶん一生理解できないと思う]
この章のまとめ:この分野は研究の蓄積が浅い。予測についていえばStock & Watsonのアプローチでも十分かも。上記のほかにベイジアンのアプローチもある、Kose, Otrok & Whiteman(2003 Am.Econ.Rev.; 2008 J.Int.Econ.), Lopes & West(2004 Statistica Sinica)をみよ。云々。
因子数の選択
SFMの因子数選択
Bai & Ng(2002)はこう考えた。因子数を$j$とする。分散を
$V(j, F)= (NT)^{-1} \sum_t^T (X_t - \hat{\Lambda}\hat{F}_t)^2$
とする。$j$が増えればこの分散は増える。そこで$ln(V(j,F))$に$j$でペナルティをつけたのを基準として因子数を決める。
なお、ペナルティのつけ方としてBai & Ngは3種類提案し、さらにAlessi et al.(2010)が2種類提案した。云々。
DFMの因子選択
[Bai & Ng(2007), Stock & Watson(2005), Breitung & Pigorsch(2013), Hallin & Liska(2007), というのが紹介されている。死ぬ... 真面目に読んでたら死ぬ... 申し訳ないけど丸ごとバス]
近年の実証研究
[動的因子モデルを使った研究を、短期経済監視, マクロ経済予測、金融政策と国際経済, の3つにわけて概観している。経済の話なのでメモは省略するけど、いろんな研究があるもんだなぁと無責任に感心した]
結論 [略]
論文:データ解析(2018-) - 読了:Barhoumi, Darne, Ferrara (2017) 動的因子モデルレビュー