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

如何从statsmodels的params输出中分离截距提取目标系数

statsmodels回归单独提取指定自变量系数的方法

model.params返回的是带标签索引的pandas Series结构,你之前调用params.index[1]仅访问了索引层的内容,所以只能拿到系数名称,拿不到对应数值,可通过以下方式实现需求:

  • 方法1:按变量名直接索引(最稳定,推荐优先使用)
    不需要依赖系数的排列顺序,后续修改回归公式加新变量也不会取错值,代码示例:

    def rolling_reg():
        model = smf.ols('FDX ~ SP50', data=df).fit()
        all_params = model.params
        # 直接指定要提取的自变量名
        target_var = "SP50"
        target_coef = all_params[target_var]
        
        # 打印名称和对应值
        print(f"{target_var} 系数值:{target_coef}")
        
        # 如需存入DataFrame直接构造即可
        coef_df = pd.DataFrame({
            "变量名": [target_var],
            "系数值": [target_coef]
        })
        return coef_df
    
    rolling_reg()
    

    运行后只会输出SP50对应的系数,不会返回Intercept截距项。

  • 方法2:按位置索引取值(仅适合固定结构的简单回归)
    单自变量回归中截距固定在第0位,目标自变量SP50在第1位,可通过iloc取位置对应的值:

    # 同时取位置1的名称和数值
    coef_name = all_params.index[1]
    coef_value = all_params.iloc[1]
    

    注意:该方法依赖系数的排列顺序,如果后续回归新增其他自变量,位置发生偏移就会取错结果,不推荐在复杂回归、滚动回归场景使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:03:27