Python numpy statsmodels OLS回归具体值

标签 python numpy regression statsmodels

社区您好,我下面的代码实现了多重回归线性分析并根据 x 和 y 值显示多个统计数据:

import numpy as np
import statsmodels.api as sm

y = [1,2,3,4,3,4,5,4,5,5,4,5,4,5,4,5,6,5,4,5,4,3,4]

x = [
     [4,2,3,4,5,4,5,6,7,4,8,9,8,8,6,6,5,5,5,5,5,5,5],      #<-x1
     [4,1,2,3,4,5,6,7,5,8,7,8,7,8,7,8,7,7,7,7,7,6,5],      #<-x2
     [4,1,2,5,6,7,8,9,7,8,7,8,7,7,7,7,7,7,6,6,4,4,4]       #<-x3
     ]

x = np.array(x).T
x = sm.add_constant(x)
results = sm.OLS(endog=y, exog=x).fit()
print results.summary()

返回结果:

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.535
Model:                            OLS   Adj. R-squared:                  0.461
Method:                 Least Squares   F-statistic:                     7.281
Date:                Tue, 19 Feb 2013   Prob (F-statistic):            0.00191
Time:                        21:51:28   Log-Likelihood:                -26.025
No. Observations:                  23   AIC:                             60.05
Df Residuals:                      19   BIC:                             64.59
Df Model:                           3                                         
==============================================================================
                 coef    std err          t      P>|t|      [95.0% Conf. Int.]
------------------------------------------------------------------------------
x1             0.2424      0.139      1.739      0.098        -0.049     0.534
x2             0.2360      0.149      1.587      0.129        -0.075     0.547
x3            -0.0618      0.145     -0.427      0.674        -0.365     0.241
const          1.5704      0.633      2.481      0.023         0.245     2.895

==============================================================================
Omnibus:                        6.904   Durbin-Watson:                   1.905
Prob(Omnibus):                  0.032   Jarque-Bera (JB):                4.708
Skew:                          -0.849   Prob(JB):                       0.0950
Kurtosis:                       4.426   Cond. No.                         38.6

如何实现 statsmodel api 仅返回/打印 R^2 值(0.535)作为整数?我想利用这个值进行多元回归分析,并在分析完成后获取最高的 R^2 值。 谢谢

最佳答案

打印结果.rsquared

“作为整数”是什么意思?四舍五入为 1 或 535?

关于Python numpy statsmodels OLS回归具体值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32929411/

相关文章:

python - np.arange 无法按预期使用浮点参数

pandas - 使用交叉验证分数获得零分

python - Flask - 在应用程序上下文之外工作

python - 内置模块位于何处?

python - 在 python 中,我如何从数组的元素中获取字符串的一部分

machine-learning - 如何使用 Weka 中的新训练数据更新训练模型 (weka.classifiers.functions.MultilayerPerceptron)?

python - Tensorflow 启动速度快,训练过程中速度减慢

python - 有没有更简单的解包元组的方法?

python - github 上 Python 包的自述文件的格式是什么?

python - 将 Python 中的字节从 Numpy 数组复制到字符串或字节数组中