web-dev-qa-db-ja.com

statsmodelsを使用して、係数t検定で不均一分散を修正した標準誤差を取得する

私は statsmodels.regression.linear_model.RegressionResults のAPIを掘り下げており、(HC0_seなどのプロパティを介して)不均一分散が修正された標準エラーのさまざまなフレーバーを取得する方法を見つけました。これらの修正された標準誤差を使用するための係数のt-検定を取得する方法を完全に理解することはできません。 APIでこれを行う方法はありますか、それとも手動で行う必要がありますか?後者の場合、statsmodelsの結果でこれを行う方法についてのガイダンスを提案できますか?

11
sparc_spread

線形モデル、離散モデル、およびGLMのfitメソッドは、ロバストな共分散行列を指定するためにcov_typeおよびcov_kwds引数を取ります。これは結果インスタンスに添付され、サマリーテーブルで報告されるすべての推論と統計に使用されます。

残念ながら、ドキュメントにはまだこれが適切な方法で示されていません。オプションに基づいてサンドイッチを実際に選択する補助メソッドは、オプションと必要な引数を示しています。 http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLS.fit.html ==

たとえば、OLSモデルを推定し、HC3共分散行列を使用すると、次のように実行できます。

model_ols = OLS(...)
result = model_ols.fit(cov_type='HC3')
result.bse
result.t_test(....)

一部のサンドイッチには追加の引数が必要です。たとえば、クラスターの堅牢な標準エラーは、mygroupsがグループラベルを含む配列であると仮定して、次の方法で選択できます。

results = OLS(...).fit(cov_type='cluster', cov_kwds={'groups': mygroups}
results.bse
...

一部のロバストな共分散行列は、チェックせずにデータについて追加の仮定を行います。たとえば、不均一分散と自己相関のロバストな標準誤差、またはNewey-West、HAC、標準誤差は、順次時系列構造を想定しています。一部のパネルデータの堅牢な標準誤差は、個人による時系列の積み重ねも想定しています。

別のオプションuse_tを使用して、tとF、または正規分布とカイ2乗分布をWald検定と信頼区間にデフォルトで使用するかどうかを指定できます。

21
Josef