You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中训练多元线性回归模型并导出参数估计结果表

Python实现回归分析及指定格式结果输出
  • 依赖库:pandas、statsmodels,未安装可执行命令:pip install pandas statsmodels

1. 数据预处理

你需要分析我方奖金销售额(b_mine)对我方净销售额(a_mine)的影响,首先完成数据加载和变量定义:

import pandas as pd
import statsmodels.api as sm

# 替换为你自己的数据读取逻辑,示例为读csv,也支持读excel等格式
df = pd.read_csv("你的数据文件路径.csv")

# 定义因变量y为我方净销售额,自变量X为我方奖金销售额
y = df["a_mine"]
X = df["b_mine"]

# 给自变量添加常数项,用于拟合回归截距(即你要的constant参数)
X = sm.add_constant(X)

2. 拟合线性回归模型

使用普通最小二乘法拟合回归模型:

model = sm.OLS(y, X).fit()
# 如需查看模型全量统计结果,可执行 print(model.summary())

3. 结果整理为指定格式

从模型拟合结果中提取所需字段,组装成要求的输出表格:

result_list = []
# 组装常数项结果行
result_list.append({
    "Component": "a_mine",
    "Parameter": "constant",
    "Estimate": round(model.params["const"], 5),
    "Standart_error": round(model.bse["const"], 5),
    "t_value": round(model.tvalues["const"], 2),
    "Approx Pr>|t|": "< 0.0001" if model.pvalues["const"] < 0.0001 else round(model.pvalues["const"], 4)
})
# 组装b_mine系数结果行
result_list.append({
    "Component": "b_mine",
    "Parameter": "scale",
    "Estimate": round(model.params["b_mine"], 5),
    "Standart_error": round(model.bse["b_mine"], 5),
    "t_value": round(model.tvalues["b_mine"], 2),
    "Approx Pr>|t|": "< 0.0001" if model.pvalues["b_mine"] < 0.0001 else round(model.pvalues["b_mine"], 4)
})

# 转换为DataFrame打印输出,就是你需要的结果表
result_df = pd.DataFrame(result_list)
print(result_df.to_string(index=False))

可选优化:加入控制变量

如果需要排除竞品销售额、单价等因素的干扰,只需要在定义自变量X时加入对应字段即可,示例:

# 加入竞品净销售额、我方单价作为控制变量
X = df[["b_mine", "a_comp", "c_mine"]]
# 后续拟合、结果提取逻辑保持一致,新增变量可按需求补充到输出表格中

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:15:07