Rでみるセレクションバイアスの例

はじめに

少し古いけど、このような記事を見かけた。

優れたリーダーに学歴は関係ない。Googleが自社社員をデータ分析して得られた意外な知見

Googleは、世界でも有数のデータ指向企業として有名です。一般的に今でも直感に基づく判断が行われることが多い、人事の分野でもそれは変わりません。検索最大手の同社は、「人材分析」専門のチームを持っています。チームの仕事は、「開発に適用する厳密さを、人材にも適用する」こと。Googleはこれを極めて真剣に考えていて、同チームを率いるKathryn ...

この種の話題は「東大合格者がみんなやっている勉強法」とか「社長が語る成功術」とかと同じたぐいのもので、気づく人はサンプルセレクションバイアス(あるいは、打ち切りによって生じるバイアス)でしょとすぐに気づくと思う。とはいえちゃんと考えたことがなかったので、Rの練習をかねて、ちょっと考えてみる。

今回の命題(というには大げさですが……)は、次のようになる。

仮に学歴と能力の間に正の関係があったとしても、高い能力の者を採用している集団の内部においては、学歴と能力は無関係となる。

これを具体的な数値例で考えてみる。

セッティング

単純化のため、能力は1次元の変数とし、学歴は学力偏差値によって代替する。そのうえで、能力は\(Normal(0, 1)\)の正規分布にしたがい、学力偏差値は\(Normal(50, 10)\)の正規分布にしたがうものとする。そして、学力偏差値と能力の間には0.3の正の相関があるものとする。

この条件のもとでデータ(N = 100000)を生成すると次のような散布図ができる。横軸は偏差値、縦軸は能力を表すものとする。

ここでは、学力偏差値が高いほど能力が高いという正の関係がみてとれる。これが母集団における真の偏差値と能力の関係であると仮定しよう。

限定的な集団においては何が起こるか

従属変数(能力)によりセレクションされた集団

いまここで、とても高い能力を持っている者だけからなる集団があったとしよう(能力が高い人だけを正確に採用ができる会社があったら苦労しないだろうけど)。ここではその閾値を能力2(上位5%くらい)とする。青色が能力2以上の、赤色が能力2未満の集団である。

すると、能力の高い者だけからなる集団では、偏差値が高いほど能力が高いという関係がさきほどよりもかなり小さくなってしまっていることがわかる。

独立変数(偏差値)によりセレクションされた集団

では同じようにして、学歴の高い人だけからなる集団があったとしたらどうだろうか。ここでは偏差値70(上位5%くらい)を閾値とする。青色が偏差値70以上の、赤色が偏差値70未満の集団である。

すると、能力の高い人だけからなる集団をみた場合とは異なり、この場合、偏差値が高いほど能力も高いという関係がほぼ維持されているようだ。つまり、同じセレクションされた集団であるといえども、独立変数である偏差値を閾値として選別された集団では、母集団における「偏差値が高いほど能力が高い」という傾向を正しくつかんでいるようにみえる。

この結果は実際の数字でも確かめることができる。能力を従属変数、偏差値を独立変数とする回帰分析の推定結果が以下の表である。

表 偏差値と能力の関係に関する回帰分析
(1) 全体 (2) 能力 ≧ 2 (3) 偏差値≧70
(Intercept) -1.4999*** 2.1733*** -1.3963**
(0.0154) (0.0418) (0.4341)
hensachi 0.0301*** 0.0036*** 0.0293***
(0.0003) (0.0007) (0.0059)
R2 0.0902 0.0108 0.0106
Adj. R2 0.0902 0.0104 0.0101
Num. obs. 100000 2290 2315
RMSE 0.9554 0.3371 0.9432
***p < 0.001, **p < 0.01, *p < 0.05

Model (1)はすべてのサンプルを用いた推定結果である。最初にみたとおり偏差値と能力の間には正の関係があり、偏差値が1高いと能力が約0.03ポイント高い、という関係が成り立っている。

Model (2)は能力2以上の者だけからなる集団における推定結果である。するとModel (1)でみられた偏差値の係数は10分の1程度にまで大きく減少し、統計的には有意であるとはいえども、ほとんど0に近くなっている。つまり、能力の高い者だけを集めた集団において、偏差値と能力の間には正の関係は見られない

Model (3)は偏差値70以上の者だけからなる集団における推定結果である。ここはModel (2)とは違い、推定された偏差値の係数は全体サンプルにおける係数とかなり近くなっている。偏差値の高い者だけを集めた集団においては、偏差値と能力の間には母集団と同様の正の関係が確認される

独立変数(偏差値)によるセレクションは問題はないのか

まとめれば、従属変数である能力の多寡によって選択されたサンプルを対象とした場合、母集団における関係を正確に捉えられなくなってしまうということである1)なお、能力が直接のセレクションの基準でなかったとしても、偏差値および能力の両者と相関を持つ指標によってセレクションが起こっている場合には偏差値と学歴の関係にはバイアスが生じる。このあたりの話題に興味がある人は計量経済学の教科書や因果推論関係の本を読むとよいと思う。

では、独立変数である偏差値の多寡によって選択されたサンプルの分析には何の問題もないかといえばそうではない。再度さきほどの回帰分析の表を見てみると、Model 2とModel 3のサンプルサイズはほぼ同じなのにもかかわらず、独立変数の標準誤差がずっと大きくなっていることがわかる。

これは、独立変数の分散が縮小することによって生じている現象である。直感的には、似たような偏差値の人が集まれば、そのなかでの偏差値による違いは見えにくくなるというようなイメージである。サンプルサイズが十分に大きければ問題はないけれど、独立変数の値によるセレクションは独立変数の分散の縮小を介して標準誤差の増大をもたらし、係数の推定値を不安定にするということである。

まとめ

以上から、最初に述べた命題

仮に学歴(学力偏差値とする)と能力の間に正の関係があったとしても、高い能力の者を採用している集団の内部においては、学歴と能力は無関係となる。

は、シチュエーションによっては十分にあり得ることだと言えそうである。

結局今回の簡単なシミュレーションから得られるインプリケーションとしてはとてもありふれたことで、一部の限られた集団から得られた分析の結果は、その対象となっていない母集団に対しては一般化できないということだ。つまり、ある会社で学歴と能力の間に何ら関係がなかったとしても、労働者全体をみれば学歴と能力の間に関係があるというのは普通に起こりうる。

とはいえここまでで終わってしまうと少しつまらない。一部の限られた集団を対象とした分析が無意味かというとそういうわけではない。たとえばGoogleの社員から得られたデータは(当たり前だけど)Googleの社員の傾向を見るうえでは最適なデータなので、その分析結果をGoogle社内の人事評価の改善などに使うのはよいだろう。主張の目的とする対象と、データがカバーしている対象が一致しているか、もし一致していないとしたら、今回のデータが全体の集団のなかでどのような位置にあるのかというのを意識する、というのが本質的な問題だろう。

*全然関係ないけど、たまに学会でインタビューの研究報告を聞いていると、「偏りのあるサンプルなので母集団には一般化できない」というのを限界として挙げる謙虚な人がけっこういる。個人的には、ランダムサンプリングしなければたとえ10000人インタビューしても一般化の問題はまったく改善できないわけなので、個人的にはそれよりむしろ、扱っている問題を解くうえでその限られたサンプルがいかに有益かを主張してほしいなぁと思う。外れ値的な位置にあるデータというのはそれ自体とても貴重だと思うので。

使用したRコード

 これが一番大事な情報かもしれない笑

追記

記事を公開した段階では、

仮に学歴(学力偏差値とする)と能力の間に正の関係があったとしても高い学歴または高い能力の者を採用している集団の内部においては、学歴と能力は無関係となる。

というかたちだと思っていたのですが、初歩的な理解の間違いをしていたことが発覚しました。@himagegineさんにご指摘をいただきました。ありがとうございます。

従属変数の打ち切りの場合、OLSの係数は不偏性も一致性ももたないけれど(いわゆるサンプルセレクションの状況)、独立変数の打ち切りの場合は有効性が低下するだけであって係数自体はBLUEとなるようです。

Notes   [ + ]

1. なお、能力が直接のセレクションの基準でなかったとしても、偏差値および能力の両者と相関を持つ指標によってセレクションが起こっている場合には偏差値と学歴の関係にはバイアスが生じる。このあたりの話題に興味がある人は計量経済学の教科書や因果推論関係の本を読むとよいと思う。