使用 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 后,变量将显示新标签。
我想生成类似于 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 后,变量将显示新标签。