访问 statsmodels 中的各个参数
Accessing individual parameters in statsmodels
我正在使用 statsmodels.api 检查不同变量组合的统计参数。您可以使用 print(results.summary())
得到
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.454
Model: OLS Adj. R-squared: 0.454
Method: Least Squares F-statistic: 9694.
Date: Mon, 30 Jul 2018 Prob (F-statistic): 0.00
Time: 10:14:47 Log-Likelihood: -9844.7
No. Observations: 11663 AIC: 1.969e+04
Df Residuals: 11662 BIC: 1.970e+04
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
x1 -1.4477 0.015 -98.460 0.000 -1.477 -1.419
==============================================================================
Omnibus: 1469.705 Durbin-Watson: 1.053
Prob(Omnibus): 0.000 Jarque-Bera (JB): 2504.774
Skew: 0.855 Prob(JB): 0.00
Kurtosis: 4.493 Cond. No. 1.00
==============================================================================
但是假设我只对其中的几个参数感兴趣,比如 No. observations
和 R-squared
。 如何只打印某些参数,例如这些? 使用 print(results)
只是给出一个指向 results
对象的指针:
print(results)
<statsmodels.regression.linear_model.RegressionResultsWrapper object at 0x0000020DAB8028D0>
用 OLS
returns 一个 RegressionResults
对象拟合模型 - 从文档中,class 有很多属性可以为您提供特定信息,例如观察次数 (nobs
) 和 R 平方值 (rsquared
)。
看看 source code for summary
,它实际上只是将所有单独可用的属性格式化为适合您的 table。
演示
>>> Y = [1, 3, 4, 5, 2, 3, 4]; X = range(1, 8)
>>> model = sm.OLS(Y, X)
>>> results = model.fit()
>>> results.nobs, results.rsquared
(7.0, 0.16118421052631615)
我正在使用 statsmodels.api 检查不同变量组合的统计参数。您可以使用 print(results.summary())
得到
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.454
Model: OLS Adj. R-squared: 0.454
Method: Least Squares F-statistic: 9694.
Date: Mon, 30 Jul 2018 Prob (F-statistic): 0.00
Time: 10:14:47 Log-Likelihood: -9844.7
No. Observations: 11663 AIC: 1.969e+04
Df Residuals: 11662 BIC: 1.970e+04
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
x1 -1.4477 0.015 -98.460 0.000 -1.477 -1.419
==============================================================================
Omnibus: 1469.705 Durbin-Watson: 1.053
Prob(Omnibus): 0.000 Jarque-Bera (JB): 2504.774
Skew: 0.855 Prob(JB): 0.00
Kurtosis: 4.493 Cond. No. 1.00
==============================================================================
但是假设我只对其中的几个参数感兴趣,比如 No. observations
和 R-squared
。 如何只打印某些参数,例如这些? 使用 print(results)
只是给出一个指向 results
对象的指针:
print(results)
<statsmodels.regression.linear_model.RegressionResultsWrapper object at 0x0000020DAB8028D0>
用 OLS
returns 一个 RegressionResults
对象拟合模型 - 从文档中,class 有很多属性可以为您提供特定信息,例如观察次数 (nobs
) 和 R 平方值 (rsquared
)。
看看 source code for summary
,它实际上只是将所有单独可用的属性格式化为适合您的 table。
演示
>>> Y = [1, 3, 4, 5, 2, 3, 4]; X = range(1, 8)
>>> model = sm.OLS(Y, X)
>>> results = model.fit()
>>> results.nobs, results.rsquared
(7.0, 0.16118421052631615)