tb022  係数値の参照



推定を実行した後、フィットされたモデル式に基づき何らかの値を算出するという操作はpredictやmarginsコマンドによって行えるため、係数値を直接参照する機会は余り高くないと考えられますが、_bというシステム変数がそのために用意されているので、ここではその用法を簡単に紹介しておきます。
 

(1) predictコマンドを用いる方法

最初にExampleデータセットauto.dtaを用いて簡単な線形回帰モデルをフィットさせます。

. sysuse auto.dta
. regress mpg weight foreign

フィットされたモデル式を書き出すと、

mpghat = -0.0065879*weight -1.650029*foreign + 41.6797

のようになります。このモデル式に基づく予測値はpostestimation機能の1つであるpredictコマンドを用いることによって計算することができます。

predictによって計算できる項目は直前に実行された推定コマンドに依存するわけですが、regress実行後の場合には16種類の項目が算出できます。デフォルトはモデル式に基づく線形予測値xbで、計算された値は新変数mpghat1中に格納されます。

. predict mpghat1, xb
. list make mpg mpghat1 in 1/5

観測値mpgとの差分が残差となります。
 

(2) 係数参照による方法

今度はモデル式を直接記述する方法によって予測値を算出してみます。その際、係数参照にシステム変数_bを用いれば、実際の数値を転記せずに済みます。

. generate mpghat2 = _b[weight]*weight + _b[foreign]*foreign + _b[_cons]
. list make mpg mpghat1 mpghat2 in 1/5

predictによる予測値と同じ結果が得られていることがわかります。
 

(3) 複数方程式モデル

regressの場合のように回帰方程式が1つしかないときには係数参照は_b[varname]という形ですみますが、varやvecのように複数の方程式に対して同時にフィットが行われる場合には、[eqno]_b[varname]という参照形態を用いる必要があります。詳細はマニュアルページ [U] 13.5 Accessing coefficients and standard errors をご参照ください。
 

(4) testコマンド中での参照

推定された係数値b0, b1, ...が0と言えるか否かの検定結果は推定コマンドの出力中にp値として掲載されていますが、より複雑な検定を行いたい場合にはpostestimation機能であるtestやtestnlコマンドを使用します。その場合にも係数の指定が必要となるわけですが、その際には_b[ ]を省略することが許されています。


 

(5) coeflegendオプション

モデル式が複雑になった場合、係数をどう参照したら良いか確信が持てなくなることもあります。そのような場合に、推定コマンドに続けてcoeflegendオプションを指定するとその参照様式を表示させることができます。

. regress, coeflegend


小技コーナー ページへ戻る

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

© 2018 Math工房