使用 python statsmodels 修复 summary_col 中的标签外生变量

Fix Label Exogenous Variables in summary_col with python statsmodels

我想生成类似于 summary_col(标准日志表)生成的回归表,但带有自定义解释变量标签。

有没有办法更改保存在模型参数属性中的行名称?

到目前为止,我尽可能地重命名变量,但应该有更好的方法来完成此操作。

假设你已经完成了

reg = smf.ols(formula = "y~x1+x2+x3").fit()

我建议 (1) 有一本字典,您可以在其中保存所有重新标记: dic = {original_vname: new_name} a (2) 一对有用的函数:

def rename_vars(vname): 
    to_ret = vname
    for orig_vname in list(dic.keys()):
        if vname == 'original_vname':
            to_ret = dic['original_vname'] 
    return to_ret

def rename_ols(reg): 
    for i in range(len(reg)): 
        reg[i] = rename_vars(reg[i])

然后,只需执行:

rename_ols(reg.model.exog_names) 

就是这样。调用 summary_col 后,变量将显示新标签。