[Stata]Oaxaca分解(oaxaca, xtoaxaca) Part2


前回に引き続き、StataでKitagawa-Oaxaca-Blinder分解(以下、Oaxaca分解)を行う方法をご紹介します。今回登場するのは、グループ間格差の経時的な寄与度変化を捉えるOaxaca分解(Kröger and Hartmann, 2021)を実行するコードxtoaxacaです。詳細は実際の論文をご確認ください。

〈引用元〉
Kröger, H., & Hartman, J. (2019). xtoaxaca: Extending the Oaxaca–Blinder decomposition approach to longitudinal data analyses. In German Stata Users' Group Meetings 2019 (No. 06). Stata Users Group.
https://doi.org/10.31235/osf.io/egj79

使用するシチュエーション

まず使用するシチュエーションですが、男女や人種などのグループ間の格差が、時間と共にどのように変化したのか、そしてその変化が「属性の差」の変化によるものなのか、「係数の差」の変化によるものなのかを分析したい時に用います。
 簡単な例を考えましょう。ここ数十年もの間に、男女間の賃金格差は縮小されつつあります。しかし、この格差の縮小は、
①男女間の能力やスキル、勤続年数などの差が縮小したことによるものなのか、
②男女間の評価や差別の差が縮小したことによるものなのか
は即座には判別できません。
 ここで、①を労働生産要素量の差、②を労働生産要素価格の差と呼ぶことがあります。労働生産要素量が異なる場合、支払われる賃金が異なることはある意味では当然です。しかし、同じ労働生産要素量を持っていながら男女で評価が異なる場合、それは雇用主による差別であると解されます。xtoaxacaを使用することで、格差の変化に①と②がそれぞれ何%寄与しているかを明らかにすることができます。

Stataコード

xtoaxacaは通常のoaxacaとは異なり、postestimationコマンドとなっています。固定効果モデルでも変量効果モデルでも良いですが、まずは以下のようなgrowth curve analysisを行います。

xtreg y c.(x1 x2)##i.group##i.year i.(z1 z2)##i.group##i.year,re vce(cl id)

x1, x2は連続変数、z1, z2はカテゴリ変数、groupは男性ダミーなどの2値変数を表します。こちらの推計結果はあまり重要ではないので、文頭にqui:を置いても問題ありません。次に、以下のようにして名前をつけて推計結果を保存します。

est store est1

今回はest1という名前をつけましたが、任意の名前で保存できます。続いて、いよいよxtoaxacaに移ります。文法は以下の通りです。

xtoaxaca x1 x2 z1 z2, groupvar(group) groupcat(0 1) timvar(time) times(# #) timeref(#) model(est1) change(modelname) normalize(z1 z2)

複雑ですが、まず最初の部分x1, x2, z1, z2は分解する説明変数です。次にgroupvar()の中には男性ダミーなどの2値変数を置きます。groupcat(0 1)はgroup=0とgroup=1を比較せよ、という意味です。timvar()はyearなどの時間変数を置きます。times()には分析対象期間を置きます。例えば1990、2000、2010、2020年の経時変化について見たい場合はtimes(1990 2000 2010 2020)とすればよいです。timeref()には基準年を置きます。model()の中には分解に使用したいモデルを置きます。先ほどの例ですとest1となります。最後にchange()ですが、この中身はssm, interventionist, interventionist_twofold, smithwelch, wellington, mpjd, none, kimなど、分解するタイプを選べます。紙幅の都合上、一つ一つ説明することはできませんが、interventionistは政策変更などの分析に適していると述べられています。normalize()の部分ですが、カテゴリ変数などを正規化するのに用いられます。詳細は元論文をご参照ください。

 なお注意点ですが、xtoaxacaは解析的に標準誤差を計算できないため、統計的有意性を検証したい場合はブートストラップを用いるほかありません。上記の文末にbootstrap(#)を付け加えることで、#回ブートストラップを行います。

いいなと思ったら応援しよう!