我有一个非常具体的任务,我需要找到我的指数函数的斜率。指数拟合最小二乘法Python
我有两个阵列,一个表示波长范围在400和750 nm之间,另一个表示吸收光谱。 x =波长,y =吸收。
我的拟合函数应该是这个样子的是:
y_mod = np.float(a_440) * np.exp(-S*(x - 440.))
其中S
是斜率和图像等于0.016,这应该是在价值观我应该得到的范围(+/- 0.003)。 a_440
是在440nm处的参考吸收,x是波长。
模型化与原作剧情:
我想知道如何定义为了得到它的一个指数拟合(对数变换量不)没有我的功能事先猜测S值为。
我到目前为止已经试过的目的在于确定这种方式的功能:
def func(x, a, b):
return a * np.exp(-b * (x-440))
,它给相当不错的比赛
我不确定这种方法是正确的还是应该以不同的方式做? 如何使用最小二乘法或y方法中的绝对差异来最小化以消除异常值的影响?
是否可以将随机噪声添加到数据并重新计算拟合?
你会显示到目前为止你已经尝试了代码? –
要在python – mikuszefski
@mikuszefski中处理异常值检查[robust fitting](http://scipy-cookbook.readthedocs.io/items/robust_regression.html),非常感谢! – PEBKAC