📔

Double/Debiased Machine Learning (DML) の概要

2024/09/02に公開

Double/Debiased Machine Learning (DML) のもとの論文

Chernozhukov, V., Chetverikov, D., Demirer, M., Duflo, E., Hansen, C., Newey, W., & Robins, J. (2018). Double/debiased machine learning for treatment and structural parameters.

を(今更ながら)読んだのでざっくりメモしておく。

目的

世の中の多くの現象は非線形な関係性が想定される。回帰分析は線形モデルであるため、モデルの定式化の誤りに起因するバイアスが生じかねない。

実際に関心のあるパラメータは少なく、交絡のコントロールのために入れている局外母数(nuisance parameters)は高次元になりがち。

局外母数を非線形の関数g_0(X)で表し、関心のあるパラメータ\theta_0は線形モデルで表現する 部分線形モデル(partially linear regression: PLR)

Y = D\theta_0 + g_0(X) + U, \hspace{1em} E[U|X,D] = 0\\ D = m_0(X) + V, \hspace{1em} E[V|X] = 0

を作り、局外関数g_0(X)を機械学習で構築したい。

もしこれが実現できれば、

  1. 機械学習による高い関数近似性能で非線形の関係性を捉えて交絡をコントロール
  2. パラメータは線形回帰モデルのように\sqrt{n}の収束レートで少ないサンプルから効率的に推定

という、回帰分析と機械学習のいいとこ取りをしたモデルが作れる。

これを実現するのが DML のフレームワークである(g_0は任意の機械学習アルゴリズムでよいので、DML は具体的なアルゴリズムに踏み込まず、フレームワーク)。

課題

g_0(X)を機械学習で作って線形回帰するだけだと推定量は\sqrt{n}の収束レートにならない。

その原因として、2 つのバイアスがある

  1. 正則化バイアス
    • 機械学習アルゴリズムは正則化を行うため、推定にバイアスが入る
  2. 過学習によるバイアス
    • ニューラルネットワークなど関数近似性能が高いアルゴリズムは、一方で過学習のリスクも高い

提案手法

2 つの課題への対策として、以下を行う

  1. 正則化バイアス → ネイマン直交性 を満たすモーメント条件による推定量で対応
  2. 過学習 → Cross-Fitting で対応

ネイマン直交性

Chernozhukov et al. (2018) は、統計的に望ましい性質を持つ推定量をもたらす条件として、ネイマン直交性(Neyman orthogonality)という条件を明らかにした。

このことの意味合いとしては、
「微小な\etaの推定誤差に対して、モーメント条件が変化しない」→「\etaの推定誤差に対して頑健であること」

→ ネイマン直交性をもつスコア関数を用いる推定量は正則化バイアスに対し頑健になる

ネイマン直交性を満たすモーメント条件の例

先行研究のひとつである Robinson (1988) は部分線形モデルを提案し、(機械学習を使わない場合の)一致推定量も導出した。

部分線形モデル

Y = D \theta_0 + g_0(X) + U, \quad E[U|X, D]=0

の両辺をXで条件づけて期待値をとると

E[Y|X] = E[D|X] \theta_0 + g_0(X)

これをモデルから差し引くと

Y - E[Y|X] = \theta_0 (D - E[D|X]) + U

という線形回帰の形になる(FWL 定理に出てくる残差回帰の形になる)

\tilde{Y}_i = Y_i - E[Y_i|X_i]\tilde{D}_i = D_i - E[D_i|X_i]とおけば、(切片なしの)OLS 推定量の形になる。つまり、残差同士の OLS で推定できる。

\hat{\theta}_{\mathrm{Robinson}}=\left(\sum_{i=1}^n \tilde{D}_i \tilde{D}_i^T \right)^{-1} \sum_{i=1}^n \tilde{D}_i \tilde{Y}_i

ただし、E[Y|X], E[D|X]は未知なのでそれぞれノンパラメトリック推定量\hat{\ell}(X), \hat{m}(X)で置き換える。

この Robinson (1988) の推定量のモーメント条件

\mathrm{E}\left[\left\{(Y-E[Y \mid X])-(D-E[D \mid X]) \theta_0\right\}(D-E[D \mid X])\right]=0

はネイマン直交性を満たす。実際、DML の実装の一つであるDoubleMLパッケージでも部分線形モデルの推定時のデフォルトのモーメント条件として使われている。

Cross-Fitting

K-fold Cross-Validation のように、ランダムにサンプルをK個のパートに分割する。そしてK-1個のパートのサンプルで\hat{g}, \hat{m}を推定し、残り1つのパートで\thetaを推定する。

DML 推定量の具体例

ネイマン直交化された推定量として Robinson (1988) の推定量を使う場合、DML 推定量は「残差回帰を分割したサンプルでK 回繰り返して結果を平均したもの」という、結構シンプルで理解しやすいものになる。

Python での実装例としては

https://matheusfacure.github.io/python-causality-handbook/22-Debiased-Orthogonal-Machine-Learning.html

が参考になる。

参考

ノンパラ関連

モーメント法

GitHubで編集を提案

Discussion