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

基于列唯一值分组执行多元线性回归并存储结果的Python实现

Python分组执行多元线性回归实现方案

前置依赖

确保已经安装所需库:

pip install pandas statsmodels

实现代码

1. 导入库

import pandas as pd
import statsmodels.formula.api as smf

2. 定义自定义回归函数

你可以根据需求调整返回值,比如返回回归系数、R²、p值,或者完整的拟合对象:

def run_regression(group_data):
    # 回归公式和你之前全量回归的逻辑一致,可按需调整
    model = smf.ols(formula='y_Values ~ a + b + c + d', data=group_data).fit()
    # 示例返回系数字典,如需返回完整拟合对象直接写 return model 即可
    return model.params.to_dict()

3. 按status字段分组执行回归并存储结果

方案A:结果存入原表新增列reg_results

同个status分组下的所有行都会存储对应分组的回归结果:

df['reg_results'] = df.groupby('status', group_keys=False).apply(
    lambda g: pd.Series([run_regression(g)] * len(g), index=g.index)
)

方案B:生成单独的回归结果汇总表

每个status对应一条回归结果,适合后续批量分析:

reg_result_summary = df.groupby('status').apply(run_regression).reset_index(name='reg_results')

注意事项

分组回归需要保证每组样本量大于特征维度(包含截距项),否则会出现矩阵奇异无法拟合的问题,示例数据分组样本量较小仅做逻辑演示,实际使用请确保数据量充足。
如果你需要实现R代码中的向后逐步筛选功能,可在run_regression函数中加入变量筛选逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:39:00