如何在Python中进行功率曲线拟合?

时间:2016-09-21 18:57:18

标签: python scikit-learn regression

关于指数曲线拟合存在一个问题,但我没有找到关于如何创建功率曲线拟合的任何材料,如下所示:

y = a*x^b

有一种方法可以在Excel中执行此操作,但是可以在Python中使用吗?

2 个答案:

答案 0 :(得分:2)

如果你进行简单的转换,你可以应用通常的最小二乘回归。

而不是这个等式:

y = a*x^b

采取双方的自然日志:

ln(y) = ln(a*x^b) = ln(a) + ln(x^b) = ln(a) + b*ln(x)

这是[ln(x), ln(y)]中的线性方程,斜率b和截距ln(a)

您可以在转换后的数据上使用开箱即用的最小二乘拟合。

答案 1 :(得分:2)

只需采用对数:

y = ax^b
log(y) = log(a) + b*log(x)

并对log(x)log(y)对使用线性拟合。它将产生一条斜率为b且截距为log(a)的线,只需取指数即可获得参数a