使用statsmodels和patsy拟合准确的方程

2024-04-25 01:10:40 发布

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

Statsmodels允许使用R型公式来使用patsy和statsmodels.formula.api进行方程拟合。我想在pandas数据帧中使用列来适应一个特定的函数,但是,我似乎只能接近它。例如,如果我有以下带有['A', 'B', 'C', 'D']列的dataframe,并且想要拟合以下形式的等式:

y = (A + B) / D

我可以将公式字符串写成y ~ (A + B):D-1,这将产生两个系数:A:D and B:D。然后我可以做一些代数,去掉其中一个前面的系数,但不能同时去掉两个。在

有没有一种简单的方法来拟合这种形式的自定义函数,而不切换到scipy curve_fit或lmfit?在

编辑

为了澄清,我的目标是获得D的拟合值,让a和B成为数据帧中存储的值。为了使其工作,我生成了一个名为D的伪列。所以我已知的值是y, A, and B,其中{}是我的fit参数。到现在为止,我得到了两个类似于y=A:D*A + B:D*B的结果,然后我可以提取出类似y=(A + B:D/A:D*B)/A:D.的结果,这很好,只是我不想在B前面有系数


Tags: and数据函数apidataframepandas形式fit