Jim*_*616 6 python python-3.x 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
==============================================================================
Run Code Online (Sandbox Code Playgroud)
但假设我只对其中几个参数感兴趣,例如No. observations和R-squared。我怎样才能只打印某些参数,例如这些?使用print(results)只是给出一个指向results对象的指针:
print(results)
<statsmodels.regression.linear_model.RegressionResultsWrapper object at 0x0000020DAB8028D0>
Run Code Online (Sandbox Code Playgroud)
拟合模型OLS会返回一个RegressionResults对象 - 从文档中可以看出,该类有很多属性,可以为您提供特定信息,例如观测值数量 ( nobs) 和 R 平方值 ( rsquared)。
看一下 的源代码summary,它实际上只是将所有单独可用的属性格式化为一个不错的表。
演示
>>> 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4998 次 |
| 最近记录: |