关于指数曲线拟合存在一个问题,但我没有找到关于如何创建功率曲线拟合的任何材料,如下所示:
y = a*x^b
有一种方法可以在Excel中执行此操作,但是可以在Python中使用吗?
答案 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
。