📅  最后修改于: 2023-12-03 15:36:34.449000             🧑  作者: Mango
statsmodels 是 Python 中的一个模块,它提供了很多统计模型的分析方法,包括线性回归、时间序列分析等等。在这里,我们将介绍如何使用 statsmodels 的普通最小二乘法(OLS)来进行线性回归分析。
使用 pip 可以在命令行中安装 statsmodels。
pip install statsmodels
要使用 statsmodels,需要导入模块 statsmodels.api。
import statsmodels.api as sm
在进行线性回归分析之前,需要准备一些数据。在这里,我们使用一个简单的示例数据:
import numpy as np
# 生成随机数据
np.random.seed(0)
x = np.random.rand(100)
y = 1 + 2*x + np.random.rand(100)
使用 OLS 方法进行线性回归分析。在这里,我们只需要传递 x 和 y 作为参数即可。
# 添加常数项
x = sm.add_constant(x)
# 进行线性回归分析
model = sm.OLS(y, x).fit()
现在你已经拟合好了线性回归模型,并且可以使用 model.summary() 方法来查看分析结果。
print(model.summary())
这将会打印出如下所示的分析结果:
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.797
Model: OLS Adj. R-squared: 0.795
Method: Least Squares F-statistic: 397.6
Date: Tue, 08 Dec 2020 Prob (F-statistic): 1.58e-36
Time: 10:10:49 Log-Likelihood: -15.029
No. Observations: 100 AIC: 34.06
Df Residuals: 98 BIC: 39.09
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef. std.err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 1.0797 0.037 29.148 0.000 1.007 1.152
x1 2.0017 0.100 19.940 0.000 1.804 2.200
------------------------------------------------------------------------------
Omnibus: 1.044 Durbin-Watson: 1.903
Prob(Omnibus): 0.593 Jarque-Bera (JB): 0.940
Skew: -0.227 Prob(JB): 0.625
Kurtosis: 2.904 Cond. No. 3.34
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 3.34e+00. This might indicate that there are
strong multicollinearity or other numerical problems.
其中,你可以看到的一些重要内容如下:
现在,你已经知道了如何使用 statsmodels 中的 OLS 方法来进行线性回归分析。如果你想更深入地了解该模块的用法,可以查看它的官方文档。
参考资料: