-
给定了一组[x,y],让我们去拟合一个幂、指数函数,要如何做?
设幂函数
y = x a y=x^{a} y=xa指数函数
y = a x y=a^{x} y=ax目标是求出参数 a a a.
-
思路是两边取对数,将待拟合函数转换成线性函数
幂函数变换后:
l
o
g
(
y
)
=
a
∗
l
o
g
(
x
)
log(y) = a*log(x)
log(y)=a∗log(x)
指数函数变换后:
l
o
g
(
y
)
=
x
∗
l
o
g
(
a
)
log(y) = x*log(a)
log(y)=x∗log(a)
绘制 l o g − l o g log-log log−log坐标,则得到线性关系。具体的拟合方法可以使用最小二乘,如果数据有噪声,想获得鲁棒估计可以使用 R A N S A C RANSAC RANSAC。
讨论:
对于多变量情况,可以利用变换后的数据构造线性方程组,转换成求解
A
x
=
b
Ax=b
Ax=b的形式