【Stata】estimates系の関数の用法

Stataを使って分析しているときに便利な関数が、"estimates ○○"系の関数です。これらは簡単に言うと、回帰分析などで推定した結果を保存したり、保存している推定結果を取り出したりする機能を持っています。これらの関数の使い方はStataのマニュアルに載っているのですが、ここではそれらのなかでも比較的使用頻度が多いとみられるいくつかの関数の使い方について簡単にメモしておきます。

推定結果を保存する|estimates store/restore

何かモデルを推定した直後に"estimates store name"と打つことで、推定結果にnameという名前をつけて保存することができます。下線は、"estimates store"と律儀にすべて書かなくても、少なくとも"est sto"と打てばちゃんと認識してくれますよ、という意味です。

せっかくなので、何かデータを使いながらやってみます。Stata pressが提供している車のデータを使ってみましょう。たとえば以下のように使用します。

use http://www.stata-press.com/data/r13/auto   /*データを読み込む*/
regress mpg weight   /*mpg(車の燃費)をweight(重量)で回帰*/
est sto m1   /*m1という名前をつけて保存*/
regress mpg weight displacement   /*m1に加えてdisplacement(排気量)を投入*/

"restore name"は、一度名前をつけたものに上書きをすることができます。

regress mpg weight displacement foreign   /*foreign(外車ダミー)*/
est restore m1

保存した推定結果を消去する|estimates drop/clear

"estimates drop namelist"は、保存した推定結果のうち、namelistで指定したものを消去します。すべて消去する場合は、"estimates clear"を使います。

est drop m1
est clear

保存した推定結果を並べて表を作成する|estimates table

先ほど保存した結果を呼び出す関数がこれです。とくに、同じ従属変数に対して複数のモデルを推定する場合(階層的回帰分析)に強みを発揮します。"estimates table namelist"で、namelistで指定したものについて、保存された推定結果を呼び出します。たとえば以下のように。

regress mpg weight
est sto m1
regress mpg weight displacement foreign
est sto m2
est tab m1 m2

何もオプションを指定しない場合は、以下のように切片および独立変数の係数だけが出力されます。

この関数は、オプションを色々と設定することでより適切な表を作成することができます。たとえば以下のようにしてみましょう。,以下でオプションを設定します。

est tab m1 m2, b(%9.4f) se p stats(N r2 r2_a) stfmt(%9.3f) style(noline)

table2

それぞれのオプションについて説明します。

b(%9.4f):係数を小数点以下第4位まで表示。4の部分を3とか2に変えることも当然できます。
se:標準誤差を表示。フォーマットを指定しない場合、表示される桁数はbで指定したものと同じものが表示されます。
p:p値を表示。
stfmt(%9.3f):scalarのフォーマットを指定しています。ここでは値を小数点以下第3位まで表示するようにしています。
stats(N r2 r2_p):保存されているscalarを呼び出します。どのようなscalarが保存されているかは、モデルの推定のときに使用した関数によって異なっています。それぞれのマニュアルをご覧ください。ここでは、サンプルサイズ、R2乗値、自由度調整済みR2乗値を表示しました。
style(noline):縦線を表示しないようにします。

保存した複数のモデルの適合度を比較する|estimates stats

モデル選択に関係する統計量を呼び出します。"estimates stats namelist"で、namelistで指定したものについて、保存された統計量を呼び出します。例えば以下のように。

logit foreign mpg weight
est sto m3
logit foreign mpg weight displacement
est sto m4
est stat m3 m4

table3

複数のモデルの適合度を一度に比較するときに便利なコマンドです。