Stataの予測値コマンド
日常生活がヒッキーで何らエキサイティングなことがないので、またStataヒマネタ。
Stataでモデルを推計したあとに予測値を計算するにはpredictコマンドを使いますが、最近出版された入門書(下記参照)でも紹介されているように、ユーザ提供のprvalueコマンドをインストールすると、特定の条件下での予測値を返してくれます。以下のデータで実演(ちなみにこのデータはKreft and de Leeuw(1998)のなかで使用されたものです)。
use http://www.ats.ucla.edu/stat/stata/examples/mlm_imm/imm23.dta, clear
このデータは生徒の数学のスコア(math)についてのデータです。まずは簡単に、mathを、数学の宿題に費やす時間(週あたり)と白人ダミー(white)で回帰します。
reg math homework white
結果は
- homework 2.96***
- white 6.05***
- constant 41.33***
となります。
宿題の時間を平均として、非白人と白人のスコアの予測値を知りたいときは、次のように命令します。
prvalue, x(white==0)
prvalue, x(white==1)
そうすると非白人スコアは47.18、白人スコアは53.23だとわかります。(信頼区間も出力してくれます。)
これでもいいのですが、デフォルトでもなかなか便利なコマンドがあります。それがadjustコマンドです。
adjust homework, by(white) ci
とすると、同じ結果を返してくれます。byオプションがある分便利です。prvalueだと何度もコマンドを打ったり、マクロを使ったりしないといけない。
adjustの優れたところは、prvalueではカバーしていない推計、特にxtシリーズに対応していることです。このデータは学校ごとに採取されたもので、数学スコアに級内相関(ICC)が認められる(0.3くらい)ので、マルチレベルを使います。(学校レベル変数として公立校ダミー(public)を説明変数の切片に導入します。)
xtmixed math homework white public|| schid: homework white, cov(un) mle var
固定効果は
- homework 1.95**
- white 2.68†
- public -4.93***
- constant 48.17***
ランダム効果は
- homework 15.69
- white 24.04
- constant 64.41
(共分散は省略)
白人の効果がえらく小さくなってしまいました。whiteの学校間分散は(homeworkも)0ではないですが、あまり大きくありません。細かい結果の解釈は置いておくとして、adjustコマンドで予測してみます。
adjust homework, by(white public)
non-public public
non-white 52.01 47.08
white 54.69 49.76
白人効果より、non-public(私立)効果の方が大きいですね。(ちなみにwhiteとpublicのクロスレベル交互作用は、別途推計しましたが、あまり大きくないです。)
さて、こういうふうに紹介するとprvalueよりadjustの方が使えそうに見えますが、prvalueは値の設定については多様なやり方を用意してますので(最大・最小値、中央値など)、ばかにできません。
- 作者: 石黒格
- 出版社/メーカー: 北大路書房
- 発売日: 2008/04
- メディア: 単行本
- クリック: 4回
- この商品を含むブログ (5件) を見る
Introducing Multilevel Modeling (Introducing Statistical Methods series)
- 作者: Kreft
- 出版社/メーカー: Sage Publications Ltd
- 発売日: 1998/06
- メディア: ペーパーバック
- この商品を含むブログ (2件) を見る