ヘックマンのサンプルセレクションモデルは賃金関数の推定などによく使われるが、もしサンプルセレクションが働いている/失業だけではなくて、フルタイムで働いている/パートタイムで働いている/失業だった場合どうなるだろうか。
方法はいくつかあって、一番シンプルなのはフルタイムとパートタイムを「働いている」として統合してしまうこと。「パートタイム」ダミー変数やダミーとの積を入れれば問題ない。
もう一つはfirst stageでbivariate probitを使って逆ミルズ項を2つ入れるというもの。ただし、これは正直上記の例にはふさわしくないと僕は思う。なぜなら、フルタイムかそうじゃないかというのとパートタイムかそうじゃないかというのが別々の意思決定とは思えないからだ。たとえば、フルタイムかつパートタイムというグループが(理論上)生じてしまう。
最後は、Lee(1983)、Dubin and McFadden(1984)、Dahl(2004)などのMultinomial Logitを使った二段階推定だ。これは、普通のMultinomial Logitを応用したもので、効用最大化理論と整合的でありすっきりしている。ただし、推定が面倒。
しかし BourguignonほかがSTATAにadoファイルを用意している。
使い方は至極簡単で、単純に、
selmlog y x, select(i=z) lee
とすればLeeモデルが、
selmlog y x, select(i=z) dmf(1)
とすれば上記論文で推奨されているDubin-McFaddenの改良版での推定ができる。
ここで、yは賃金、xは賃金関数にいれたい変数、iはカテゴリを表すインジケータ(整数をとる)、zはfirst stageで使う独立変数である。
R厨の私がSTATAを10年ぶりくらいに触ってできたので非常に簡単である。