線性迴歸

此模組提供獨立同分布誤差,以及具異質性或自我相關誤差的線性模型。此模組允許使用普通最小平方法 (OLS)、加權最小平方法 (WLS)、廣義最小平方法 (GLS) 以及具自我相關 AR(p) 誤差的可行廣義最小平方法進行估計。

請參閱模組參考以了解指令和引數。

範例

# Load modules and data
In [1]: import numpy as np

In [2]: import statsmodels.api as sm

In [3]: spector_data = sm.datasets.spector.load()

In [4]: spector_data.exog = sm.add_constant(spector_data.exog, prepend=False)

# Fit and summarize OLS model
In [5]: mod = sm.OLS(spector_data.endog, spector_data.exog)

In [6]: res = mod.fit()

In [7]: print(res.summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                  GRADE   R-squared:                       0.416
Model:                            OLS   Adj. R-squared:                  0.353
Method:                 Least Squares   F-statistic:                     6.646
Date:                Thu, 03 Oct 2024   Prob (F-statistic):            0.00157
Time:                        16:15:31   Log-Likelihood:                -12.978
No. Observations:                  32   AIC:                             33.96
Df Residuals:                      28   BIC:                             39.82
Df Model:                           3                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
GPA            0.4639      0.162      2.864      0.008       0.132       0.796
TUCE           0.0105      0.019      0.539      0.594      -0.029       0.050
PSI            0.3786      0.139      2.720      0.011       0.093       0.664
const         -1.4980      0.524     -2.859      0.008      -2.571      -0.425
==============================================================================
Omnibus:                        0.176   Durbin-Watson:                   2.346
Prob(Omnibus):                  0.916   Jarque-Bera (JB):                0.167
Skew:                           0.141   Prob(JB):                        0.920
Kurtosis:                       2.786   Cond. No.                         176.
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

詳細範例可在此處找到

技術文件

統計模型假設為

\(Y = X\beta + \epsilon\),其中 \(\epsilon\sim N\left(0,\Sigma\right).\)

根據 \(\Sigma\) 的屬性,目前有四個可用的類別

  • GLS : 適用於任意共變異數 \(\Sigma\) 的廣義最小平方法

  • OLS : 適用於獨立同分布誤差 \(\Sigma=\textbf{I}\) 的普通最小平方法

  • WLS : 適用於異質性誤差 \(\text{diag}\left (\Sigma\right)\) 的加權最小平方法

  • GLSAR : 適用於具自我相關 AR(p) 誤差 \(\Sigma=\Sigma\left(\rho\right)\) 的可行廣義最小平方法

所有迴歸模型都定義相同的方法並遵循相同的結構,並且可以以類似的方式使用。其中一些包含額外的模型特定方法和屬性。

GLS 是其他迴歸類別的超類別,除了 RecursiveLS、RollingWLS 和 RollingOLS 之外。

參考文獻

迴歸模型的一般參考文獻

  • D.C. Montgomery 和 E.A. Peck. "Introduction to Linear Regression Analysis." 2nd. Ed., Wiley, 1992.

迴歸模型的計量經濟學參考文獻

  • R.Davidson 和 J.G. MacKinnon. "Econometric Theory and Methods," Oxford, 2004.

  • W.Green. "Econometric Analysis," 5th ed., Pearson, 2003.

屬性

以下是對屬性的更詳細描述,這些屬性大多為所有迴歸類別所通用

pinv_wexog陣列

白化設計矩陣的 p x n Moore-Penrose 偽逆矩陣。它大約等於 \(\left(X^{T}\Sigma^{-1}X\right)^{-1}X^{T}\Psi\),其中 \(\Psi\) 定義為 \(\Psi\Psi^{T}=\Sigma^{-1}\)

cholsimgainv陣列

滿足 \(\Psi\Psi^{T}=\Sigma^{-1}\)n x n 上三角矩陣 \(\Psi^{T}\)

df_model浮點數

模型的自由度。這等於 p - 1,其中 p 是迴歸變數的數量。請注意,此處截距不計為使用自由度。

df_resid浮點數

殘差的自由度。這等於 n - p,其中 n 是觀測值的數量,而 p 是參數的數量。請注意,此處截距計為使用自由度。

llf浮點數

擬合模型的對數概似函數值。

nobs浮點數

觀測值的數量 n

normalized_cov_params陣列

一個 p x p 的陣列,等於 \((X^{T}\Sigma^{-1}X)^{-1}\)

sigma陣列

誤差項的 n x n 共變異數矩陣:\(\epsilon\sim N\left(0,\Sigma\right)\)

wexog陣列

白化設計矩陣 \(\Psi^{T}X\)

wendog陣列

白化應變數 \(\Psi^{T}Y\)

模組參考

模型類別

OLS(endog[, exog, missing, hasconst])

普通最小平方法

GLS(endog, exog[, sigma, missing, hasconst])

廣義最小平方法

WLS(endog, exog[, weights, missing, hasconst])

加權最小平方法

GLSAR(endog[, exog, rho, missing, hasconst])

具有 AR 共變異數結構的廣義最小平方法

yule_walker(x[, order, method, df, inv, demean])

使用尤爾-沃克方程式從序列估計 AR(p) 參數。

burg(endog[, order, demean])

計算伯格的 AP(p) 參數估計值。

QuantReg(endog, exog, **kwargs)

分位數迴歸

RecursiveLS(endog, exog[, constraints])

遞迴最小平方法

RollingWLS(endog, exog[, window, weights, ...])

滾動加權最小平方法

RollingOLS(endog, exog[, window, min_nobs, ...])

滾動普通最小平方法

GaussianCovariance()

使用高斯核心的 ProcessCovariance 實作。

ProcessMLE(endog, exog, exog_scale, ...[, cov])

擬合高斯平均值/變異數迴歸模型。

SlicedInverseReg(endog, exog, **kwargs)

切片反迴歸 (SIR)

PrincipalHessianDirections(endog, exog, **kwargs)

主海森方向 (PHD)

SlicedAverageVarianceEstimation(endog, exog, ...)

切片平均變異數估計 (SAVE)

結果類別

擬合線性迴歸模型會回傳一個結果類別。相較於其他線性模型的結果類別,OLS 有一個特定的結果類別,其中包含一些額外的方法。

RegressionResults(model, params[, ...])

此類別總結了線性迴歸模型的擬合結果。

OLSResults(model, params[, ...])

OLS 模型的結果類別。

PredictionResults(predicted_mean, ...[, df, ...])

預測的結果類別。

RegularizedResults(model, params)

使用正規化估計模型的結果。

QuantRegResults(model, params[, ...])

QuantReg 模型的結果實例。

RecursiveLSResults(model, params, filter_results)

用於保存遞迴最小平方模型擬合結果的類別。

RollingRegressionResults(model, store, ...)

滾動迴歸的結果。

ProcessMLEResults(model, mlefit)

高斯過程迴歸模型的結果類別。

DimReductionResults(model, params, eigs)

降維迴歸的結果類別。


最後更新:2024 年 10 月 03 日