Выполните оценку параметра
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 (Global Optimization Toolbox), за исключением: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) функция как метод по умолчанию для оценки параметра. Если вам не установили 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.