Выполнить оценку параметров
sbioparamestim будет удален в следующем выпуске. Использовать sbiofit вместо этого.
Для этой функции рекомендуется использовать Toolbox™ статистики и машинного обучения, 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 | Требуется панель инструментов оптимизации.
| ||||||
lsqnonlin | Требуется панель инструментов оптимизации.
| ||||||
fmincon | Требуется панель инструментов оптимизации.
| ||||||
patternsearch | Требуется панель инструментов глобальной оптимизации.
| ||||||
patternsearch_hybrid | Требуется панель инструментов глобальной оптимизации.
| ||||||
ga | Требуется панель инструментов глобальной оптимизации.
| ||||||
ga_hybrid | Требуется панель инструментов глобальной оптимизации.
| ||||||
particleswarm | Требуется панель инструментов глобальной оптимизации. sbioparamestim использует следующие параметры по умолчанию для particleswarm(Панель инструментов глобальной оптимизации), за исключением:Display = 'off'; FunctionTolerance = 1e-6*[Initial objective function value] SwarmSize = 10; MaxIter = 30; | ||||||
particleswarm_hybrid | Требуется панель инструментов глобальной оптимизации.
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. Если установлена панель инструментов оптимизации, sbioparamestim использует lsqnonlin(Панель инструментов оптимизации) используется в качестве метода по умолчанию для оценки параметров. Если панель инструментов оптимизации не установлена, 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 (из панели инструментов оптимизации); или patternsearch или ga (из инструментария глобальной оптимизации). Все методы оптимизации требуют целевой функции в качестве входных данных. Эта целевая функция принимает в качестве входного значения вектор значений параметров и возвращает оценку расхождения между моделированием и данными. При использовании lsqcurvefit или lsqnonlinfit в качестве метода оптимизации эта целевая функция возвращает вектор остатков. Для других методов оптимизации целевая функция возвращает 2-норму остатков.
Yi, T-M., Kitano, H. и Simon, M.I. (2003) Количественная характеристика дрожжевого гетеротримерного G-белкового цикла. PNAS 100, 10764-10769.