Выполните оценку параметра
sbioparamestim
будет удален в будущем релизе. Используйте sbiofit
вместо этого.
Statistics and Machine Learning Toolbox™, Optimization Toolbox™ и Global Optimization Toolbox рекомендуются для этой функции.
[k, result]= sbioparamestim(modelObj, tspan, xtarget, observed_array, estimated_array)
[___]= sbioparamestim(___, observed_array, estimated_array, k0)
[___]= sbioparamestim(___, observed_array, estimated_array, k0, method)
k | Вектор предполагаемых значений параметров. Для всех методов оптимизации кроме 'fminsearch' параметры ограничиваются быть больше, чем или равными 0. | ||||||
result | Структура с полями, которые предоставляют информацию о прогрессе оптимизации. | ||||||
modelObj | Объект модели SimBiology®. | ||||||
tspan | n-by-1 вектор, представляющий отрезок времени целевых данных xtarget . | ||||||
xtarget | n-by-m матрица, где n является количеством выборок времени и m, является количеством состояний, чтобы соответствовать во время симуляции. Количество строк в | ||||||
observed_array | Любое из следующего:
ПримечаниеЕсли двойные названия существуют для каких-либо разновидностей или параметров, гарантируют, что нет никаких неоднозначностей путем определения или массива объектов или массива ячеек полностью определенных имен, таких как Длина | ||||||
estimated_array | Любое из следующего:
ПримечаниеЕсли двойные названия существуют для каких-либо отсеков, разновидностей, или параметров, гарантируют, что нет никаких неоднозначностей путем определения или массива объектов или массива ячеек полностью определенных имен, таких как | ||||||
k0 | Числовой вектор, содержащий начальные значения отсеков, разновидностей или параметров, которые будут оценены. Длина k0 должна равняться длине estimated_array . Если вы не задаете k0 или задаете пустой вектор для k0 , то sbioparamestim принимает начальные значения для отсеков, разновидностей или параметров от modelObj , или, если существуют активные варианты, sbioparamestim использует любые начальные значения, заданные в активных вариантах. Для получения дополнительной информации о вариантах, смотрите Variant object . | ||||||
method | Алгоритм оптимизации, чтобы использовать во время процесса оценки, заданного любым из следующего:
|
Функциональные описания
Функция | Описание | ||||||
---|---|---|---|---|---|---|---|
fminsearch |
Примечание
| ||||||
lsqcurvefit | Требует Optimization Toolbox.
| ||||||
lsqnonlin | Требует Optimization Toolbox.
| ||||||
fmincon | Требует Optimization Toolbox.
| ||||||
patternsearch | Требует Global Optimization Toolbox.
| ||||||
patternsearch_hybrid | Требует Global Optimization Toolbox.
Функция
| ||||||
ga | Требует Global Optimization Toolbox.
| ||||||
ga_hybrid | Требует Global Optimization Toolbox.
Функция
| ||||||
particleswarm | Требует Global Optimization Toolbox. sbioparamestim использует следующие опции по умолчанию для particleswarm , за исключением:Display = 'off'; FunctionTolerance = 1e-6*[Initial objective function value] SwarmSize = 10; MaxIter = 30; | ||||||
particleswarm_hybrid | Требует Global Optimization Toolbox.
Display = 'off'; FunctionTolerance = 1e-6*[Initial objective function value] SwarmSize = 10; MaxIter = 30; HybridFcn = {@fmincon, [Fmincon Options, described above]} |
sbioparamestim
не поддерживает установку опции Vectorized
к 'on'
в алгоритмах, которые поддерживают эту опцию.
[k, result]= sbioparamestim(
оценивает начальные значения отсеков, разновидностей и параметров modelObj
, tspan
, xtarget
, observed_array
, estimated_array
)modelObj
, объекта модели SimBiology, заданного в estimated_array
, чтобы совпадать со значениями разновидностей и непостоянных параметров, данных observed_array
с целевым состоянием, xtarget
, изменение времени которого дано отрезком времени tspan
. Если вам установили Optimization Toolbox, sbioparamestim
использует функцию lsqnonlin
в качестве метода по умолчанию для оценки параметра. Если вам не установили Optimization Toolbox, sbioparamestim
использует функцию MATLAB fminsearch
в качестве метода по умолчанию для оценки параметра.
[___]= sbioparamestim(___,
задает начальные значения отсеков, разновидностей и параметров, перечисленных в observed_array
, estimated_array
, k0
)estimated_array
.
[___]= sbioparamestim(___,
задает метод оптимизации, чтобы использовать. observed_array
, estimated_array
, k0
, method
)
Учитывая модель и некоторые целевые данные, оцените все его параметры, явным образом не задавая начальных значений:
Загрузите модель из проекта, gprotein_norules.sbproj
. Проект содержит две модели, один для деформации дикого типа (сохраненный в переменной m1
), и один для деформации мутанта (сохраненный в переменной m2
). Загрузите модель белка G для деформации дикого типа.
sbioloadproject gprotein_norules m1;
Храните целевые данные в переменной:
Gt = 10000; tspan = [0 10 30 60 110 210 300 450 600]'; Ga_frac = [0 0.35 0.4 0.36 0.39 0.33 0.24 0.17 0.2]'; xtarget = Ga_frac * Gt;
Сохраните все параметры модели в массиве:
p_array = sbioselect(m1,'Type','parameter');
Сохраните разновидности, которые должны совпадать с целью:
Ga = sbioselect(m1,'Type','species','Name','Ga'); % In this example only one species is selected. % To match more than one targeted species data % replace with selected species array.
Оцените параметры:
[k, result] = sbioparamestim(m1, tspan, xtarget, Ga, p_array)
k = 0.0100 0.0000 0.0004 4.0000 0.0040 1.0000 0.0000 0.1100 result = fval: 1.4193e+06 residual: [9x1 double] exitflag: 2 iterations: 2 funccount: 27 algorithm: 'trust-region-reflective' message: [1x413 char]
Оцените параметры, заданные в p_array
для разновидностей Ga
с помощью различных алгоритмов.
[k1,r1] = sbioparamestim(m1,tspan,xtarget,Ga,p_array, ... {},'fmincon'); [k2,r2] = sbioparamestim(m1,tspan,xtarget,Ga,p_array, ... {},'patternsearch'); [k3,r3] = sbioparamestim(m1,tspan,xtarget,Ga,p_array, ... {},'ga'); [k4,r4] = sbioparamestim(m1,tspan,xtarget,Ga,p_array, ... {},'particleswarm');
Оцените, что параметры, заданные в p_array
для разновидностей Ga
и опциях оптимизации значения по умолчанию изменения, используют заданные пользователями опции.
myopt1 = optimoptions('Display','iter'); [k1,r1] = sbioparamestim(m1,tspan,xtarget, ... Ga,p_array,{},{'fmincon',myopt1}); myopt2 = optimoptions('MeshTolerance',1.0e-4); [k2,r2] = sbioparamestim(m1,tspan,xtarget, ... Ga,p_array,{},{'patternsearch',myopt2}); myopt3 = optimoptions('PopulationSize',25, 'Generations', 10); [k3,r3] = sbioparamestim(m1,tspan,xtarget, ... Ga,p_array,{},{'ga',myopt3}); myopt4 = optimoptions('particleswarm','Display','iter'); [k4,r4] = sbioparamestim(m1,tspan,xtarget,Ga,p_array,{},{'particleswarm',myopt4});
sbioparamestim
оценивает параметры путем попытки минимизировать несоответствие между результатами симуляции и данными, чтобы соответствовать. Минимизация использует один из этих алгоритмов оптимизации: fminsearch
(из MATLAB); lsqcurvefit
, lsqnonlinfit
или fmincon
(от Optimization Toolbox); или patternsearch
или ga
(от Global Optimization Toolbox). Все методы оптимизации требуют целевой функции как входа. Эта целевая функция берет в качестве входа вектор значений параметров и возвращает оценку несоответствия между симуляцией и данными. При использовании lsqcurvefit
или lsqnonlinfit
как метод оптимизации, эта целевая функция возвращает вектор невязок. Для других методов оптимизации целевая функция возвращает 2-норму невязок.
[1] И, T-M., Kitano, H., и Саймон, M.I. (2003) А количественная характеристика дрожжей гетеротримерный цикл белка G. PNAS 100, 10764–10769.