ill-identified diary

所属組織の業務や見解とは一切無関係なアフィリエイト付きメモ帳。所属とは関係ないけどここを見て所属先にも興味を持っていただけると喜びます。

[R] 計量経済学と機械学習の違い

概要

  • 機械学習か経済学 (計量経済学) そのいずれかに関してある程度の知識がある人間向け
  • もうすでにこのネタでブログその他がいくつも書かれたと思うがさらにダメ押し
  • 実質的には, Mullainathan and Spiess (2017) のレビューと, 多クラス分類を例にしたデモンストレーション.
  • 前半のレビューと後半のデモンストレーションは実はつながりがあまりないので独立して読むこともできる.
  • エビデンスが弱いものの, 多クラス分類を利用する際に注意すべき点が示唆された.
  • 今回も時間がないので若干手抜き気味

\hat{\beta} vs \hat{y}

計量経済学はモデルの説明を, 機械学習は予測の精度を求めるということは以前,[異種試合] ディープラーニングVSディープパラメータ - ill-identified diary でも少し触れた. で, 両者は相容れないものかというと, そうではない. 最近, Mullainathan and Spiess (2017) という論文が公開された. 「計量経済学機械学習的な手法を利用する」場面について論じたもので, 機械学習の活躍する場面についていくつか想定している. 例えば, 地表の衛星写真画像データは, 今までに経済学の研究で使われてこなかったタイプのデータだが, 経済研究には明らかに有用なデータになりうる. これを利用するには機械学習が有効だろう, と述べている. あるいは, ファイナンスの分野でオンラインで公開されている SNS の投稿データを利用するという試みも数年前から存在する. これも機械学習自然言語処理の技術を要する. しかしこういった提案は今やありきたり感があり, 記事にするには面白みに欠けるのでここでは省略する. 詳しくは元論文を見てほしい. 今回はむしろ,「伝統的な」計量経済学に与える影響について見ていきたい.

両者の重要な違いは, しばしば前者がしばしばモデルの体裁をとった仮説の説明を目的として使われるのに対し, 後者は予測精度の最適化を目的として使われることにある. 元論文のセクションタイトルで形容するように, 「\hat{\beta}」 か 「\hat{y}」 か, ということで, 線形モデルの係数を表す \hat{\beta} か, 目的変数の予測値を表す \hat{y} のどちらを選ぶか, ということになる. 機械学習の代表的な手法の1つである正則化 Lasso は, 過剰適合を避けるために, 説明変数として不要な \hat{\beta} の係数をゼロにするようにはたらく. ゼロということはその変数がモデルの中に存在しないということになるが, 経済学では \hat{\beta} の大きさや符号を求めることが目的であることも多いため, 正則化で必要な変数が脱落してしまうと目的を達成できない. また, クロスバリデーションやアンサンブル学習では訓練ごとに違う変数が選択されてしまうことがある. 特にアンサンブル学習は, そもそも異なるモデル (学習器) を組み合わせるため, 現象を説明するモデルとして, どう解釈すればいいかという問題も生じる.

では既存の計量経済学機械学習の要素を入れる余地がないのかというと, そういうことはなく, Mullainathan and Spiess (2017) では, 2段階最小二乗法の1段階目の回帰や因果推論との組み合わせを例示している. 2段階最小二乗法の1段階目ではすべての説明変数の係数を正しく推定することは必要とされておらず, パラメータの次元が大きくなりがちであるので, 最近は機械学習の適用についてすでにいくつか研究がある. 一方, 因果推論はでは傾向スコアマッチングや IPW定量について同様のことが言えるだろう. さらに, 因果推論では係数ではなく \hat{y} を高い精度で推定することが目的となることが多い. また因果推論の応用は実験 (自然実験) データを利用することが多く, そういう時は必ず外的妥当性が議論の対象となる.

最後に, この論文はモデルの説明能力を測るさいに決定係数R^{2}だけに頼っていることに対し警鐘を鳴らしている. 「共通する問題は, 理論が正しいときでさえ, 説明しようとしているシステムの変動の一部を明確にしただけであり, R^{2} だけではこの問題に対して答えたことにはならないということである (後略)」

A common concern is that even if a theory is accurate, it may only clear up a little of the systematic variation it aims to explain. The R^{2} alone does not address this question

なお, 現時点でも機械学習的な方法を利用した経済学の研究は既にいくつか存在する. それも元論文にいくつか言及があるので, 関心があれば参照されたい.

ソフトマックス回帰と多項ロジット

ここでは, すでに普及している計量経済学機械学習の方法でどう違いが発生するかという具体例を1つ挙げる. 機械学習ではソフトマックス回帰と呼ばれる多クラス分類の手法があり, これは多項ロジットと全く同じ*1である. まずは機械学習のソフトマックス回帰について説明する. Kクラス分類問題では, 入力 u_{i,k}=\boldsymbol{x}_{i}^{\prime}\boldsymbol{\beta}_{k} に対して

\begin{align}
\mathit{softmax}(u_{i,k})= & \max\frac{\exp(u_{i,k})}{\sum_{l=1}^{K}\exp(u_{j,l})}\end{align}

というソフトマックス関数が用いられる. さらに交差エントロピー型の誤差関数はラベル d_{n,k}=1(n\text{ belongs to }k) を用いて
\begin{align}
E= & -\sum_{n=1}^{N}\sum_{k=1}^{K}d_{n,k}\ln\mathit{softmax}(u_{i,k})\end{align}
と表される. さらに予測値は y_{n}=\arg\max_{k}\{y_{n,k}\} として得られる. このような誤差関数は単純な回帰問題から順伝播型ニューラルネットワークまで幅広く使われるが, 上記の誤差関数を採用するタイプの教師あり学習であることは同じなので, ここではこれらをまとめてソフトマックス回帰と呼ぶことにする. 一方, 計量経済学でよく用いられる多項ロジットモデルは, 誤差項がガンベル分布に従うという前提から導出されるが, 数理的な最適化問題としては同じものに帰着する. その詳しい導出過程はいくつもある参考文献*2のいずれかを参照されたい. 多項ロジットモデルの対数尤度関数は, \begin{align}
\ln\mathcal{L}= & \sum_{n=1}^{N}d_{n,k}\frac{\exp(u_{n,k})}{1+\sum_{l=2}^{K}\exp(u_{i,l})}\\
\ln\mathcal{L}= & \sum_{n=1}^{N}\sum_{k=1}^{K}d_{n,k}\ln p(u_{n,k}),\\
p(u_{i,k})= & \frac{\exp(u_{i,k})}{1+\sum_{l=2}^{K}\exp(u_{i,l})}\end{align}
となる. ただし, パラメータを一意に求められるようにするため u_{i,k}=0 に固定しているので, p(u_{i,k}) はソフトマックス関数と同じである*3. 上記の対数尤度関数はソフトマックス回帰の誤差関数の正負を逆にしたものだから, 最適化問題としては 多項ロジットモデルとソフトマックス回帰は全く同一であると見なせる.

ところで, 計量経済学の授業で, 意思決定を分析するために多項ロジットを導入する際には, 必ずと言っていいほど independence from irrelevant alternatives (IIA) の仮定の説明がある. IIA の仮定とは, 「ある2つの選択肢から1つを選ぶとき, この2つ以外の選択肢の存在がこの択一に影響を与えない」ということを意味する. 詳細は以前書いた記事を見てもらうが, この仮定を満たさないような構造の選択肢は以外と身近にある. これを満たせないような場合は, 例えば代わりに入れ子 (nested) ロジットを使うと良いとされている. 多項ロジットを利用する際は IIA の仮定を満たしているか確認せよということは毎回言われている.

しかし, 多項ロジットと事実上同じ手法であるソフトマックス回帰について書かれている機械学習の教科書では, IIA の仮定などまったく言及されていない. それはなぜだろうか.

仮説:

  1. IIA の仮定に反していると, \hat{\beta} の推定が正しくないというだけで, \hat{y} の予測には必ずしも影響しないから. もちろん, そうであっても IIA の仮定を検証せずにソフトマックス回帰で係数の正しさを見るのは危険である.

  2. 従来, 機械学習分野では意思決定の問題を対象としてこなかったから. 例えば, 分類器の練習問題としてしばしば用いられる MNIST は手書き文字の分類問題なので, 人間の主観的な選択が関係しない. 消費者の意思決定など, マーケティング・ビジネスの分野に機械学習が導入されているのは比較的最近である.

実験

ソフトマックス回帰と入れ子ロジットモデルを, IIA の仮定を満たさないようにして発生させた乱数によるデータに対して適用してみる. IIA の仮定を要する多項ロジット (ソフトマックス回帰) と, IIA の仮定を解消できる入れ子 (nested) ロジットで比較する.

以前書いた http://ill-identified.hatenablog.com/entry/2014/06/10/000354 では R と Stata での実行方法を書いたので, Python でやってみようかとも思ったが, 時間の関係で R の mlogit パッケージを使う. さらに, 階層構造の疑われる HC というサンプルデータも含まれていたので, これを使ってみる. 予測精度は多クラス対数損失関数 \begin{align}
\mathit{logloss}:= & -\frac{1}{N}\sum_{i,k}1(y_{i}=k)\ln p(y_{ik})\end{align}
で評価する. 損失という名前が示すように, この値が小さいほうが望ましい.


gistee20ed63189843d37ab87e2d2c97f385

結果, 入れ子ロジットの logloss は 0.7141954, 多項ロジット/ソフトマックス回帰の logloss は 0.7194102 であった. 係数の違いは作表がめんどくさくなったので気になる各位はソースコードを実行して確認されたい. ここから, IIA の仮定が成り立たない状況では多項ロジット/ソフトマックス回帰は係数だけでなく, 予測精度も少し悪化するという結果になってしまった. もう少し厳密にシミュレーションしてみたいが, 時間がなかったのでとりあえずここまでとする.

結論

もし, 今回の実験に限らず, IIA の仮定が成り立たない状況一般でも, 今回の実験のように精度の悪化が見られるのなら, ビジネス分野など, 人間の意思決定を分析するために機械学習を利用するとき, 何も考えずに定番のソフトマックス回帰を適用するのは危険だということになる. しかし一方で, 入れ子ロジットのパラメータを推定するには, 入れ子構造を特定する必要がある. 機械学習的な利用をするなら, 階層構造を自動的に選択するようなアルゴリズムも必要となろう. 別の選択肢として, 多項プロビットや[発展編] 多項ロジットの話 - ill-identified diaryで紹介したような Mixture モデルがあるが, これらは選択肢が多い場合に計算に時間がかかると言われている. それ以外にも, ニューラルネットも含めた比較をそのうちやろうと思う.


  • Amemiya, Takeshi. 1985. Advanced Econometrics. Harvard University Press.

Advanced Econometrics

Advanced Econometrics

  • Cameron, AC, and PK Trivedi. 2005. Microeconometrics: Methods and Applications. Cambridge University Press.

Microeconometrics: Methods and Applications

Microeconometrics: Methods and Applications

Econometric Analysis of Cross Section and Panel Data (MIT Press)

Econometric Analysis of Cross Section and Panel Data (MIT Press)

*1:多項ロジスティック回帰と呼ばれることもある.

*2:Amemiya (1985), Cameron and Trivedi (2005), Train (2009), Wooldridge (2010) など

*3:ソフトマックス回帰においても, パラメータを一意に得るためにこの制約は必要である.