以变量为约束的约束回归python

2024-04-29 13:31:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Python中运行一个约束回归,使用sm.GLM公司然后model.fit_约束代码。在

我输入了两个变量和两个虚拟变量,这些虚拟变量是我试图约束的。我要两个虚拟变量的系数乘以一个权重等于零。在

当我将系数乘以整数权重时,这很好,如下所示

results = model.fit_constrained('BOATS * 1 + CARS * 0.5')

但是,我希望这些整数是可变的,并且取决于我的数据的比例,每个虚拟变量都有1。我已经计算了序列SectorWgt中的比例,但无法计算出如何将其输入到model.fit_约束代码。在

这是我最好的尝试

^{pr2}$

但后来我得到了错误

^{3}$

由于

int(SectorWgt.iloc[0])

代码的一部分。在

有人有什么想法吗?谢谢!在


Tags: 代码model公司整数carsresults比例fit
2条回答

如果使用python3.6或更高版本,可以利用Python的f-strings更干净的字符串插值语法。在

constraint_str = f"SIZE*{int(SectorWgt.iloc[0])}+VQMadj*{int(SectorWgt.iloc[1])}"
results = model.fit_constrained(constraint_str)

使用字符串格式:

x = int(SectorWgt.iloc[0])
y = int(SectorWgt.iloc[1])

results = model.fit_constrained('SIZE*{}+VQMadj*{}'.format(x, y))

相关问题 更多 >