回帰診断と仕様テスト¶
はじめに¶
多くの統計分析において、統計モデルが正しく指定されているかどうかは不明確です。例えば、OLSを使用する場合、線形性と等分散性が仮定され、一部の検定統計量は、さらに誤差が正規分布に従うこと、または大きなサンプルサイズを持つことを仮定しています。これらの統計的仮定に結果が依存するため、結果はこれらの仮定が(少なくとも近似的に)成立する場合にのみ正しいものとなります。
正しい仕様に関する不確実性の問題に対する一つの解決策は、ロバストな方法、例えばロバスト回帰やロバスト共分散(サンドイッチ)推定量を使用することです。もう一つのアプローチは、サンプルがこれらの仮定と整合性があるかどうかを検定することです。
以下は、線形回帰の仕様テストと診断テストの概要です。
異分散性検定¶
これらの検定では、帰無仮説はすべての観測値が同じ誤差分散を持つ(つまり、誤差は等分散である)ということです。検定は、どの種類の異分散性が代替仮説として考慮されるかによって異なります。また、異なる種類の異分散性に対する検定の検出力も異なります。
het_breuschpagan
ブルッシュ・パガンによるラグランジュ乗数異分散性検定
het_white
ホワイトによるラグランジュ乗数異分散性検定
het_goldfeldquandt
2つのサブサンプルで分散が同じかどうかを検定する
自己相関検定¶
このグループの検定は、回帰残差が自己相関していないかどうかを検定します。観測値は時間順に並んでいると仮定します。
durbin_watson
残差の自己相関がないためのダービン・ワトソン検定
summary()で出力される
acorr_ljungbox
残差の自己相関がないためのリュン・ボックス検定
ボックス・ピアース統計量も返す
acorr_breusch_godfrey
残差の自己相関がないためのブルッシュ・ゴドフリー検定
- 欠損
?
非線形性検定¶
linear_harvey_collier
線形仕様が正しいという帰無仮説に対する乗数検定
acorr_linear_rainbow
線形仕様が正しいという帰無仮説に対する乗数検定。
acorr_linear_lm
線形仕様が正しいという帰無仮説に対するラグランジュ乗数検定。これは特定の関数的代替案に対して検定します。
spec_white
ホワイトの2モーメント仕様検定。等分散性かつ正しく指定されているという帰無仮説。
構造変化、パラメータ安定性の検定¶
すべての回帰係数または一部の回帰係数が、データサンプル全体で一定であるかどうかを検定します。
既知の変化点¶
- OneWayLS
事前に定義されたサブサンプル(例:グループ)間で同一の回帰係数を検定するための柔軟なOLSラッパー
- 欠損
予測検定:グリーンプロセス、サブサンプルの観測数の回帰量の数より少ない
未知の変化点¶
breaks_cusumolsresid
OLS残差に基づくパラメータ安定性のためのCUSUM検定
breaks_hansen
モデルの安定性、OLSのパラメータにおけるブレークの検定、ハンセン1992
recursive_olsresiduals
残差とCUSUM検定統計量を持つ再帰的OLSを計算します。これは現在、主に再帰的残差に基づく検定のためのヘルパー関数です。ただし、再帰的更新を使用し、個別の問題を推定しないため、拡張OLS関数としても非常に効率的です。
- 欠損
supLM、expLM、aveLM(アンドリュース、アンドリュース/プロバーガー)
R-structchangeには、MUSUM(移動累積和検定)もあります
再帰的パラメータ推定値に関する検定、それはどこにあるか?
多重共線性検定¶
- conditionnum (statsmodels.stattools)
– Stataとの比較テストが必要 –
cf グリーンプロセス(第3版)pp 57-8
- numpy.linalg.cond
(より一般的な条件数については、しかし設計準備のための裏方のヘルプはない)
- 分散拡大係数
これは現在、影響と外れ値の尺度と一緒です(他のテストへのいくつかのリンクはこちら:http://www.stata.com/help.cgi?vif)
正規性と分布の検定¶
jarque_bera
summary()で出力される
残差の正規分布の検定
- scipy.statsの正規性検定
リストをもう一度探す必要がある
omni_normtest
残差の正規分布の検定
summary()で出力される
normal_ad
平均と分散を推定した正規性に対するアンダーソン・ダーリング検定
kstest_normal
lilliefors
正規性のためのリリエフォース検定。これは、平均と分散を推定した正規性に対するコルモゴロフ・スミルノフ検定です。lillieforsはkstest_normalのエイリアスです。
qqplot、scipy.stats.probplot
- scipy.statsおよび拡張機能における分布の他の適合度検定
コルモゴロフ・スミルノフ
anderson:アンダーソン・ダーリング
尤度比、…
カイ二乗検定、powerdiscrepancy:ラッピングが必要(ビンニングのため)
外れ値と影響の診断尺度¶
これらの尺度は、外れ値(大きな残差を持つ観測値)、または回帰推定値に大きな影響を与える観測値を特定しようとします。ロバスト回帰(RLM)は、外れ値にロバストな方法で推定し、外れ値を特定するためにも使用できます。RLMの利点は、多くの外れ値が存在する場合でも推定結果が大きく影響を受けないことです。一方、他のほとんどの尺度は、個々の外れ値の特定には優れていますが、外れ値のグループを特定できない可能性があります。
RLM
example_rlm.pyからの例
import statsmodels.api as sm ### Example for using Huber's T norm with the default ### median absolute deviation scaling data = sm.datasets.stackloss.load() data.exog = sm.add_constant(data.exog) huber_t = sm.RLM(data.endog, data.exog, M=sm.robust.norms.HuberT()) hub_results = huber_t.fit() print(hub_results.weights)
そして、重みは、特定の観測値が要求されたスケーリングに従ってどの程度ダウンウェイトされているかを示しています。
影響
stats.outliers_influenceのクラス。外れ値と影響に関するほとんどの標準的な尺度は、適合されたOLSモデルが与えられた場合、メソッドまたは属性として利用できます。これは主にOLS用に記述されており、一部の尺度(すべてではない)は他のモデルにも有効です。これらの統計の一部はOLSの結果インスタンスから計算できますが、他の統計は、各除外変数に対してOLSを推定する必要があります。
resid_press
resid_studentized_external
resid_studentized_internal
ess_press
hat_matrix_diag
cooks_distance - クックの距離 Wikipedia(他のいくつかのリンク付き)
cov_ratio
dfbetas
dffits
dffits_internal
det_cov_params_not_obsi
params_not_obsi
sigma2_not_obsi