sbioparamestim
进行参数估计
sbioparamestim
将在将来的版本中删除。使用sbiofit
代替。
统计和机器学习工具箱™,优化工具箱™,和全局优化工具箱建议用于此功能。
语法
[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。 |
||||||
结果 |
结构,其中的字段提供关于优化进度的信息。 | ||||||
modelObj |
SimBiology®模型对象。 |
||||||
tspan |
n-by-1向量,表示目标数据的时间跨度xtarget . |
||||||
xtarget |
n——- - - - - -米矩阵,n是多少次采样和米模拟期间要匹配的状态数。行数 |
||||||
observed_array |
下列任何一项:
请注意 如果任何种类或参数存在重复名称,请通过指定对象数组或限定名称的单元格数组来确保没有歧义,例如 的长度 |
||||||
estimated_array |
下列任何一项:
请注意 如果存在任何分隔、物种或参数的重复名称,请通过指定对象数组或限定名称的单元格数组来确保没有歧义,例如 |
||||||
k0 |
包含要估计的区室、物种或参数的初始值的数字向量。的长度k0 必须等于estimated_array .如果您没有指定k0 ,或指定一个空向量k0 ,然后sbioparamestim 获取的隔间、种类或参数的初始值modelObj ,或者,如果有主动变异,sbioparamestim 使用活动变量中指定的任何初始值。关于变体的详细信息请参见不同的对象 . |
||||||
方法 |
在估计过程中使用的优化算法,由以下任意一个指定:
|
功能描述
函数 | 描述 | ||||||
---|---|---|---|---|---|---|---|
fminsearch |
请注意
|
||||||
lsqcurvefit |
需要优化工具箱。
|
||||||
lsqnonlin |
需要优化工具箱。
|
||||||
fmincon |
需要优化工具箱。
|
||||||
patternsearch |
需要全局优化工具箱.
|
||||||
patternsearch_hybrid |
需要全局优化工具箱.
的
|
||||||
遗传算法 |
需要全局优化工具箱.
|
||||||
ga_hybrid |
需要全局优化工具箱.
的
|
||||||
particleswarm |
需要全局优化工具箱. sbioparamestim 使用以下默认选项particleswarm (全局优化工具箱),除了:Display = 'off';FunctionTolerance = 1e-6*[初始目标函数值]SwarmSize = 10;MaxIter = 30; |
||||||
particleswarm_hybrid |
需要全局优化工具箱.
Display = 'off';FunctionTolerance = 1e-6*[初始目标函数值]SwarmSize = 10;MaxIter = 30;HybridFcn = {@fmincon, [Fmincon选项,如上所述]} |
请注意
sbioparamestim
不支持设置金宝app矢量化
选项“上”
在支持此选项的算法中。金宝app
描述
[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
,方法
)
例子
给定一个模型和一些目标数据,在不显式指定任何初始值的情况下估计其所有参数:
从项目中加载模型,
gprotein_norules.sbproj
.该项目包含两个模型,一个用于野生型应变(存储在变量中)m1
)和一个突变株(存储在变量平方米
).加载野生型菌株的G蛋白模型。sbioloadprojectgprotein_norulesm1;
将目标数据存储在一个变量中:
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,“类型”,“参数”);
存储与目标匹配的物种:
Ga = sbioselect(m1,“类型”,“物种”,“名字”,“遗传算法”);在本例中,只选择了一个物种。%匹配多个目标物种数据%替换为所选物种数组。
参数估计:
[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
对于物种遗传算法
使用不同的算法。
[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,...{},“遗传算法”);[k4,r4] = sbioparamestim(m1,tspan,xtarget,Ga,p_array,...{},“particleswarm”);
中指定的估算参数p_array
对于物种遗传算法
,并将默认优化选项更改为使用用户指定的选项。
Myopt1 = optimoptions(“显示”,“通路”);[k1,r1] = sbioparamestim(m1,tspan,xtarget,...Ga、p_array {}, {“fmincon”, myopt1});Myopt2 = optimoptions(“MeshTolerance”, 1.0的军医);[k2,r2] = sbioparamestim(m1,tspan,xtarget,...Ga、p_array {}, {“patternsearch”, myopt2});Myopt3 = optimoptions(“PopulationSize”25岁的“代”10);[k3,r3] = sbioparamestim(m1,tspan,xtarget,...Ga、p_array {}, {“遗传算法”, myopt3});Myopt4 = optimoptions(“particleswarm”,“显示”,“通路”);[k4,r4] = sbioparamestim(m1,tspan,xtarget,Ga,p_array,{},{“particleswarm”, myopt4});
算法
sbioparamestim
通过尽量减少模拟结果和拟合数据之间的差异来估计参数。最小化使用以下优化算法之一:fminsearch
(从MATLAB);lsqcurvefit
,lsqnonlinfit
,或fmincon
(从优化工具箱);或patternsearch
或遗传算法
(从全局优化工具箱).所有的优化方法都需要一个目标函数作为输入。该目标函数将参数值向量作为输入,并返回模拟和数据之间差异的估计值。当使用lsqcurvefit
或lsqnonlinfit
作为优化方法,该目标函数返回残差向量。对于其他优化方法,目标函数返回残差的2范数。
参考文献
[1] Yi, T-M。,Kitano, H., and Simon, M.I. (2003) A quantitative characterization of the yeast heterotrimeric G protein cycle. PNASOne hundred., 10764 - 10769。
版本历史
在R2006a中引入