Matlab - проблема нелинейной и многопараметрической подгонки кривой

Я пытаюсь реализовать процедуру подбора электрофоретических данных моих экспериментов.

Цель состоит в том, чтобы получить кинетические параметры взаимодействия биомолекул из относительных площадей пиков на электрофореграмме на основе площадей пиков в наборе данных.

Поскольку все соответствующие дифференциальные уравнения известны и система уравнений имеет аналитическое решение, как описано здесь:

Рукопись аналитического решения

Я начал вводить соответствующие уравнения (6, 8, 13, ... из указанной рукописи) в Matlab.

Созданная таким образом функция работает, и я могу использовать ее для моделирования электрофореграммы взаимодействующих видов.

Очевидно, теперь я хотел бы использовать эту функцию для подбора экспериментальных данных и получения параметров (всего 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, но все же мне кажется, что я не могу в конечном итоге получить такие же хорошие результаты, как их, без почти буквального предоставления почти правильных начальных значений.

У меня недостаточно опыта, чтобы знать, что я могу настроить, чтобы сделать этот процесс менее беспроблемным.

Может ли мне помочь что-то вроде инструментария глобальной оптимизации?

Любые подсказки приветствуются ...


person Kris    schedule 25.09.2012    source источник
comment
Эти проблемы очень неприятны. С 8 свободными переменными проблема становится очень сложной, небольшие изменения начальных значений сильно влияют на конечные значения. Какие тесты вы проводили? Под этим я подразумеваю, можете ли вы разработать свой тест так, чтобы некоторые термины становились несущественными? Любая попытка решить эту проблему путем передачи данных в решатель, скорее всего, не сработает. Мне было бы интересно услышать, могут ли ваши тесты разделить некоторые параметры.   -  person macduff    schedule 25.09.2012
comment
Привет, Макдуф, похоже, твои комментарии подтверждают мои опасения. Авторы упомянутых статей проделали большую работу над этим, но представили это так, как будто эти виды посадки могут быть легко применены. Тем не менее, я думаю, что они также просто устанавливают параметры на глаз и на основе независимых данных, и позволяют подпрограммам lsq заботиться только об окончательной настройке ... MUa и MUc (коэффициенты диффузии) не могут быть точно определены независимо без серьезных проблем. ... A0 и C0 по существу неизвестны, так как вам понадобится k (и связанный с ним Kd), чтобы узнать их в состоянии равновесия.   -  person Kris    schedule 25.09.2012
comment
Если какой-либо из параметров является линейным, у вас есть разделимая проблема. Подбор линейных и нелинейных параметров по отдельности может значительно улучшить сходимость. Также может помочь набор инструментов глобальной оптимизации.   -  person Jonas    schedule 26.09.2012
comment
Другой подход, который является медленным, но все же находит глобальный минимум, - это имитация отжига. (см. mathworks.com/discovery/simulated-annealing.html)   -  person bla    schedule 26.09.2012
comment
Есть ли у вас одна функциональная взаимосвязь - сигнал электрофореграммы как функция времени - которая зависит от этих 8 параметров? Или у вас есть несколько функциональных взаимосвязей, то есть несколько сигналов электрофореграммы?   -  person Dan Becker    schedule 26.09.2012
comment
О, последняя мысль: вы пробовали подогнать свои смоделированные электрофореграммы? Это может быть способ понять, насколько хорошо различные методы оптимизации будут работать в идеальном случае без экспериментальной ошибки. Вы также можете попытаться понять, насколько важны начальные значения (но с 8 параметрами это может быть безнадежным).   -  person Dan Becker    schedule 26.09.2012
comment
Я беру это обратно, у меня есть еще один комментарий :-) Вы уверены, что эти данные действительно могут ограничивать все 8 параметров, и что глобальный минимум намного ниже, чем все локальные минимумы? Глядя на данные в этой статье, действительно кажется, что есть 5 характеристик, с которыми можно работать при подборе кривой: расположение двух пиков, ширина каждого пика и наклон между ними.   -  person Dan Becker    schedule 26.09.2012


Ответы (1)


В упомянутой статье («Рукопись аналитического решения») подразумевается, что параметры свободной оптимизации равны пяти (Va, Vc, MUa, MUc, k), а не восьми, потому что соотношение (Aeq / Ceq) может быть вычислено из соответствующих уравнений , ур. 8 для Aeq и (очевидно) ур. 6 для Ceq.

На мой взгляд, еще больше беспокоит появление в модели следующих продуктов, включающих в себя бесплатные параметры оптимизации:

  1. k и Va в уравнении. 12
  2. MUc и Va в уравнении для epsilon_A в ур. 12
  3. MUa и Vc в уравнении для epsilon_A в ур. 12

В общем, алгоритмы нелинейной оптимизации имеют законные проблемы с оптимизацией свободных параметров, когда пары последних появляются как продукты в нелинейной модели.

person Jay Smith    schedule 01.04.2013