You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

基于Python中statsmodels的回归分析——R转Python新手的实操咨询

从R转Python:用statsmodels做线性回归的入门实践

作为从R转Python的新手,带着R的思维来上手statsmodels完全没问题~你给出的这段最小工作示例已经走对了方向,我来帮你补全后续步骤,再把每个环节的逻辑理清楚:

1. 准备数据与创建数据框

首先是定义数据并转换成pandas数据框,这一步和R里创建data.frame的逻辑几乎一致,非常容易上手:

# 定义数据
Income = [80, 100, 120, 140, 160, 180, 200, 220, 240, 260]
Expend = [70, 65, 90, 95, 110, 115, 120, 140, 155, 150]

# 导入pandas并创建数据框
import pandas as pd
df1 = pd.DataFrame( {'Income': Income, 'Expend': Expend })

2. 用公式语法构建回归模型

statsmodels的formula.api模块专门支持类似R的公式语法,这对你来说应该很熟悉:

# 导入公式接口
import statsmodels.formula.api as smf

# 创建回归模型对象(注意这一步只是定义模型,还没拟合)
reg1 = smf.ols('Expend ~ Income', data = df1)

这里的Expend ~ Income和R里lm(Expend ~ Income, data = df)的公式逻辑完全一样,指定因变量在前,自变量在后,ols就是普通最小二乘回归的意思。

3. 拟合模型并查看结果

和R里创建模型后自动拟合不同,statsmodels需要显式调用.fit()方法来完成模型拟合,之后就能查看详细的回归结果了:

# 拟合模型
results = reg1.fit()

# 查看完整的回归统计结果(和R的summary()输出类似)
print(results.summary())

运行这段代码后,你会得到和R里summary(lm模型)类似的详细输出,包括系数估计值、R²、p值、标准误等关键统计指标。

几个常用的结果提取方法(对应R里的常用操作)

如果你想单独提取某部分结果,可以用这些方法:

  • 提取回归系数:results.params(对应R里coef(lm模型)
  • 生成预测值:results.predict(df1)(对应R里predict(lm模型)
  • 提取残差:results.resid(对应R里resid(lm模型)

内容的提问来源于stack exchange,提问作者MYaseen208

火山引擎 最新活动