使用statsmodels和patsy

时间:2017-02-09 19:29:41

标签: python statistics curve-fitting statsmodels patsy

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前面有系数。

0 个答案:

没有答案