Statsmodels允许使用R-style公式使用patsy和statsmodels.formula.api
进行方程拟合。我想在pandas DataFrame中使用列来适应特定的函数,但是,我似乎只能接近。例如,如果我有以下带有列['A', 'B', 'C', 'D']
的数据框,并且想要拟合表格的等式:
y = (A + B) / D
我可以将公式字符串写为y ~ (A + B):D-1
,这会产生两个系数:A:D and B:D
。然后,我可以做一些代数并摆脱其中一个的系数,但不是两个。
有没有一种简单的方法来适应这种形式的自定义函数,而无需切换到scipy curve_fit或lmfit?
为了澄清,我的目标是获得D的拟合值,让A和B成为存储在数据帧中的值。为了实现这一点,我生成了一个名为D
的1列虚拟列。因此,我所知道的已知值为y, A, and B
,其中D
是我的拟合参数。截至目前,我获得两个看起来像y=A:D*A + B:D*B
的结果,然后我可以提取它以获得类似y=(A + B:D/A:D*B)/A:D.
的东西。这很有效,除了我不会在B前面有系数。