我有一个长度为 100 的单个数组的数据集和不确定性。我还有一个长度为 100 的“模型”数组。目标:仅优化该模型数组的一个参数(缩放幅度),以更好地拟合给定不确定性的数据。
到目前为止,我已经尝试过:
def residual(params, x, data, eps_data):
amp = params['amp'].value
model = amp * x
return (data - model)/eps_data
params = Parameters()
params.add('amp',value=100)
out = minimize(residual,params,args=(mod_array,data_array,unc_array))
然后,我将最佳拟合值幅度与原始模型数组相乘:
fit = params['amp'].value*mod_array
然后,我在原始数据集上绘制拟合图,它看起来非常糟糕,我什至在靠近数据的任何地方都看不到模型。代码/算法有什么问题?