0

我正在尝试实施一个例程来拟合我的实验中的电泳数据。

目的是根据数据集中峰的面积,从电泳图中峰的相对面积推导出生物分子相互作用的动力学参数。

由于所有相关的微分方程都是已知的,并且方程组具有解析解,如下所述:

解析解手稿

我开始在 matlab 中输入相关方程(来自参考手稿的 6、8、13,...)。

这样创建的函数有效,我可以用它来模拟相互作用物种的电泳图。

显然,我现在想使用该函数来拟合实验数据并检索参数(总共 8 个,Va、Vc、MUa、MUc、k、A0、C0、基线噪声)。

其中一些显然是相关的。示例值可能是(以了解它们的大小):

params0 = [ ...
           8.44E-02; ... % Va
           1.25E-01; ... % Vc
           5.32E-05; ... % MUa
           8.87E-05; ... % MUc
           4.48E-03; ... % k
           6.06E-01; ... % A0
           3.00E-00; ... % C0
           4.64E-03 ...  % noise
         ];

我的问题是,如果我提供实验数据并尝试类似 lsqcurvefit 的方法:

[x,resnorm,residual] = lsqcurvefit(@(param,xdata) Electropherogram2(param,xdata,column), params0, time, ydata,lb, ub);

我经常得到非常糟糕的结果,因为我要么用完了迭代,要么达到了一些(显然拟合不佳)局部最小值或其他什么......

只有当我对起始值和允许的间隔进行大量修改(即因为我通过其他实验知道可能的值)时,我才会或多或少地得到合适的拟合,但即便如此,拟合也不如原始报告中报道的那么好手稿(图 3)。

该手稿的作者使用 Excel 求解器,并且非常友好地提供了图 3 中使用的原始数据,但如果没有几乎字面上提供几乎正确的起始值,我似乎仍然无法得到与他们一样好的拟合。

我没有足够的经验知道我可以调整什么来减少这个过程的反复试验。

像全局优化工具箱这样的东西对我有帮助吗?

欢迎任何提示...

4

1 回答 1

1

在上述论文(“分析解决方案手稿”)中,暗示自由优化参数是五个(Va、Vc、MUa、MUc、k)而不是八个,因为可以从它们的代表方程计算出(Aeq/Ceq)比率, 等式。8 代表 Aeq 和(显然)eq。6 为 Ceq。

在我看来,更令人不安的是模型中出现了以下产品,由自由优化参数组成:

  1. 方程中的 k 和 Va。12
  2. 方程中 epsilon_A 中的 MUc 和 Va。12
  3. 方程中 epsilon_A 中的 MUa 和 Vc。12

一般来说,当自由参数对出现在非线性模型中时,非线性优化算法在优化自由参数方面存在合理的问题。

于 2013-04-01T13:31:58.873 回答