データマイニングが有用な時

データマイニングは、最も当てはまりの良い回帰式を恣意的に拾い上げる慣行につながるという点で経済学では評判が悪いが、正しく使えば有用、とオックスフォード大の2人の研究者(Jennifer L. Castle、David F. Hendry)がこちらのvoxeu記事に書いている(H/T Economist's View*1


記事ではまず、最も単純なデータマイニング手法として、有意性の高い順に説明変数を一つずつ追加していく、という手法を挙げている。そうした1-step forward search algorithmsと呼ばれる手法は、非有意になった変数の除去と組み合わせたり(=段階的回帰[stepwise regression];別名unwise regression)、推計された係数の大きさに制約を掛けたり(=Lasso)、といったバリエーションがあるが、経済学ではまず上手く行かない、と著者たちは指摘する。


そして、それに代わる手法として、「半分割」法(‘split-half’approach )を説明している。同手法は、説明変数の候補数NとサンプルサイズTが等しい時に、有意水準α=1/N(対応する閾値=cα)とした上で、サンプルを半分に分けてそれぞれについて回帰を行う、というものである。N個の変数がすべて被説明変数と無相関(回帰係数ベクトルβ = 0)という帰無仮説*2の下では、それぞれの回帰において平均的に1/2個の変数がt検定で偶然に有意となる。というのは、t統計量の絶対値がcαを超える確率はαであり、従ってN/2個の試行ではα × N/2 = 1/N × N/2 = 1/2となるからである。それを2回繰り返せば、偶然に有意となるのは平均して1変数ということになる。


なお、これは説明変数同士の相関が無いことを仮定しているが、実際には相関があるだろうし、完全に帰無仮説が成立する可能性も低いだろうし、NとTが等しいとも限らないだろう。そのことを踏まえて、完全に半々に分けるのではなく、重複を許して複数ブロックに説明変数を分割し、決して有意にならない変数を段階的に削っていく手法が提唱されているという。具体的には、そうしたアルゴリズムとしてAutometricsなるものが提示されているとの由。


変数を1変数ずつではなくブロック単位でチェックしていく手法の利点として、記事では以下の3つを挙げている。

  1. N個の候補のうちn個が説明変数として相応しいものとすると、まず1変数だけを追加した時、n-1個の除外変数によってモデルはひどく定式化を誤ったものとなる。
  2. 2つの説明変数について、回帰係数の符号が逆で順相関の場合、もしくは回帰係数の符号が同じで逆相関の場合、単独で方程式に入れると除外変数バイアスによって有意性を正しく検出できなくなる。というのは、単独で入れた場合の係数はβ1+ρβ2sとなり、本来の係数β1より小さくなるからである(ここでβ2はもう片方の変数の回帰係数、ρは両説明変数の相関係数、s = σ21[両変数の標準偏差の比])。
  3. 式に入っている変数で説明しきれない大きな残差の検出と、探索手続きによる外れ値の検出との間には重要な違いがある。モデルにまだ取り込まれていないレベルシフトは残差の標準偏差を大きく増加させ、外れ値を判定する基準となるが、その際、残差自体が大きいことを検出する必要は無い。1変数ずつの追加ではそうしたシフトは既知でない限り検出できないが、ブロック単位の追加ならば外れ値もシフトも複数検出できる。


また、有意水準をきつくすることの影響について以下のように論じている。

  • Autometricsではα = min(1/N, 1/T, 1%)としており、5%(c0.05≈2)のような「通常」の有意水準より厳しいものとなっている。正規性に近い分布を仮定すると、cαは、c0.01≈2.6、c0.001≈3.35のようにαが減少するにつれて緩やかに増加する。c0.001≈3.35においては、1000個の説明変数候補について誤って有意と判断するのは平均して1個ということになる。
  • 誤った帰無仮説を棄却する検定力は、与えられたサンプルにおける検定統計量の非心性ψに左右される。ψ=2の時、t分布は平均2で分散は概ね1となる。従って5割の確率でt値は2より小さくなり、α=0.05で検定力は0.5となる。α=0.01で検定力は0.28まで下がる。ψ=3の時は、α=0.05で検定力は0.84、α=0.01で検定力は0.66、ψ=4の時は、α=0.05で検定力は0.98、α=0.01で検定力は0.92である。従って、影響が重要であるほど、有意水準をきつくすることによる検定力の低下は小さくなる。
  • Nが極めて大きいビッグデータにおいては*3、説明変数が有意か非有意かの組み合わせの数は2Nという膨大なものとなる。そのため、誤って有意と判定するケースが続出するのではないか、という懸念も理解できる。ただ、α=0.0001(正規性の下ではc0.0001 ≈4)とすると、N=10000の場合でも、説明変数がすべて非有意な場合に誤って有意と判定するのはせいぜい1変数に過ぎない。Nが500万の場合でも、t値の閾値を6にセットすればαN≈1となる。この時、該当変数が実際に有意の場合、非心性ψ=6ならば50%の確率で有意と判定され、ψ=9ならばほぼ確実に有意と判定される。干し草の山が巨大でも、大きな針は草と間違えることなく探せるのである。


記事ではこのほか、理論的に有意と考えられる変数の取り扱い、正規性が仮定できない場合の閾値の設定、Autometricsを適用した実例(=大気中のCO2の時系列データ)、Nが大きい場合の計算可能性について論じている。

*1:その際、ここで紹介した論文も援用している。

*2:この場合、完全な見せ掛けの有意性についてデータマイニングを行っていることになる。

*3:cf. ここ