« 読了:「コリオレーナス」 | メイン | 売上報告:2012年第一四半期 »
2013年6月 8日 (土)
Beck, N., Katz, J.N., Tucker, R. (1998) Taking time seriously: Time-series-cross-section analysis with a binary dependent variable. American Journal of Political Science. 42(4), 1260-1288.
Singer & Willett の縦断データ解析本を読んでいて、へえー、と感心した箇所があって(離散時間ハザードモデルでのcloglog リンクとlogitリンクのちがいについての説明)、そこで引用されていたのでちょっと読んでみた。えーと、論文の主旨は「BTSCSデータの正しくて簡単な分析方法を教えてやるよ」とのこと。
BTSCSデータ? はあ? と思ったが、binary time-series cross-sectionデータ、つまり「従属変数が二値な時系列クロスセクションデータ」の略で、どうやら政治学の分野ではよく用いる略語らしい。いろんなジャーゴンがあるものだなあと感心。
「時系列クロスセクション」って、世間一般ではパネルデータっていいませんか? と思ったのだが、「パネル」というときには時点が少なく個体数が多い場合を指し(そういえばそういう語感ですね)、いっぽう「時系列クロスセクション」は時点が多く個体数が少ない場合を指す由。要するに、多変量時系列データが数セット縦積みになっていることをいうのであろう。そういえば前に習ったような気もする。往時茫々...
なんでも、BTSCSデータ(舌がもつれそうですね) は国際関係の研究ではよくあるデータ形式なのだそうで、たとえばいくつかの二か国間関係に注目し、国のペアx年をオブザベーション、「軍事衝突がおきた」とか政治の仕組みとかを変数にとったデータをつくって、政治がどうだったら軍事衝突が起きやすい、なんていう分析をするのだそうだ。ほー。
で、多くの研究者が「軍事衝突が起きた」を従属変数、政治についてのの変数群を独立変数にとった単純な回帰モデルをつくってしまっている(ロジスティック回帰とかプロビット回帰とかで)。でもオブザベーション間に自己相関があるから、標準誤差がすごく過小評価されてしまう。危険を感じてハザードモデルを使う人もいるけど、数が少ない。
そこで著者らいわく、勉強しなくていいからこれだけは覚えておけ。ある単位期間にイベントが起きる確率のことをハザードという。ふつうは連続時間上で測ったイベントヒストリーデータを用いてハザードをモデル化する。ところがイベント時間の測定が離散時間上でなされている場合もあって、そういうのをgrouped durationという。で、BTSCSデータ (覚えにくいですね) はまさにgrouped duration データそのものである。
連続時間ハザードモデルとしてもっとも良くつかわれているのはCox比例ハザードモデルで、個体 i, 時点 s , 共変量 \bm{x}_{i,s} におけるハザードは
h (s | \bm{x}_{i,s}) = h_0(s) exp( \bm{x}_{i,s} \beta)
これが離散時間になると、
h (t | \bm{x}_{i,t}) = 1 - exp( -exp(\bm{x}_{i,s} \beta + \kappa_{t-t_0}) )
となる由。
あれれ? \kappaってなに? と思ったので、Appendixの説明を追ってみた。まず時点 t における生存確率は
S(t) = exp( -\int_0^t h(\tau) d\tau )
以下、めんどくさいので添字 i を略記する。時点 t_k - 1 から t_k までのハザードは
h(t_k) = 1 - exp ( -\int_{t_k -1}^{t_k} h(\tau) d\tau)
\bm{x}が期間中に変わらないとして、h(\tau) = h_0(\tau) exp( \bm{x}_{t_k} \beta)を代入し、係数の部分を積分記号の外に出して
h(t_k) = 1 - exp ( -exp( \bm{x}_{t_k} \beta) \int_{t_k -1}^{t_k} h_0(\tau) d\tau)
どうせベースラインハザード関数 h_0(t)は未知なんだから、積分記号以降を \alpha_{t_k} として
h(t_k) = 1 - exp ( -exp( \bm{x}_{t_k} \beta) \alpha_{t_k})
ここまでは思いついたのだが、さらに \kappa_{t_k} = log(\alpha_{t_k}) として
h(t_k) = 1 - exp ( -exp( \bm{x}_{t_k} \beta + \kappa_{t_k}))
で、多重イベントの場合に対応できるように、前のイベントの生起時間を t_0 とし、\kappaの添え字はt_0からの差にしているのであった。
というわけで、t-t_0 の上限の個数だけダミー変数をつくりなさい。で、前のイベントからの時間をこのダミー行列で表現しなさい(前のイベントから3年たっていたら3列目を1にする)。このダミー行列を独立変数にいれなさい(切片項の推定はやめなさい)。さすればこれらの変数の係数が \kappaの推定値となり、正しい分析ができるであろう。との仰せである。
...この論文ではgrouped PHM、つまり離散時間で測定されたイベントヒストリーデータにわざわざ連続時間ハザードモデルをあてはめている作戦をとっているわけだけど、するとハザード関数が 1-exp(-exp(...))となり、cloglogリンクのモデルになってしまう。でも、もし時間が本当に離散的に動いていたら logit リンクでよかったわけだ。ベースライン・ハザード関数をパラメトリックに指定する場合であれば、マジメに clogclog をつかう動機もまだ理解できるが、そうでないなら logit リンクで問題ないのではなかろうか? ...実のところ、この疑問が頭にあって、読んでみた論文であった。というわけで、面白いのはここからである。
著者らいわく、ハザードが50%を越えなければ、どっちを使ったって大差ない。そして軍事衝突はそんなには起きない。だからロジットリンクを使っちゃいなさい(おおっと...)。すなわち
h(t | \bm{x}_{i,t}) = 1 / { 1 + exp( -(\bm{x}_{i,t} \beta + \kappa_{t-t_0}) ) }
さすればお手元のソフトで簡単に分析できちゃうであろう、とのこと。意外に簡単なお返事で拍子抜け。
その他の話題としては...このようにモデルにダミー変数を入れる必要があるか、尤度比検定で決めること(ベースラインハザードが定数だというのならそれはそれでハッピーだから)。入れるんなら全部入れること。ただし、全てのダミー変数をほんとに入れるよりも自然二次スプラインを使うのがお勧め(つくりかたはソフトに載ってるでしょ、とのこと)。ある個体の2回目以降のイベントが一回目よりも起こりやすい(にくい)と仮定する場合にどうするか(「いま何番目の生起待ちか」という変数をいれちゃうのが簡単)。左打ち切りがあったらどうするか(たいした問題ではない由)。時間変動する独立変数があったらダミー変数と相関してしまうけどどうするか(困るしかない)。欠損があったらどうするか(困れ)。云々。
最後に分析例。単純なロジットモデルと、持続時間のダミー変数をいれたモデルでは、係数の推定値がずいぶんちがう。ああ、そりゃそうだろうな、前の戦争がどのくらい前だったかで戦争の起こりやすさは変わりそうだし、政治のしくみも変わりそうだ。その他、いろいろ分析しているけどパス。
実のところ、この論文の主張は単に「イベント持続時間を考慮せよ」であって、誤差の自己相関を積極的にモデル化するという話ではない。著者らいわく、そういうアドバイスは容易だが実現は難しい。我々は実現を重んじているのだ、とのこと。
というわけで、とても親切な啓蒙論文であった。ありがたいです。それから、政治学者はそんなに数学に強くないということがわかった。ありがたいです。
論文:データ解析(-2014) - 読了:Beck, Katz, & Tucker (1998) 政治学者のためのとっても簡単なイベントヒストリー分析