迴歸診斷與規格檢定

簡介

在許多統計分析案例中,我們不確定我們的統計模型是否被正確地指定。例如,當使用 OLS 時,會假設線性性和同質變異性,一些檢定統計量還假設誤差呈常態分佈或我們有大的樣本。由於我們的結果取決於這些統計假設,因此結果只有在我們的假設成立(至少近似成立)時才是正確的。

解決規格不確定性問題的一個方法是使用穩健方法,例如穩健迴歸或穩健共變異數(三明治)估計量。第二種方法是檢定我們的樣本是否與這些假設一致。

以下簡要總結了線性迴歸的規格和診斷檢定。

異質變異性檢定

對於這些檢定,虛無假設是所有觀察值都具有相同的誤差變異數,即誤差是同質變異的。檢定之間的差異在於哪種異質變異性被視為對立假設。它們在不同類型的異質變異性的檢定力方面也不同。

het_breuschpagan

Breusch-Pagan 的拉格朗日乘數異質變異性檢定

het_white

White 的拉格朗日乘數異質變異性檢定

het_goldfeldquandt

檢定 2 個子樣本中的變異數是否相同

自相關檢定

這組檢定檢定迴歸殘差是否不具有自相關性。它們假設觀察值按時間排序。

durbin_watson
  • Durbin-Watson 檢定,檢定殘差是否無自相關

  • 使用 summary() 列印

acorr_ljungbox
  • Ljung-Box 檢定,檢定殘差是否無自相關

  • 也返回 Box-Pierce 統計量

acorr_breusch_godfrey
  • Breusch-Pagan 檢定,檢定殘差是否無自相關

遺失
  • ?

非線性檢定

linear_harvey_collier
  • 乘數檢定,檢定線性規格是否正確的虛無假設

acorr_linear_rainbow
  • 乘數檢定,檢定線性規格是否正確的虛無假設。

acorr_linear_lm
  • 拉格朗日乘數檢定,檢定線性規格是否正確的虛無假設。此檢定針對特定的函數替代方案。

spec_white
  • White 的二階矩規格檢定,其虛無假設為同質變異且規格正確。

結構變更、參數穩定性檢定

檢定所有或部分迴歸係數在整個資料樣本中是否恆定。

已知變更點

OneWayLS
  • 彈性的 OLS 包裝器,用於檢定預先定義的子樣本(例如群組)的迴歸係數是否相同

遺失
  • 預測檢定:Greene,子樣本中的觀察值數量小於迴歸量的數量

未知變更點

breaks_cusumolsresid
  • 基於 OLS 殘差的參數穩定性 CUSUM 檢定

breaks_hansen
  • 模型穩定性檢定,OLS 參數中的中斷,Hansen 1992

recursive_olsresiduals

計算帶有殘差和 CUSUM 檢定統計量的遞迴 OLS。這目前主要是基於遞迴殘差檢定的輔助函數。然而,由於它使用遞迴更新並且不估計單獨的問題,因此它作為擴展 OLS 函數也應該非常有效。

遺失
  • supLM、expLM、aveLM (Andrews、Andrews/Ploberger)

  • R-structchange 也有 musum(移動累積和檢定)

  • 對遞迴參數估計的檢定,它們在哪裡?

多重共線性檢定

conditionnum (statsmodels.stattools)
  • – 需要與 Stata 進行檢定 –

  • 參考 Grene(第 3 版)第 57-8 頁

numpy.linalg.cond
  • (用於更一般的條件數,但沒有幕後幫助進行設計準備)

變異數膨脹因子

這目前與影響和離群值度量一起(與此處的其他一些檢定連結:http://www.stata.com/help.cgi?vif

常態性與分佈檢定

jarque_bera
  • 使用 summary() 列印

  • 檢定殘差是否呈常態分佈

scipy stats 中的常態性檢定

需要再次找到列表

omni_normtest
  • 檢定殘差是否呈常態分佈

  • 使用 summary() 列印

normal_ad
  • Anderson Darling 檢定,檢定具有估計平均值和變異數的常態性

kstest_normal lilliefors

Lilliefors 檢定常態性,這是一個 Kolmogorov-Smirnov 檢定,檢定具有估計平均值和變異數的常態性。lilliefors 是 kstest_normal 的別名

qqplot, scipy.stats.probplot

scipy.stats 中的其他分佈擬合優度檢定和增強功能
  • kolmogorov-smirnov

  • anderson : Anderson-Darling

  • 概似比率,……

  • 卡方檢定,冪次差異:需要包裝(用於分組)

離群值與影響診斷量測

這些量測嘗試識別離群值、具有大殘差的觀察值或對迴歸估計有很大影響的觀察值。穩健迴歸 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 - Cook's 距離 Wikipedia(以及其他一些連結)

  • cov_ratio

  • dfbetas

  • dffits

  • dffits_internal

  • det_cov_params_not_obsi

  • params_not_obsi

  • sigma2_not_obsi


上次更新:2024 年 10 月 03 日