線形回帰

独立かつ同一分布の誤差を持つ線形モデル、および異分散性または自己相関を持つ誤差を持つ線形モデル。このモジュールでは、最小二乗法(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\)の特性に応じて、現在4つのクラスが利用可能です

  • GLS:任意の共分散\(\Sigma\)に対する一般化最小二乗法

  • OLS:i.i.d.誤差に対する最小二乗法\(\Sigma=\textbf{I}\)

  • WLS:異分散誤差に対する加重最小二乗法\(\text{diag}\left (\Sigma\right)\)

  • GLSAR:自己相関AR(p)誤差を持つ実行可能な一般化最小二乗法\(\Sigma=\Sigma\left(\rho\right)\)

すべての回帰モデルは同じメソッドを定義し、同じ構造に従い、同様の方法で使用できます。それらのいくつかは、モデル固有の追加のメソッドと属性を含んでいます。

GLSは、RecursiveLS、RollingWLS、およびRollingOLSを除く他の回帰クラスの親クラスです。

参考文献

回帰モデルの一般的な参考文献

  • D.C.モンゴメリーおよびE.A.ペック。「線形回帰分析入門」。第2版、Wiley、1992年。

回帰モデルの計量経済学の参考文献

  • R.デビッドソンとJ.G.マッキノン。「計量経済学の理論と方法」、オックスフォード、2004年。

  • W.グリーン。「計量経済分析」、第5版、ピアソン、2003年。

属性

以下は、すべての回帰クラスに共通する属性の詳細な説明です

pinv_wexogarray

ホワイトニングされた計画行列のp x nムーア・ペンローズ擬似逆行列。\(\left(X^{T}\Sigma^{-1}X\right)^{-1}X^{T}\Psi\)にほぼ等しくなります。ここで、\(\Psi\)\(\Psi\Psi^{T}=\Sigma^{-1}\)を満たすように定義されます。

cholsimgainvarray

n x n上三角行列\(\Psi^{T}\)であり、\(\Psi\Psi^{T}=\Sigma^{-1}\)を満たします。

df_modelfloat

モデルの自由度。p - 1に等しく、pは回帰変数の数です。切片はここでは自由度を使用するものとしてカウントされないことに注意してください。

df_residfloat

残差の自由度。n - pに等しく、nは観測値の数、pはパラメータの数です。切片はここでは自由度を使用するものとしてカウントされることに注意してください。

llffloat

適合モデルの尤度関数の値。

nobsfloat

観測値の数n

normalized_cov_paramsarray

p x pの配列であり、\((X^{T}\Sigma^{-1}X)^{-1}\)に等しくなります。

sigmaarray

誤差項のn x n共分散行列:\(\epsilon\sim N\left(0,\Sigma\right)\)

wexogarray

ホワイトニングされた計画行列\(\Psi^{T}X\)

wendogarray

ホワイトニングされた応答変数\(\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日