sbiofitgydF4y2Ba
进行非线性最小二乘回归gydF4y2Ba
统计和机器学习工具箱™,优化工具箱™,gydF4y2Ba全局优化工具箱gydF4y2Ba建议对这个函数。gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
SimBiology模型的参数估计gydF4y2BafitResultsgydF4y2Ba
= sbiofit (gydF4y2BasmgydF4y2Ba
,gydF4y2BagrpDatagydF4y2Ba
,gydF4y2BaResponseMapgydF4y2Ba
,gydF4y2BaestiminfogydF4y2Ba
)gydF4y2BasmgydF4y2Ba
利用非线性最小二乘回归。gydF4y2Ba
grpDatagydF4y2Ba
是一个gydF4y2BagroupedData对象gydF4y2Ba
指定适合的数据。gydF4y2BaResponseMapgydF4y2Ba
定义之间的映射模型组件和响应数据gydF4y2BagrpDatagydF4y2Ba
。gydF4y2BaestimatedInfogydF4y2Ba
是一个gydF4y2BaEstimatedInfo对象gydF4y2Ba
,定义了模型中参数估计gydF4y2BasmgydF4y2Ba
。gydF4y2BafitResultsgydF4y2Ba
是一个gydF4y2BaOptimResults对象gydF4y2Ba
或gydF4y2BaNLINResults对象gydF4y2Ba
这些对象或一个向量。gydF4y2Ba
sbiofitgydF4y2Ba
使用第一个可用的估计函数如下:gydF4y2BalsqnonlingydF4y2Ba
(优化工具箱)gydF4y2Ba,gydF4y2BanlinfitgydF4y2Ba
(统计和机器学习的工具箱)gydF4y2Ba,或gydF4y2BafminsearchgydF4y2Ba
。gydF4y2Ba
默认情况下,每个组gydF4y2BagrpDatagydF4y2Ba
分别适用,导致与参数估计。如果模型包含有效剂量和变体,它们被应用在模拟。gydF4y2Ba
使用指定的计量信息SimBiology剂量对象的一个矩阵gydF4y2BafitResultsgydF4y2Ba
= sbiofit (gydF4y2BasmgydF4y2Ba
,gydF4y2BagrpDatagydF4y2Ba
,gydF4y2BaResponseMapgydF4y2Ba
,gydF4y2BaestiminfogydF4y2Ba
,gydF4y2Ba剂量gydF4y2Ba
)gydF4y2Ba剂量gydF4y2Ba
而不是使用模型的有效剂量gydF4y2BasmgydF4y2Ba
如果有任何。gydF4y2Ba
使用指定的评估函数gydF4y2BafitResultsgydF4y2Ba
= sbiofit (gydF4y2BasmgydF4y2Ba
,gydF4y2BagrpDatagydF4y2Ba
,gydF4y2BaResponseMapgydF4y2Ba
,gydF4y2BaestiminfogydF4y2Ba
,gydF4y2Ba剂量gydF4y2Ba
,gydF4y2BafunctionNamegydF4y2Ba
)gydF4y2BafunctionNamegydF4y2Ba
。如果指定的功能不可用,发出一个警告和第一个可用的默认功能。gydF4y2Ba
使用指定的附加选项gydF4y2BafitResultsgydF4y2Ba
= sbiofit (gydF4y2BasmgydF4y2Ba
,gydF4y2BagrpDatagydF4y2Ba
,gydF4y2BaResponseMapgydF4y2Ba
,gydF4y2BaestiminfogydF4y2Ba
,gydF4y2Ba剂量gydF4y2Ba
,gydF4y2BafunctionNamegydF4y2Ba
,gydF4y2Ba选项gydF4y2Ba
)gydF4y2Ba选项gydF4y2Ba
函数的gydF4y2BafunctionNamegydF4y2Ba
。gydF4y2Ba
适用于变量指定为对象gydF4y2BafitResultsgydF4y2Ba
= sbiofit (gydF4y2BasmgydF4y2Ba
,gydF4y2BagrpDatagydF4y2Ba
,gydF4y2BaResponseMapgydF4y2Ba
,gydF4y2BaestiminfogydF4y2Ba
,gydF4y2Ba剂量gydF4y2Ba
,gydF4y2BafunctionNamegydF4y2Ba
,gydF4y2Ba选项gydF4y2Ba
,gydF4y2Ba变体gydF4y2Ba
)gydF4y2Ba变体gydF4y2Ba
而不是使用任何活动模型的变体。gydF4y2Ba
使用指定的一个或多个额外的选项gydF4y2BafitResultsgydF4y2Ba
= sbiofit (_gydF4y2Ba名称,值gydF4y2Ba
)gydF4y2Ba名称,值gydF4y2Ba
对参数。gydF4y2Ba
(gydF4y2Ba
还返回一个SimData对象的向量gydF4y2BafitResultsgydF4y2Ba
,gydF4y2BasimdatagydF4y2Ba
]= sbiofit (_)gydF4y2BasimdatagydF4y2Ba
使用任何输入参数在前面的语法。gydF4y2Ba
请注意gydF4y2Ba
sbiofitgydF4y2Ba
结合gydF4y2BasbionlinfitgydF4y2Ba
和gydF4y2BasbioparamestimgydF4y2Ba
估计函数。使用gydF4y2BasbiofitgydF4y2Ba
进行非线性最小二乘回归。gydF4y2BasbiofitgydF4y2Ba
模拟模型使用gydF4y2BaSimFunction对象gydF4y2Ba
默认情况下,自动加速模拟。因此没有必要gydF4y2BasbioaccelerategydF4y2Ba
之前你叫gydF4y2BasbiofitgydF4y2Ba
。gydF4y2Ba
例子gydF4y2Ba
单舱模型适合个人PK概要文件gydF4y2Ba
背景gydF4y2Ba
这个例子展示了如何适应一个人的PK单舱模型配置文件数据和估算药动学参数。gydF4y2Ba
假设你有药物血浆浓度数据从一个人,想估计中央室和间隙的体积。假定药物浓度和时间剖面遵循monoexponential下降gydF4y2Ba ,在那里gydF4y2Ba 药物浓度在时间t,gydF4y2Ba 是初始浓度,gydF4y2Ba 是取决于间隙的消除速率常数和中央室的体积吗gydF4y2Ba 。gydF4y2Ba
合成数据在这个示例使用以下模型,生成参数,和剂量:gydF4y2Ba
单舱模型丸剂量和一阶消除gydF4y2Ba
中央室的体积(gydF4y2Ba
中央gydF4y2Ba
)= 1.70升gydF4y2Ba间隙参数(gydF4y2Ba
Cl_CentralgydF4y2Ba
)= 0.55升/小时gydF4y2Ba常数误差模型gydF4y2Ba
丸10毫克的剂量gydF4y2Ba
加载数据和可视化gydF4y2Ba
数据存储的表变量gydF4y2Ba时间gydF4y2Ba
和gydF4y2Ba浓缩的gydF4y2Ba
代表个人的血浆浓度的时间进程后静脉丸政府以13个不同的时间点。变量的单位gydF4y2Ba时间gydF4y2Ba
和gydF4y2Ba浓缩的gydF4y2Ba
分别小时毫克/升。gydF4y2Ba
负载(gydF4y2Ba“data15.mat”gydF4y2Ba)情节(data.Time data.Conc,gydF4y2Ba“b +”gydF4y2Ba)包含(gydF4y2Ba的时间(小时)gydF4y2Ba);ylabel (gydF4y2Ba的药物浓度(毫克/升)gydF4y2Ba);gydF4y2Ba
groupedData格式转换gydF4y2Ba
将数据集转换成gydF4y2BagroupedDatagydF4y2Ba
对象,它是拟合函数所需的数据格式gydF4y2BasbiofitgydF4y2Ba
以备后用。一个gydF4y2BagroupedDatagydF4y2Ba
对象还允许您设置独立变量和组织变量名(如果存在的话)。设置的单位gydF4y2Ba时间gydF4y2Ba
和gydF4y2Ba浓缩的gydF4y2Ba
变量。单位是可选的,只有所需的gydF4y2BaUnitConversiongydF4y2Ba
功能,该功能会自动匹配的物理量转换为一个一致的单位系统。gydF4y2Ba
gData = groupedData(数据);gData.Properties。VariableUnits = {gydF4y2Ba“小时”gydF4y2Ba,gydF4y2Ba毫克/升的gydF4y2Ba};gData.PropertiesgydF4y2Ba
ans =gydF4y2Ba结构体字段:gydF4y2Ba描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames:{“时间”“浓缩的”}VariableDescriptions: {} VariableUnits:{“小时”“毫克/升”}VariableContinuity: [] RowNames: {} CustomProperties: [1 x1 matlab.tabular。CustomProperties] GroupVariableName:“IndependentVariableName:‘时间’gydF4y2Ba
groupedDatagydF4y2Ba
自动设置的名称gydF4y2BaIndependentVariableNamegydF4y2Ba
财产gydF4y2Ba时间gydF4y2Ba
变量的数据。gydF4y2Ba
构造一个单舱模型gydF4y2Ba
使用内置的PK图书馆构建单舱模型丸加药和一阶消除消除速率取决于间隙和中央室的体积。使用gydF4y2BaconfigsetgydF4y2Ba
对象单位转换。gydF4y2Ba
pkmd = PKModelDesign;pkc1 = addCompartment (pkmd,gydF4y2Ba“中央”gydF4y2Ba);pkc1。DosingType =gydF4y2Ba“丸”gydF4y2Ba;pkc1。EliminationType =gydF4y2Ba“linear-clearance”gydF4y2Ba;pkc1。HasResponseVariable = true;模型=构造(pkmd);configset = getconfigset(模型);configset.CompileOptions。UnitConversion = true;gydF4y2Ba
有关创建区划的PK模型使用SimBiology®内置库,明白了gydF4y2Ba创建药代动力学模型gydF4y2Ba。gydF4y2Ba
定义剂量gydF4y2Ba
定义一个丸的10毫克剂量在时间= 0。在设置不同的剂量计划的详细信息,请参见gydF4y2Ba剂量SimBiology模型gydF4y2Ba。gydF4y2Ba
剂量= sbiodose (gydF4y2Ba“剂量”gydF4y2Ba);剂量。TargetName =gydF4y2Ba“Drug_Central”gydF4y2Ba;剂量。开始时间= 0;剂量。一个米ount = 10; dose.AmountUnits =毫克的gydF4y2Ba;剂量。时间Units =“小时”gydF4y2Ba;gydF4y2Ba
响应数据映射到相应的模型组件gydF4y2Ba
中存储的数据包含药物浓度数据gydF4y2Ba浓缩的gydF4y2Ba
变量。这些数据对应gydF4y2BaDrug_CentralgydF4y2Ba
在模型中物种。因此,地图数据gydF4y2BaDrug_CentralgydF4y2Ba
如下。gydF4y2Ba
responseMap = {gydF4y2Ba“Drug_Central =浓缩的”gydF4y2Ba};gydF4y2Ba
指定的参数估计gydF4y2Ba
这个模型的参数以适应中央室的体积(中央)和清除率(Cl_Central)。在这种情况下,为这些生物参数指定对数变换,因为他们限制是积极的。的gydF4y2BaestimatedInfogydF4y2Ba
对象允许您指定参数变换,初始值和参数范围。gydF4y2Ba
paramsToEstimate = {gydF4y2Ba“日志(中央)”gydF4y2Ba,gydF4y2Ba“日志(Cl_Central)”gydF4y2Ba};estimatedParams = estimatedInfo (paramsToEstimate,gydF4y2Ba“InitialValue”gydF4y2Ba[1],gydF4y2Ba“界限”gydF4y2Ba,1 5;0.5 - 2);gydF4y2Ba
估计参数gydF4y2Ba
现在您已经定义了单舱模型,数据适合映射响应数据,参数估计,和剂量,使用gydF4y2BasbiofitgydF4y2Ba
来估计参数。默认的估计函数gydF4y2BasbiofitgydF4y2Ba
使用会改变取决于可用的工具箱。中使用函数拟合,检查gydF4y2BaEstimationFunctiongydF4y2Ba
对应的结果对象的属性。gydF4y2Ba
fitConst = sbiofit(模型、gData responseMap estimatedParams,剂量);gydF4y2Ba
显示估计参数和阴谋的结果gydF4y2Ba
注意的参数估计不远了真值(1.70和0.55),用于生成数据。你也可以尝试不同的误差模型,看看他们是否可以进一步提高参数估计。gydF4y2Ba
fitConst.ParameterEstimatesgydF4y2Ba
ans =gydF4y2Ba2×4表gydF4y2Ba名字估计StandardError ________ _________________ __________范围* * *{“中央”}1.6993 0.034821 1 5 {‘Cl_Central} 0.53358 0.01968 0.5 - 2gydF4y2Ba
s.Labels。包含=gydF4y2Ba的时间(小时)gydF4y2Ba;s.Labels。YLabel =gydF4y2Ba的浓度(毫克/升)gydF4y2Ba;情节(fitConstgydF4y2Ba“AxesStyle”gydF4y2Ba,年代);gydF4y2Ba
使用不同的误差模型gydF4y2Ba
尝试其他三个支持误差模型(比例、金宝app结合常数和比例误差模型和指数)。gydF4y2Ba
fitProp = sbiofit(模型、gData responseMap estimatedParams,剂量,gydF4y2Ba…gydF4y2Ba“ErrorModel”gydF4y2Ba,gydF4y2Ba“比例”gydF4y2Ba);fitExp = sbiofit(模型、gData responseMap estimatedParams,剂量,gydF4y2Ba…gydF4y2Ba“ErrorModel”gydF4y2Ba,gydF4y2Ba“指数”gydF4y2Ba);fitComb = sbiofit(模型、gData responseMap estimatedParams,剂量,gydF4y2Ba…gydF4y2Ba“ErrorModel”gydF4y2Ba,gydF4y2Ba“组合”gydF4y2Ba);gydF4y2Ba
用权重代替一个误差模型gydF4y2Ba
您可以指定权重作为一个数字矩阵,列数对应的响应。设置所有重量1等于常数误差模型。gydF4y2Ba
weightsNumeric = 1(大小(gData.Conc));fitWeightsNumeric = sbiofit(模型、gData responseMap estimatedParams,剂量,gydF4y2Ba“重量”gydF4y2Ba,weightsNumeric);gydF4y2Ba
或者,您可以使用一个函数处理,接受一个向量的预测响应值,并返回一个向量的权重。在这个例子中,使用一个函数处理,相当于比例误差模型。gydF4y2Ba
weightsFunction = @ (y) 1. / y ^ 2;fitWeightsFunction = sbiofit(模型、gData responseMap estimatedParams,剂量,gydF4y2Ba“重量”gydF4y2Ba,weightsFunction);gydF4y2Ba
比较信息模型选择标准gydF4y2Ba
比较loglikelihood、AIC和BIC值的每个模型最好看看哪些误差模型与数据的吻合程度。更大的可能性值表示相应的模型符合模型更好。AIC和BIC较小值更好。gydF4y2Ba
allResults = [fitConst fitWeightsNumeric、fitWeightsFunction fitProp, fitExp, fitComb);errorModelNames = {gydF4y2Ba“常数误差模型”gydF4y2Ba,gydF4y2Ba相同重量的gydF4y2Ba,gydF4y2Ba的权重比例gydF4y2Ba,gydF4y2Ba…gydF4y2Ba的比例误差模型gydF4y2Ba,gydF4y2Ba“指数误差模型”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“综合误差模型”gydF4y2Ba};LogLikelihood = [allResults.LogLikelihood] ';AIC = [allResults.AIC] ';BIC = [allResults.BIC] ';t =表(LogLikelihood、AIC, BIC);t.Properties。RowNames=errorModelNames; t
t =gydF4y2Ba6×3表gydF4y2BaLogLikelihood AIC BIC _________________ ____ ____常数误差模型3.9866 -3.9732 -2.8433 3.9866 -3.9732 -2.8433相等的权重比例重量-3.8472 11.694 12.824比例误差模型结合指数误差模型-3.8257 11.651 12.781 1.1984 1.6032 2.7331 3.9163 -3.8326 -2.7027误差模型gydF4y2Ba
基于信息标准,常数误差模型(或相等的权重)最适合的数据,因为它拥有最大的loglikelihood值和最小的AIC和BIC。gydF4y2Ba
显示估计的参数值gydF4y2Ba
显示每个模型的估计参数值。gydF4y2Ba
Estimated_Central = 0 (6,1);Estimated_Cl_Central = 0 (6,1);t2 =表(Estimated_Central Estimated_Cl_Central);t2.Properties。RowNames=errorModelNames;为gydF4y2Bai = 1:高度(t2) t2{我1}= allResults (i) .ParameterEstimates.Estimate (1);t2{我2}= allResults (i) .ParameterEstimates.Estimate (2);gydF4y2Ba结束gydF4y2Bat2gydF4y2Ba
t2 =gydF4y2Ba6×2表gydF4y2BaEstimated_Central Estimated_Cl_Central _________________ ____________________常数误差模型1.6993 - 0.53358 =重量1.6993 - 0.53358比例权重指数1.9045 - 0.51734 1.8777 - 0.51147比例误差模型误差模型1.7008 - 0.53271 1.7872 - 0.51701综合误差模型gydF4y2Ba
结论gydF4y2Ba
这个例子展示了如何估计PK参数,即中央室的体积和间隙参数的一个个体,通过拟合PK单舱模式配置文件数据。你每个模型的信息标准相比,估计的参数值不同的误差模型,看看哪种模式最解释数据。最终拟合结果显示两个常数和结合误差模型提供了最近的估计参数值用于生成数据。然而,常数误差模型是一个更好的模型表示loglikelihood, AIC和BIC信息标准。gydF4y2Ba
符合两舱制模式PK的多个个体gydF4y2Ba
假设你有药物血浆浓度三个个人,您想要使用的数据估计相应的药代动力学参数,即中央和周边室的体积(gydF4y2Ba中央gydF4y2Ba
,gydF4y2Ba外围gydF4y2Ba
),清除率(gydF4y2BaCl_CentralgydF4y2Ba
)和intercompartmental间隙(gydF4y2Ba12个gydF4y2Ba
)。假定药物浓度和时间剖面遵循biexponential下降gydF4y2Ba
,在那里gydF4y2BaCgydF4y2BatgydF4y2Ba药物浓度在时间吗gydF4y2BatgydF4y2Ba,gydF4y2Ba一个gydF4y2Ba和gydF4y2BabgydF4y2Ba山坡上的相应指数下降。gydF4y2Ba
合成数据集包含药物血浆浓度数据以中央和周边隔间。生成的数据是使用两舱制模型与注入剂量和一阶消除。这些参数为每个单独的使用。gydF4y2Ba
中央gydF4y2Ba |
外围gydF4y2Ba |
12个gydF4y2Ba |
Cl_CentralgydF4y2Ba |
|
---|---|---|---|---|
个人1gydF4y2Ba | 1.90gydF4y2Ba | 0.68gydF4y2Ba | 0.24gydF4y2Ba | 0.57gydF4y2Ba |
2个人gydF4y2Ba | 2.10gydF4y2Ba | 6.05gydF4y2Ba | 0.36gydF4y2Ba | 0.95gydF4y2Ba |
个人3gydF4y2Ba | 1.70gydF4y2Ba | 4.21gydF4y2Ba | 0.46gydF4y2Ba | 0.95gydF4y2Ba |
数据存储的表变量gydF4y2BaIDgydF4y2Ba
,gydF4y2Ba时间gydF4y2Ba
,gydF4y2BaCentralConcgydF4y2Ba
,gydF4y2BaPeripheralConcgydF4y2Ba
。它代表了时间的等离子体浓度测量在八个不同的时间点为中心和外围隔间后注入剂量。gydF4y2Ba
负载(gydF4y2Ba“data10_32R.mat”gydF4y2Ba)gydF4y2Ba
将数据集转换成gydF4y2BagroupedDatagydF4y2Ba
对象所需的数据格式的拟合函数gydF4y2BasbiofitgydF4y2Ba
以备后用。一个gydF4y2BagroupedDatagydF4y2Ba
对象还允许您设置独立变量和组织变量名(如果存在的话)。设置的单位gydF4y2BaIDgydF4y2Ba
,gydF4y2Ba时间gydF4y2Ba
,gydF4y2BaCentralConcgydF4y2Ba
,gydF4y2BaPeripheralConcgydF4y2Ba
变量。单位是可选的,只有所需的gydF4y2BaUnitConversiongydF4y2Ba
功能,该功能会自动匹配的物理量转换为一个一致的单位系统。gydF4y2Ba
gData = groupedData(数据);gData.Properties。VariableUnits = {gydF4y2Ba”gydF4y2Ba,gydF4y2Ba“小时”gydF4y2Ba,gydF4y2Ba毫克/升的gydF4y2Ba,gydF4y2Ba毫克/升的gydF4y2Ba};gData.PropertiesgydF4y2Ba
ans =结构体字段:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {“ID”“时间”“CentralConc”“PeripheralConc”} VariableDescriptions: {} VariableUnits: {1 x4细胞}VariableContinuity: [] RowNames: {} CustomProperties: [1 x1 matlab.tabular。CustomProperties] GroupVariableName:“ID”IndependentVariableName:“时间”gydF4y2Ba
创建一个格子图,显示了三个人的PK的概要文件。gydF4y2Ba
sbiotrellis (gDatagydF4y2Ba“ID”gydF4y2Ba,gydF4y2Ba“时间”gydF4y2Ba,{gydF4y2Ba“CentralConc”gydF4y2Ba,gydF4y2Ba“PeripheralConc”gydF4y2Ba},gydF4y2Ba…gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“+”gydF4y2Ba,gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“没有”gydF4y2Ba);gydF4y2Ba
使用内置的PK库来构建一个两舱制模型与注入剂量和一阶消除消除速率取决于间隙和中央室的体积。使用configset对象单位转换。gydF4y2Ba
pkmd = PKModelDesign;pkc1 = addCompartment (pkmd,gydF4y2Ba“中央”gydF4y2Ba);pkc1。DosingType =gydF4y2Ba“注入”gydF4y2Ba;pkc1。EliminationType =gydF4y2Ba“linear-clearance”gydF4y2Ba;pkc1。HasResponseVariable = true;pkc2 = addCompartment (pkmd,gydF4y2Ba“外围”gydF4y2Ba);模型=构造(pkmd);configset = getconfigset(模型);configset.CompileOptions。UnitConversion = true;gydF4y2Ba
假设每个人收到注入剂量= 0时,注入总额为100毫克的速度50毫克/小时。设置不同的给药策略的细节,请参阅gydF4y2Ba剂量SimBiology模型gydF4y2Ba。gydF4y2Ba
剂量= sbiodose (gydF4y2Ba“剂量”gydF4y2Ba,gydF4y2Ba“TargetName”gydF4y2Ba,gydF4y2Ba“Drug_Central”gydF4y2Ba);剂量。开始时间= 0;剂量。一个米ount = 100; dose.Rate = 50; dose.AmountUnits =毫克的gydF4y2Ba;剂量。时间Units =“小时”gydF4y2Ba;剂量。RateUnits =gydF4y2Ba“毫克/小时”gydF4y2Ba;gydF4y2Ba
数据包含测量等离子体浓度在中央和周边隔间。物种,这些变量映射到适当的模型gydF4y2BaDrug_CentralgydF4y2Ba
和gydF4y2BaDrug_PeripheralgydF4y2Ba
。gydF4y2Ba
responseMap = {gydF4y2Ba“Drug_Central = CentralConc”gydF4y2Ba,gydF4y2Ba“Drug_Peripheral = PeripheralConc”gydF4y2Ba};gydF4y2Ba
该模型的参数估计是中央和周边隔间的卷(gydF4y2Ba中央gydF4y2Ba
和gydF4y2Ba外围gydF4y2Ba
),intercompartmental间隙gydF4y2Ba12个gydF4y2Ba
,清除率gydF4y2BaCl_CentralgydF4y2Ba
。在这种情况下,指定log-transformgydF4y2Ba中央gydF4y2Ba
和gydF4y2Ba外围gydF4y2Ba
因为它们是约束是积极的。的gydF4y2BaestimatedInfogydF4y2Ba
对象允许您指定参数变换,初始值和参数范围(可选)。gydF4y2Ba
paramsToEstimate = {gydF4y2Ba“日志(中央)”gydF4y2Ba,gydF4y2Ba的日志(外围)gydF4y2Ba,gydF4y2Ba“12”gydF4y2Ba,gydF4y2Ba“Cl_Central”gydF4y2Ba};estimatedParam = estimatedInfo (paramsToEstimate,gydF4y2Ba“InitialValue”gydF4y2Ba[1 1 1 1]);gydF4y2Ba
符合模型的所有数据汇集在一起,也就是说,估计参数的一组人。默认的估计方法gydF4y2BasbiofitgydF4y2Ba
使用会改变取决于可用的工具箱。看到这估计函数gydF4y2BasbiofitgydF4y2Ba
用于拟合,检查gydF4y2BaEstimationFunctiongydF4y2Ba
对应的结果对象的属性。gydF4y2Ba
pooledFit = sbiofit(模型、gData responseMap estimatedParam,剂量,gydF4y2Ba“池”gydF4y2Ba,真正的)gydF4y2Ba
pooledFit = OptimResults属性:ExitFlag: 3输出:[1 x1 struct] GroupName:[]β:[4 x3表]ParameterEstimates: [4 x3表]:[24 x4x2双]COVB: [4 x4双]CovarianceMatrix: [4 x4双]R: [24 x2双]MSE: 6.6220上交所:291.3688重量:[]LogLikelihood: -111.3904 AIC: 230.7808 BIC: 238.2656教育部:44 DependentFiles: {1} x3细胞数据:[24 x4 groupedData] EstimatedParameterNames:{“中央”“外围”“12”的Cl_Central} ErrorModelInfo: [1 x3表]EstimationFunction:“lsqnonlin”gydF4y2Ba
拟合结果与原始数据的阴谋。虽然三个独立的情节生成,数据上使用相同的一组参数(也就是说,所有三个人有同样的安装线)。gydF4y2Ba
情节(pooledFit);gydF4y2Ba
估计为每个单独的一组参数,看看是否有任何改善参数估计。在这个例子中,因为有三个人,三套参数估计。gydF4y2Ba
unpooledFit = sbiofit(模型、gData responseMap estimatedParam,剂量,gydF4y2Ba“池”gydF4y2Ba、假);gydF4y2Ba
拟合结果与原始数据的阴谋。每个人是不同的安装(也就是说,每个安装是每个人特有的行)和每一行似乎适合个人数据。gydF4y2Ba
情节(unpooledFit);gydF4y2Ba
显示了结果的第一人。池的MSE是低于健康。其他两个人也如此。gydF4y2Ba
unpooledFit (1)gydF4y2Ba
ans = OptimResults属性:ExitFlag: 3输出:[1 x1 struct] GroupName: 1β:[4 x3表]ParameterEstimates: [4 x3表]:[8 x4x2双]COVB: [4 x4双]CovarianceMatrix: [4 x4双]R: [8 x2双]MSE: 2.1380上交所:25.6559重量:[]LogLikelihood: -26.4805 AIC: 60.9610 BIC: 64.0514教育部:12 DependentFiles: {1} x3细胞数据:[8 x4 groupedData] EstimatedParameterNames:{“中央”“外围”“12”“Cl_Central”} ErrorModelInfo: [1 x3表]EstimationFunction:“lsqnonlin”gydF4y2Ba
生成一个阴谋的残差随时间比较集中,未共享健康结果。图显示未共享符合残差小于汇集的符合预期。除了比较残差外,其他严格的标准可以用来比较拟合结果。gydF4y2Ba
t = [gData.Time; gData.Time];res_pooled = vertcat (pooledFit.R);res_pooled = res_pooled (:);res_unpooled = vertcat (unpooledFit.R);res_unpooled = res_unpooled (:);情节(t, res_pooledgydF4y2Ba“o”gydF4y2Ba,gydF4y2Ba“MarkerFaceColor”gydF4y2Ba,gydF4y2Ba' w 'gydF4y2Ba,gydF4y2Ba“markerEdgeColor”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba)举行gydF4y2Ba在gydF4y2Ba情节(t, res_unpooledgydF4y2Ba“o”gydF4y2Ba,gydF4y2Ba“MarkerFaceColor”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba,gydF4y2Ba“markerEdgeColor”gydF4y2Ba,gydF4y2Ba“b”gydF4y2Ba)反射= refline (0,0);gydF4y2Ba%的参考线代表零残留gydF4y2Ba标题(gydF4y2Ba“残差与时间”gydF4y2Ba);包含(gydF4y2Ba“时间”gydF4y2Ba);ylabel (gydF4y2Ba“残差”gydF4y2Ba);传奇({gydF4y2Ba“池”gydF4y2Ba,gydF4y2Ba未共享的gydF4y2Ba});gydF4y2Ba
这个例子展示了如何执行未共享估计使用连接池gydF4y2BasbiofitgydF4y2Ba
。可以看出,未共享健康占变化由于特定学科研究,而且,在这种情况下,模型更适合数据。然而,汇集适合全民返回参数。如果你想估计全民参数同时考虑个体差异,使用gydF4y2BasbiofitmixedgydF4y2Ba
。gydF4y2Ba
估计的PK参数多个人gydF4y2Ba
这个例子展示了如何估计范畴特定(如年轻人和老年人,男性和女性),细化和全民参数使用PK从多个个人配置文件数据。gydF4y2Ba
背景gydF4y2Ba
假设你有药物血浆浓度数据从30个人和想估算药动学参数,即中央和周边室的体积,间隙,intercompartmental间隙。假定药物浓度和时间剖面遵循biexponential下降gydF4y2Ba ,在那里gydF4y2Ba 是药物浓度在时间t,gydF4y2Ba 和gydF4y2Ba 山坡上的相应指数下降。gydF4y2Ba
加载数据gydF4y2Ba
这个合成数据包含时间的等离子体浓度的丸剂量(100毫克)后30个人在不同的时间测量中央和周边隔间。它还包含分类变量,即gydF4y2Ba性gydF4y2Ba
和gydF4y2Ba年龄gydF4y2Ba
。gydF4y2Ba
明确负载(gydF4y2Ba“sd5_302RAgeSex.mat”gydF4y2Ba)gydF4y2Ba
groupedData格式转换gydF4y2Ba
将数据集转换成gydF4y2BagroupedDatagydF4y2Ba
对象,它是拟合函数所需的数据格式gydF4y2BasbiofitgydF4y2Ba
。一个gydF4y2BagroupedDatagydF4y2Ba
对象还允许您设置独立变量和组织变量名(如果存在的话)。设置的单位gydF4y2BaIDgydF4y2Ba
,gydF4y2Ba时间gydF4y2Ba
,gydF4y2BaCentralConcgydF4y2Ba
,gydF4y2BaPeripheralConcgydF4y2Ba
,gydF4y2Ba年龄gydF4y2Ba
,gydF4y2Ba性gydF4y2Ba
变量。单位是可选的,只有所需的gydF4y2BaUnitConversiongydF4y2Ba
功能,该功能会自动匹配的物理量转换为一个一致的单位系统。gydF4y2Ba
gData = groupedData(数据);gData.Properties。VariableUnits = {gydF4y2Ba”gydF4y2Ba,gydF4y2Ba“小时”gydF4y2Ba,gydF4y2Ba毫克/升的gydF4y2Ba,gydF4y2Ba毫克/升的gydF4y2Ba,gydF4y2Ba”gydF4y2Ba,gydF4y2Ba”gydF4y2Ba};gData.PropertiesgydF4y2Ba
ans =gydF4y2Ba结构体字段:gydF4y2Ba描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {“ID”“时间”“CentralConc”“PeripheralConc”“性”“年龄”}VariableDescriptions: {} VariableUnits:{”“小时”“毫克/升”毫克/升”“}VariableContinuity: [] RowNames: {} CustomProperties: [1 x1 matlab.tabular。CustomProperties] GroupVariableName:“ID”IndependentVariableName:“时间”gydF4y2Ba
的gydF4y2BaIndependentVariableNamegydF4y2Ba
和gydF4y2BaGroupVariableNamegydF4y2Ba
被自动设置为属性gydF4y2Ba时间gydF4y2Ba
和gydF4y2BaIDgydF4y2Ba
变量的数据。gydF4y2Ba
可视化数据gydF4y2Ba
显示响应数据为每个单独的。gydF4y2Ba
t = sbiotrellis (gDatagydF4y2Ba“ID”gydF4y2Ba,gydF4y2Ba“时间”gydF4y2Ba,{gydF4y2Ba“CentralConc”gydF4y2Ba,gydF4y2Ba“PeripheralConc”gydF4y2Ba},gydF4y2Ba…gydF4y2Ba“标记”gydF4y2Ba,gydF4y2Ba“+”gydF4y2Ba,gydF4y2Ba“线型”gydF4y2Ba,gydF4y2Ba“没有”gydF4y2Ba);gydF4y2Ba%调整图。gydF4y2Bat.hFig.Position (:) = (100 100 1280 800);gydF4y2Ba
建立一个两舱制模式gydF4y2Ba
使用内置的PK库来构建一个两舱制模型与注入剂量和一阶消除消除速率取决于间隙和中央室的体积。使用gydF4y2BaconfigsetgydF4y2Ba
对象单位转换。gydF4y2Ba
pkmd = PKModelDesign;pkc1 = addCompartment (pkmd,gydF4y2Ba“中央”gydF4y2Ba);pkc1。DosingType =gydF4y2Ba“丸”gydF4y2Ba;pkc1。EliminationType =gydF4y2Ba“linear-clearance”gydF4y2Ba;pkc1。HasResponseVariable = true;pkc2 = addCompartment (pkmd,gydF4y2Ba“外围”gydF4y2Ba);模型=构造(pkmd);configset = getconfigset(模型);configset.CompileOptions。UnitConversion = true;gydF4y2Ba
有关创建区划的PK模型使用SimBiology®内置库,明白了gydF4y2Ba创建药代动力学模型gydF4y2Ba。gydF4y2Ba
定义剂量gydF4y2Ba
假设每个人收到丸剂量100毫克的时间= 0。设置不同的给药策略的细节,请参阅gydF4y2Ba剂量SimBiology模型gydF4y2Ba。gydF4y2Ba
剂量= sbiodose (gydF4y2Ba“剂量”gydF4y2Ba,gydF4y2Ba“TargetName”gydF4y2Ba,gydF4y2Ba“Drug_Central”gydF4y2Ba);剂量。开始时间= 0;剂量。一个米ount = 100; dose.AmountUnits =毫克的gydF4y2Ba;剂量。时间Units =“小时”gydF4y2Ba;gydF4y2Ba
响应数据映射到相应的模型组件gydF4y2Ba
数据包含测量血浆浓度在中央和周边箱内。这些变量映射到适当的模型组件,gydF4y2BaDrug_CentralgydF4y2Ba
和gydF4y2BaDrug_PeripheralgydF4y2Ba
。gydF4y2Ba
responseMap = {gydF4y2Ba“Drug_Central = CentralConc”gydF4y2Ba,gydF4y2Ba“Drug_Peripheral = PeripheralConc”gydF4y2Ba};gydF4y2Ba
指定的参数估计gydF4y2Ba
指定的中央和周边隔间gydF4y2Ba中央gydF4y2Ba
和gydF4y2Ba外围gydF4y2Ba
,intercompartmental间隙gydF4y2Ba12个gydF4y2Ba
和清关gydF4y2BaCl_CentralgydF4y2Ba
作为参数估计。的gydF4y2BaestimatedInfogydF4y2Ba
对象允许您选择指定参数变换,初始值和参数范围。因为两个gydF4y2Ba中央gydF4y2Ba
和gydF4y2Ba外围gydF4y2Ba
限制是积极的,为每个参数指定一个log-transform。gydF4y2Ba
paramsToEstimate = {gydF4y2Ba“日志(中央)”gydF4y2Ba,gydF4y2Ba的日志(外围)gydF4y2Ba,gydF4y2Ba“12”gydF4y2Ba,gydF4y2Ba“Cl_Central”gydF4y2Ba};estimatedParam = estimatedInfo (paramsToEstimate,gydF4y2Ba“InitialValue”gydF4y2Ba[1 1 1 1]);gydF4y2Ba
细化参数估计gydF4y2Ba
估计为每个单独的一组参数设置gydF4y2Ba“池”gydF4y2Ba
名称-值对参数gydF4y2Ba假gydF4y2Ba
。gydF4y2Ba
unpooledFit = sbiofit(模型、gData responseMap estimatedParam,剂量,gydF4y2Ba“池”gydF4y2Ba、假);gydF4y2Ba
显示结果gydF4y2Ba
画出拟合结果与原始数据为每个单独的(集团)。gydF4y2Ba
情节(unpooledFit);gydF4y2Ba
对于一个未共享健康,gydF4y2BasbiofitgydF4y2Ba
总是返回一个对象为每个单独的结果。gydF4y2Ba
检查参数估计类依赖关系gydF4y2Ba
探索未共享是否有任何的参数估计,也就是说,如果一些参数相关的一个或多个类别。如果有任何类别的依赖性,它可能减少自由度的数量,通过估计这些参数的值。gydF4y2Ba
首先提取和类别ID值为每个IDgydF4y2Ba
catParamValues =独特(gData (: {gydF4y2Ba“ID”gydF4y2Ba,gydF4y2Ba“性”gydF4y2Ba,gydF4y2Ba“年龄”gydF4y2Ba}));gydF4y2Ba
将变量添加到表包含每个参数的估计。gydF4y2Ba
allParamValues = vertcat (unpooledFit.ParameterEstimates);catParamValues。中央=一个llParamValues.Estimate(strcmp(allParamValues.Name,“中央”gydF4y2Ba));catParamValues。外围=一个llParamValues.Estimate(strcmp(allParamValues.Name,“外围”gydF4y2Ba));catParamValues。12个=一个llParamValues.Estimate(strcmp(allParamValues.Name,“12”gydF4y2Ba));catParamValues。Cl_Central=一个llParamValues.Estimate(strcmp(allParamValues.Name,“Cl_Central”gydF4y2Ba));gydF4y2Ba
为每个类别阴谋每个参数的估计。gydF4y2BagscattergydF4y2Ba
需要统计和机器学习的工具箱™。如果你没有它,使用其他替代绘图等功能gydF4y2Ba情节gydF4y2Ba
。gydF4y2Ba
h =图;ylabels = [gydF4y2Ba“中央”gydF4y2Ba,gydF4y2Ba“边缘”gydF4y2Ba,gydF4y2Ba“12”gydF4y2Ba,gydF4y2Ba“Cl \ _Central”gydF4y2Ba];plotNumber = 1;gydF4y2Ba为gydF4y2Ba我= 1:4 thisParam = estimatedParam(我). name;gydF4y2Ba%的阴谋性范畴gydF4y2Ba次要情节(4 2 plotNumber);plotNumber = plotNumber + 1;gscatter(双(catParamValues.Sex), catParamValues。(thisParam) catParamValues.Sex);甘氨胆酸ax =;斧子。XTick = [];ylabel (ylabels (i));传奇(gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“bestoutside”gydF4y2Ba)gydF4y2Ba%的阴谋年龄类别gydF4y2Ba次要情节(4 2 plotNumber);plotNumber = plotNumber + 1;gscatter(双(catParamValues.Age), catParamValues。(thisParam) catParamValues.Age);甘氨胆酸ax =;斧子。XTick = [];ylabel (ylabels (i));传奇(gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“bestoutside”gydF4y2Ba)gydF4y2Ba结束gydF4y2Ba%调整图。gydF4y2Bah.Position (:) = (100 100 1280 800);gydF4y2Ba
根据情节,似乎年轻个体倾向于有更高的中央和周边隔间(gydF4y2Ba中央gydF4y2Ba
,gydF4y2Ba外围gydF4y2Ba
比旧的个人(即卷似乎不同年龄组)。此外,男性较低间隙率(gydF4y2BaCl_CentralgydF4y2Ba
为12个参数)比女性但相反的(也就是说,间隙和Q12似乎性别)。gydF4y2Ba
估计的参数gydF4y2Ba
使用gydF4y2Ba“CategoryVariableName”gydF4y2Ba
财产的gydF4y2BaestimatedInfogydF4y2Ba
在拟合对象指定使用哪个类别。使用gydF4y2Ba“性”gydF4y2Ba
集团为间隙配合gydF4y2BaCl_CentralgydF4y2Ba
和gydF4y2Ba12个gydF4y2Ba
参数。使用gydF4y2Ba“年龄”gydF4y2Ba
随着集团适合gydF4y2Ba中央gydF4y2Ba
和gydF4y2Ba外围gydF4y2Ba
参数。gydF4y2Ba
estimatedParam (1)。C一个teg或yV一个riableName =“年龄”gydF4y2Ba;estimatedParam (2)。C一个teg或yV一个riableName =“年龄”gydF4y2Ba;estimatedParam (3)。C一个teg或yV一个riableName =“性”gydF4y2Ba;estimatedParam (4)。C一个teg或yV一个riableName =“性”gydF4y2Ba;categoryFit = sbiofit(模型、gData responseMap estimatedParam,剂量)gydF4y2Ba
categoryFit = OptimResults属性:ExitFlag: 3输出:[1 x1 struct] GroupName:[]β:[8 x5表]ParameterEstimates: [120 x6表]:[240 x8x2双]COVB:[8×8双]CovarianceMatrix:[8×8双]R: [240 x2双]MSE: 0.4362上交所:205.8690重量:[]LogLikelihood: -477.9195 AIC: 971.8390 BIC: 1.0052 e + 03 DFE: 472 DependentFiles: {1} x3细胞数据:[240 x6 groupedData] EstimatedParameterNames:{“中央”“外围”“12”的Cl_Central} ErrorModelInfo: [1 x3表]EstimationFunction:“lsqnonlin”gydF4y2Ba
当配件按类别(或一组),gydF4y2BasbiofitgydF4y2Ba
总是返回一个结果对象,而不是一个为每个类别的水平。这是因为雄性和雌性个体被认为是部分相同的优化使用相同的误差模型和误差参数,同样的年轻和年老的人。gydF4y2Ba
阴谋的结果gydF4y2Ba
情节的估计结果。gydF4y2Ba
情节(categoryFit);gydF4y2Ba
为gydF4y2BaCl_CentralgydF4y2Ba
和gydF4y2Ba12个gydF4y2Ba
参数,所有男性有相同的估计,和类似的女性。为gydF4y2Ba中央gydF4y2Ba
和gydF4y2Ba外围gydF4y2Ba
参数,所有年轻的个人有相同的估计,和同样的人。gydF4y2Ba
全民参数估计gydF4y2Ba
为了更好的比较结果,符合模型的所有数据汇集在一起,也就是说,估计参数的一组个人通过设置gydF4y2Ba“池”gydF4y2Ba
名称-值对参数gydF4y2Ba真正的gydF4y2Ba
。警告消息告诉你,这个选项会忽略任何范畴特定信息(如果存在的话)。gydF4y2Ba
pooledFit = sbiofit(模型、gData responseMap estimatedParam,剂量,gydF4y2Ba“池”gydF4y2Ba,真正的);gydF4y2Ba
警告:CategoryVariableName estimatedInfo对象的属性使用“汇集”选项时将被忽略。gydF4y2Ba
阴谋的结果gydF4y2Ba
拟合结果与原始数据的阴谋。虽然单独的情节是为每个生成,数据拟合使用同一组参数(也就是说,所有人有同样的安装线)。gydF4y2Ba
情节(pooledFit);gydF4y2Ba
比较残差gydF4y2Ba
比较残差的gydF4y2BaCentralConcgydF4y2Ba
和gydF4y2BaPeripheralConcgydF4y2Ba
为每一个合适的反应。gydF4y2Ba
t = gData.Time;allResid (:,: 1) = pooledFit.R;allResid (:: 2) = categoryFit.R;allResid (:: 3) = vertcat (unpooledFit.R);h =图;responseList = {gydF4y2Ba“CentralConc”gydF4y2Ba,gydF4y2Ba“PeripheralConc”gydF4y2Ba};gydF4y2Ba为gydF4y2Bai = 1:2次要情节(2,1,我);oneResid =挤压(allResid(:,我,:));情节(t, oneResidgydF4y2Ba“o”gydF4y2Ba);refline (0,0);gydF4y2Ba%的参考线代表零残留gydF4y2Ba标题(sprintf (gydF4y2Ba“残差(% s)”gydF4y2Ba我,responseList {}));包含(gydF4y2Ba“时间”gydF4y2Ba);ylabel (gydF4y2Ba“残差”gydF4y2Ba);传奇({gydF4y2Ba“池”gydF4y2Ba,gydF4y2Ba“的”gydF4y2Ba,gydF4y2Ba未共享的gydF4y2Ba});gydF4y2Ba结束gydF4y2Ba%调整图。gydF4y2Bah.Position (:) = (100 100 1280 800);gydF4y2Ba
如情节所示,未共享适应生产最适合的数据,因为它适合每个人的数据。这是预期的,因为它使用了最多的自由度。category-fit减少自由度的数量,通过拟合数据两类(性别和年龄)。因此,残差大于未共享健康,但仍小于population-fit,估计只有一个为所有个人设定的参数。category-fit可能是一个很好的妥协未共享和集中之间的拟合提供任何层次模型存在于您的数据。gydF4y2Ba
估计酵母G蛋白模型参数gydF4y2Ba
下面的例子使用了酵母heterotrimeric G蛋白模型和实验数据报告gydF4y2Ba[1]gydF4y2Ba。模型的详细信息,请参阅gydF4y2Ba背景gydF4y2Ba部分gydF4y2Ba扫描参数、参数估计和灵敏度分析在酵母Heterotrimeric G蛋白循环gydF4y2Ba。gydF4y2Ba
加载G蛋白模型。gydF4y2Ba
sbioloadprojectgydF4y2BagproteingydF4y2Ba
存储实验数据包含的时间进程的一部分积极的G蛋白。gydF4y2Ba
时间= [0 10 30 60 110 210 300 450 600)';GaFracExpt = [0 0.35 0.4 0.36 0.39 0.33 0.24 0.17 0.2) ';gydF4y2Ba
创建一个gydF4y2BagroupedDatagydF4y2Ba
基于实验数据的对象。gydF4y2Ba
台=表(时间、GaFracExpt);grpData = groupedData(台);gydF4y2Ba
适当的模型组件映射到实验数据。换句话说,指示哪些物种模型对应于响应变量的数据。在这个例子中,地图的模型参数gydF4y2BaGaFracgydF4y2Ba
实验数据的变量gydF4y2BaGaFracExptgydF4y2Ba
从gydF4y2BagrpDatagydF4y2Ba
。gydF4y2Ba
responseMap =gydF4y2Ba“GaFrac = GaFracExpt”gydF4y2Ba;gydF4y2Ba
使用一个gydF4y2BaestimatedInfogydF4y2Ba
对象定义模型参数gydF4y2BakGdgydF4y2Ba
作为一个参数估计。gydF4y2Ba
estimatedParam = estimatedInfo (gydF4y2Ba“kGd”gydF4y2Ba);gydF4y2Ba
执行参数估计。gydF4y2Ba
fitResult = sbiofit (m1, grpData、responseMap estimatedParam);gydF4y2Ba
查看估计的参数值gydF4y2BakGdgydF4y2Ba
。gydF4y2Ba
fitResult.ParameterEstimatesgydF4y2Ba
ans =gydF4y2Ba1×3表gydF4y2Ba名字估计StandardError _________ ________ _________________ {‘kGd} 0.11307 - 3.4439 e-05gydF4y2Ba
假设你想把模型仿真结果使用估计的参数值。您可以重新运行gydF4y2BasbiofitgydF4y2Ba
函数和指定可选的第二个返回输出参数,其中包含仿真结果,或使用gydF4y2Ba安装gydF4y2Ba
方法检索结果而无需重新运行gydF4y2BasbiofitgydF4y2Ba
。gydF4y2Ba
[yfit, paramEstim] =安装(fitResult);gydF4y2Ba
仿真结果。gydF4y2Ba
sbioplot (yfit);gydF4y2Ba
估计滞后时间和持续时间的剂量gydF4y2Ba
这个例子展示了如何估计滞后丸之前注射的时间和剂量使用单舱的持续时间模型。gydF4y2Ba
加载一个样本数据集。gydF4y2Ba
负载gydF4y2BalagDurationData.matgydF4y2Ba
图数据。gydF4y2Ba
情节(data.Time data.Conc,gydF4y2Ba“x”gydF4y2Ba)包含(gydF4y2Ba的时间(小时)gydF4y2Ba)ylabel (gydF4y2Ba“浓缩的(毫克/升)gydF4y2Ba)gydF4y2Ba
groupedData转换。gydF4y2Ba
gData = groupedData(数据);gData.Properties。VariableUnits = {gydF4y2Ba“小时”gydF4y2Ba,gydF4y2Ba毫克/升的gydF4y2Ba};gydF4y2Ba
创建一个单舱模型。gydF4y2Ba
pkmd = PKModelDesign;pkc1 = addCompartment (pkmd,gydF4y2Ba“中央”gydF4y2Ba);pkc1。DosingType =gydF4y2Ba“丸”gydF4y2Ba;pkc1。EliminationType =gydF4y2Ba“linear-clearance”gydF4y2Ba;pkc1。HasResponseVariable = true;模型=构造(pkmd);configset = getconfigset(模型);configset.CompileOptions。UnitConversion = true;gydF4y2Ba
添加两个参数代表了时间滞后的剂量和持续时间。滞后参数指定剂量接种前的时间间隔。时间参数指定的长度时间管理一剂。gydF4y2Ba
lagP = addparameter(模型,gydF4y2Ba“lagP”gydF4y2Ba);lagP。V一个lueUnits =“小时”gydF4y2Ba;durP = addparameter(模型,gydF4y2Ba“durP”gydF4y2Ba);durP。价值Units =“小时”gydF4y2Ba;gydF4y2Ba
创建一个剂量对象。设置gydF4y2BaLagParameterNamegydF4y2Ba
和gydF4y2BaDurationParameterNamegydF4y2Ba
剂量的属性名称的滞后和时间参数,分别。设置数量10毫克剂量用于生成数据量。gydF4y2Ba
剂量= sbiodose (gydF4y2Ba“剂量”gydF4y2Ba);剂量。TargetName =gydF4y2Ba“Drug_Central”gydF4y2Ba;剂量。开始时间= 0;剂量。一个米ount = 10; dose.AmountUnits =毫克的gydF4y2Ba;剂量。时间Units =“小时”gydF4y2Ba;剂量。LagParameterName =gydF4y2Ba“lagP”gydF4y2Ba;剂量。DurationParameterName =gydF4y2Ba“durP”gydF4y2Ba;gydF4y2Ba
物种模型映射到相应的数据。gydF4y2Ba
responseMap = {gydF4y2Ba“Drug_Central =浓缩的”gydF4y2Ba};gydF4y2Ba
指定滞后和时间参数作为参数估计。Log-transform参数。初始化它们2和设置上界和下界。gydF4y2Ba
paramsToEstimate = {gydF4y2Ba“日志(lagP)”gydF4y2Ba,gydF4y2Ba“日志(durP)”gydF4y2Ba};estimatedParams = estimatedInfo (paramsToEstimate,gydF4y2Ba“InitialValue”gydF4y2Ba2,gydF4y2Ba“界限”gydF4y2Ba[1 5]);gydF4y2Ba
进行参数估计。gydF4y2Ba
fitResults = sbiofit(模型、gData responseMap estimatedParams,剂量,gydF4y2Ba“fminsearch”gydF4y2Ba)gydF4y2Ba
fitResults = OptimResults属性:ExitFlag: 1输出:[1 x1 struct] GroupName:一组β:[2 x4表]ParameterEstimates: [2 x4表]J: [11 x2双]COVB: [2 x2双]CovarianceMatrix: [2 x2双]R: x1双[11]MSE: 0.0024上交所:0.0213重量:[]LogLikelihood: 18.7511 AIC: -33.5023 BIC: -32.7065教育部:9 DependentFiles: {1 x2细胞}数据:[11 x2 groupedData] EstimatedParameterNames: {“lagP”“durP”} ErrorModelInfo: [1 x3表]EstimationFunction:“fminsearch”gydF4y2Ba
显示结果。gydF4y2Ba
fitResults.ParameterEstimatesgydF4y2Ba
ans =gydF4y2Ba2×4表gydF4y2Ba名字估计StandardError界限说_________________ ______ {‘lagP} 1.986 0.0051568 1 5 {‘durP} 1.527 0.012956 - 1 5gydF4y2Ba
情节(fitResults)gydF4y2Ba
输入参数gydF4y2Ba
smgydF4y2Ba
- - - - - -gydF4y2BaSimBiology模型gydF4y2Ba
SimBiology模型对象gydF4y2Ba
作为一个SimBiology SimBiology模型,指定gydF4y2Ba模型对象gydF4y2Ba
。活动gydF4y2Baconfigset对象gydF4y2Ba
仿真模型包含的解算器设置。任何积极应用剂量和变异模型在模拟除非另有指定使用gydF4y2Ba剂量gydF4y2Ba
和gydF4y2Ba变体gydF4y2Ba
分别输入参数。gydF4y2Ba
grpDatagydF4y2Ba
- - - - - -gydF4y2Ba数据以适应gydF4y2Ba
groupedData对象gydF4y2Ba
数据符合指定为一个gydF4y2BagroupedData对象gydF4y2Ba
。gydF4y2Ba
时间变量必须定义的名称gydF4y2BaIndependentVariableNamegydF4y2Ba
的属性gydF4y2BagrpDatagydF4y2Ba
。例如,如果时间变量名gydF4y2Ba“时间”gydF4y2Ba
,然后指定如下。gydF4y2Ba
grpData.Properties。IndependentVariableName =gydF4y2Ba“时间”gydF4y2Ba;gydF4y2Ba
如果测量的数据包含多个组,分组必须定义的变量名gydF4y2BaGroupVariableNamegydF4y2Ba
的属性gydF4y2BagrpDatagydF4y2Ba
。例如,如果分组变量名gydF4y2Ba“集团”gydF4y2Ba
,然后指定如下。gydF4y2Ba
grpData.Properties。GroupVariableName =gydF4y2Ba“集团”gydF4y2Ba;gydF4y2Ba
请注意gydF4y2Ba
sbiofitgydF4y2Ba
使用gydF4y2Ba分类gydF4y2Ba
函数来确定组。如果任何组值转换为相同的值gydF4y2Ba分类gydF4y2Ba
,那么这些观察被视为属于同一组。例如,如果一些观察没有组信息(即空字符向量gydF4y2Ba”gydF4y2Ba
),然后gydF4y2Ba分类gydF4y2Ba
将空特征向量gydF4y2Ba<定义>gydF4y2Ba
,这些观察结果被视为一组。gydF4y2Ba
ResponseMapgydF4y2Ba
- - - - - -gydF4y2Ba模型组件的映射信息gydF4y2BagrpDatagydF4y2Ba
特征向量gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba|gydF4y2Ba字符串向量gydF4y2Ba|gydF4y2Ba单元阵列的特征向量gydF4y2Ba
模型组件的映射信息gydF4y2BagrpDatagydF4y2Ba
指定为一个特征向量,字符串,字符串向量,或单元阵列的特征向量。gydF4y2Ba
向量的每个字符或字符串是一个方程表达式,类似于SimBiology分配规则。它包含名称(或限定名称)的数量(物种、车厢或参数)或一个gydF4y2Ba可观测的gydF4y2Ba
对象模型中gydF4y2BasmgydF4y2Ba
,紧随其后的是性格gydF4y2Ba“=”gydF4y2Ba
和一个变量的名字gydF4y2BagrpDatagydF4y2Ba
。为了清楚起见,允许空白名称和之间gydF4y2Ba“=”gydF4y2Ba
。gydF4y2Ba
例如,如果您有浓度数据gydF4y2Ba“浓缩的”gydF4y2Ba
在gydF4y2BagrpDatagydF4y2Ba
为一个物种gydF4y2Ba“Drug_Central”gydF4y2Ba
,您可以指定如下。gydF4y2Ba
ResponseMap =gydF4y2Ba“Drug_Central =浓缩的”gydF4y2Ba;gydF4y2Ba
一个物种名称明确,使用限定名称,其中包括舱的名称。名字reaction-scoped参数,使用反应名称参数。gydF4y2Ba
如果模型组件名称或gydF4y2BagrpDatagydF4y2Ba
变量名称不是一个有效的MATLABgydF4y2Ba®gydF4y2Ba变量名,用方括号把它围起来,如:gydF4y2Ba
ResponseMap =gydF4y2Ba”[1]中部。药物=(1浓缩的中部)'gydF4y2Ba;gydF4y2Ba
如果一个变量名称本身包含方括号,你不能在表达式中使用它来定义映射信息。gydF4y2Ba
发出一个错误如果任何(合格)名称匹配相同类型的两个组件。不过,您可以使用一个(合格)名称匹配不同类型的两个组件,和函数首先发现物种的名字,其次是隔间和参数。gydF4y2Ba
estiminfogydF4y2Ba
- - - - - -gydF4y2Ba估计参数gydF4y2Ba
estimatedInfogydF4y2Ba
对象gydF4y2Ba|gydF4y2Ba向量的gydF4y2BaestimatedInfogydF4y2Ba
对象gydF4y2Ba
估计参数,指定为一个gydF4y2BaEstimatedInfo对象gydF4y2Ba
或向量gydF4y2BaestimatedInfogydF4y2Ba
对象定义了估计模型中的参数gydF4y2BasmgydF4y2Ba
和其他可选信息,如他们的初始估计,转换,绑定约束和类别。金宝app支持转换是gydF4y2Ba日志gydF4y2Ba
,gydF4y2Ba分对数gydF4y2Ba
,gydF4y2BaprobitgydF4y2Ba
。有关详细信息,请参见gydF4y2Ba参数转换gydF4y2Ba。gydF4y2Ba
您可以指定所有评估方法的范围。下界必须低于上限。有关详细信息,请参见gydF4y2Ba界限gydF4y2Ba。gydF4y2Ba
当使用gydF4y2BascattersearchgydF4y2Ba
,您必须指定有限转化为每个参数估计范围。gydF4y2Ba
当使用gydF4y2BafminsearchgydF4y2Ba
,gydF4y2BanlinfitgydF4y2Ba
,或gydF4y2BafminuncgydF4y2Ba
范围,目标函数返回gydF4y2Ba正gydF4y2Ba
是否超出了界限。当你打开选项等gydF4y2BaFunValCheckgydF4y2Ba
,优化可能错误估计期间如果超过了界限。如果使用gydF4y2BanlinfitgydF4y2Ba
对雅可比矩阵,它可能报告警告被坏心肠的或无法估计如果最终结果过于接近。gydF4y2Ba
如果你不指定gydF4y2Ba池gydF4y2Ba
名称-值对的论点,gydF4y2BasbiofitgydF4y2Ba
使用gydF4y2BaCategoryVariableNamegydF4y2Ba
的属性gydF4y2BaestiminfogydF4y2Ba
决定是否必须估计为每个参数,组织类别,或全部个人作为一个整体。使用gydF4y2Ba池gydF4y2Ba
选择覆盖任何gydF4y2BaCategoryVariableNamegydF4y2Ba
值。对象的细节gydF4y2BaCategoryVariableNamegydF4y2Ba
财产,看到gydF4y2BaEstimatedInfo对象gydF4y2Ba
。gydF4y2Ba
请注意gydF4y2Ba
sbiofitgydF4y2Ba
使用gydF4y2Ba分类gydF4y2Ba
函数来识别团体或类别。如果任何组值转换为相同的值gydF4y2Ba分类gydF4y2Ba
,那么这些观察被视为属于同一组。例如,如果一些观察没有组信息(即空字符向量gydF4y2Ba”gydF4y2Ba
作为一个群体价值)gydF4y2Ba分类gydF4y2Ba
将空特征向量gydF4y2Ba<定义>gydF4y2Ba
,这些观察结果被视为一组。gydF4y2Ba
剂量gydF4y2Ba
- - - - - -gydF4y2Ba计量信息gydF4y2Ba
[]gydF4y2Ba
|gydF4y2Ba{}gydF4y2Ba
|gydF4y2Ba剂量对象的二维矩阵gydF4y2Ba|gydF4y2Ba细胞剂量对象的向量gydF4y2Ba
计量信息,指定为一个空数组(gydF4y2Ba[]gydF4y2Ba
或gydF4y2Ba{}gydF4y2Ba
),二维矩阵或细胞剂量对象的向量(gydF4y2BaScheduleDose对象gydF4y2Ba
或gydF4y2BaRepeatDose对象gydF4y2Ba
)。gydF4y2Ba
如果您省略了gydF4y2Ba剂量gydF4y2Ba
输入,该函数适用于活动如果有任何剂量的模型。gydF4y2Ba
如果您指定输入为空gydF4y2Ba[]gydF4y2Ba
或gydF4y2Ba{}gydF4y2Ba
期间,没有剂量应用模拟,即使模型具有活跃的剂量。gydF4y2Ba
剂量对象的矩阵,它必须有一个单一行或一行每组输入数据。如果一行,相同的剂量在模拟应用于所有群体。如果它有多个行,每一行是应用于一个单独的组,在组出现在输入数据的顺序相同。允许多个列,这样您就可以对每组应用多个剂量对象。gydF4y2Ba
请注意gydF4y2Ba
R2021b,剂量在不再需要列有相同的配置。如果您以前创建的默认(虚拟)剂量填列,这些默认的剂量没有效果,表明没有剂量。gydF4y2Ba
剂量的细胞载体,它必须有一个元素或者一个元素每组输入数据。每个元素必须gydF4y2Ba[]gydF4y2Ba
或一个向量的剂量。每个元素的细胞应用于一个单独的组,在组出现在输入数据的顺序相同。gydF4y2Ba
除了手动构建剂量使用对象gydF4y2BasbiodosegydF4y2Ba
,如果输入gydF4y2BagroupedDatagydF4y2Ba
对象有定量信息,您可以使用gydF4y2BacreateDosesgydF4y2Ba
方法构建剂量。gydF4y2Ba
functionNamegydF4y2Ba
- - - - - -gydF4y2Ba估计函数名gydF4y2Ba
特征向量gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba
估计函数名,指定为一个字符或字符串向量。选择如下。gydF4y2Ba
“fminsearch”gydF4y2Ba
“nlinfit”gydF4y2Ba
(统计和机器学习工具是必需的。)gydF4y2Ba“fminunc”gydF4y2Ba
(优化工具箱是必需的。)gydF4y2Ba“fmincon”gydF4y2Ba
(优化工具箱是必需的。)gydF4y2Ba“lsqcurvefit”gydF4y2Ba
(优化工具箱是必需的。)gydF4y2Ba“lsqnonlin”gydF4y2Ba
(优化工具箱是必需的。)gydF4y2Ba“patternsearch”gydF4y2Ba
(gydF4y2Ba全局优化工具箱gydF4y2Ba是必需的。)gydF4y2Ba“遗传算法”gydF4y2Ba
(gydF4y2Ba全局优化工具箱gydF4y2Ba是必需的。)gydF4y2Ba“particleswarm”gydF4y2Ba
(gydF4y2Ba全局优化工具箱gydF4y2Ba是必需的。)gydF4y2Ba
默认情况下,gydF4y2BasbiofitgydF4y2Ba
使用第一个可用的估计函数如下:gydF4y2BalsqnonlingydF4y2Ba
(优化工具箱)gydF4y2Ba,gydF4y2BanlinfitgydF4y2Ba
(统计和机器学习的工具箱)gydF4y2Ba,或gydF4y2BafminsearchgydF4y2Ba
。相同的优先级适用于默认本地解决者选择gydF4y2BascattersearchgydF4y2Ba
。gydF4y2Ba
支持方法的总结和合适的选项,看看金宝appgydF4y2Ba金宝app支持SimBiology的参数估计方法gydF4y2Ba。gydF4y2Ba
选项gydF4y2Ba
- - - - - -gydF4y2Ba选择特定的评估函数gydF4y2Ba
结构体gydF4y2Ba|gydF4y2BaoptimoptionsgydF4y2Ba
对象gydF4y2Ba
选择特定的评估函数,结构或指定gydF4y2BaoptimoptionsgydF4y2Ba
对象。gydF4y2Ba
statsetgydF4y2Ba
结构为gydF4y2BanlinfitgydF4y2Ba
optimsetgydF4y2Ba
结构为gydF4y2BafminsearchgydF4y2Ba
optimoptionsgydF4y2Ba
对象gydF4y2BalsqcurvefitgydF4y2Ba
,gydF4y2BalsqnonlingydF4y2Ba
,gydF4y2BafmincongydF4y2Ba
,gydF4y2BafminuncgydF4y2Ba
,gydF4y2BaparticleswarmgydF4y2Ba
,gydF4y2Ba遗传算法gydF4y2Ba
,gydF4y2BapatternsearchgydF4y2Ba
结构体gydF4y2Ba
为gydF4y2BascattersearchgydF4y2Ba
看到gydF4y2Ba默认选项估计算法gydF4y2Ba更多细节和默认选项与每个估计函数相关联。gydF4y2Ba
变体gydF4y2Ba
- - - - - -gydF4y2Ba变体gydF4y2Ba
[]gydF4y2Ba
|gydF4y2Ba{}gydF4y2Ba
|gydF4y2Ba变体对象的向量gydF4y2Ba
变异,指定为一个空数组(gydF4y2Ba[]gydF4y2Ba
或gydF4y2Ba{}gydF4y2Ba
)或变体对象的向量。gydF4y2Ba
如果你gydF4y2Ba
忽略这个输入参数,应用积极的变异函数模型的,如果有任何。gydF4y2Ba
这个输入指定为空,没有使用变体即使模型具有活跃的变体。gydF4y2Ba
指定这个输入向量的变异,变异函数适用于指定的所有模拟和模型主动变异不习惯。gydF4y2Ba
这个输入指定为一个向量的变异并指定gydF4y2Ba
变体gydF4y2Ba
名称-值参数,该函数适用于这个输入参数中指定的变量名称中指定应用的参数。gydF4y2Ba
名称-值参数gydF4y2Ba
指定可选的双参数作为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba
,在那里gydF4y2Ba的名字gydF4y2Ba
参数名称和吗gydF4y2Ba价值gydF4y2Ba
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。gydF4y2Ba
R2021a之前,用逗号来分隔每一个名称和值,并附上gydF4y2Ba的名字gydF4y2Ba
在报价。gydF4y2Ba
例子:gydF4y2Ba“ErrorModel”、“常数”,“UseParallel”,真的gydF4y2Ba
指定一个常数误差模型在参数估计和运行模拟并行。gydF4y2Ba
ErrorModelgydF4y2Ba
- - - - - -gydF4y2Ba误差模型gydF4y2Ba
“不变”gydF4y2Ba
(默认)|gydF4y2Ba特征向量gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba|gydF4y2Ba字符串向量gydF4y2Ba|gydF4y2Ba单元阵列的特征向量gydF4y2Ba|gydF4y2Ba分类向量gydF4y2Ba|gydF4y2Ba表gydF4y2Ba
误差模型用于评估,指定为一个特征向量,字符串,字符串向量,单元阵列的特征向量,分类向量,或表。gydF4y2Ba
如果它是一个表,它必须包含一个变量是一个列向量误差模型的名字。的名字可以是单元阵列特征向量,字符串向量,或一个向量分类变量。如果表有超过一行,那么gydF4y2BaRowNamesgydF4y2Ba
属性中指定的响应变量名称必须匹配的右手边gydF4y2BaResponseMapgydF4y2Ba
。如果表不使用gydF4y2BaRowNamesgydF4y2Ba
财产,gydF4y2BangydF4y2Ba相关的错误gydF4y2BangydF4y2Ba响应。gydF4y2Ba
如果您指定只有一个误差模型gydF4y2BasbiofitgydF4y2Ba
估计误差参数的一组反应。gydF4y2Ba
如果你指定多个使用分类向量误差模型,字符串向量,或单元阵列特征向量,向量的长度或单元阵列必须匹配的响应gydF4y2BaResponseMapgydF4y2Ba
。gydF4y2Ba
您可以指定多个误差模型只有如果你使用这些方法:gydF4y2BalsqnonlingydF4y2Ba
,gydF4y2BalsqcurvefitgydF4y2Ba
,gydF4y2BafmincongydF4y2Ba
,gydF4y2BafminuncgydF4y2Ba
,gydF4y2BafminsearchgydF4y2Ba
,gydF4y2BapatternsearchgydF4y2Ba
,gydF4y2Ba遗传算法gydF4y2Ba
,gydF4y2BaparticleswarmgydF4y2Ba
。gydF4y2Ba
四个内置误差模型是可用的。每个模型定义了错误使用标准意味着零和unit-variance(高斯)变量gydF4y2BaegydF4y2Ba,仿真结果gydF4y2BafgydF4y2Ba和一个或两个参数gydF4y2Ba一个gydF4y2Ba和gydF4y2BabgydF4y2Ba。gydF4y2Ba
“不变”gydF4y2Ba
:gydF4y2Ba“比例”gydF4y2Ba
:gydF4y2Ba“组合”gydF4y2Ba
:gydF4y2Ba“指数”gydF4y2Ba
:gydF4y2Ba
请注意gydF4y2Ba
如果你指定一个误差模型,您不能指定权重除了常数误差模型。gydF4y2Ba
如果你使用比例或综合误差模型在数据拟合,避免有时指定数据点的解决方案(仿真结果)是零或稳定状态是零。否则,你可能会遇到除零问题。建议您删除这些数据点的数据集。有关参数估计误差函数,看看gydF4y2Ba最大似然估计gydF4y2Ba。gydF4y2Ba
权重gydF4y2Ba
- - - - - -gydF4y2Ba权值用于拟合gydF4y2Ba
[]gydF4y2Ba
(默认)|gydF4y2Ba矩阵gydF4y2Ba|gydF4y2Ba函数处理gydF4y2Ba
权值用于拟合,指定为一个空数组gydF4y2Ba[]gydF4y2Ba
,真正积极的权重矩阵的列对应于反应的数量,或一个函数处理,接受一个向量的预测响应值,并返回一个向量的积极的权重。gydF4y2Ba
如果您指定一个错误模型,您不能使用重量除了常数误差模型。如果既不gydF4y2BaErrorModelgydF4y2Ba
或gydF4y2Ba权重gydF4y2Ba
指定,默认情况下,软件使用常数误差模型和权重相等。gydF4y2Ba
变体gydF4y2Ba
- - - - - -gydF4y2Ba类属特异性的变体gydF4y2Ba
[]gydF4y2Ba
|gydF4y2Ba{}gydF4y2Ba
|gydF4y2Ba二维矩阵的变体gydF4y2Ba|gydF4y2Ba细胞向量的变体gydF4y2Ba
类属特异性的变体,指定为一个空数组(gydF4y2Ba[]gydF4y2Ba
或gydF4y2Ba{}gydF4y2Ba
),二维矩阵或细胞变异对象的向量。这些变异让你为特定群体在配件指定参数值。软件适用于这些变量或类属特异性的变异后活跃gydF4y2Ba变体gydF4y2Ba
输入参数。如果该值是空的(gydF4y2Ba[]gydF4y2Ba
或gydF4y2Ba{}gydF4y2Ba
),没有与具体应用变异。gydF4y2Ba
矩阵变量的对象,必须是一个或必须匹配的行数的群体数量输入数据。的gydF4y2Ba我gydF4y2Bath排变体应用于仿真的对象gydF4y2Ba我gydF4y2Ba集团。应用变异从第一列到最后。如果这个矩阵只有一行的变体,它们适用于所有模拟。gydF4y2Ba
变异的细胞矢量对象,必须一个或细胞的数量必须匹配组输入数据的数量。每个元素必须gydF4y2Ba[]gydF4y2Ba
或一个向量的变体。如果这个细胞向量只有一个细胞包含一个向量的变体,它们适用于所有模拟。如果向量有多个细胞,细胞的变异gydF4y2Ba我gydF4y2Bath细胞应用于模拟的gydF4y2Ba我gydF4y2Ba集团。gydF4y2Ba
除了手动构建变体使用对象gydF4y2BasbiovariantgydF4y2Ba
,如果输入gydF4y2BagroupedDatagydF4y2Ba
对象变量信息,您可以使用gydF4y2BacreateVariantsgydF4y2Ba
构建变体。gydF4y2Ba
池gydF4y2Ba
- - - - - -gydF4y2Ba适合选择国旗gydF4y2Ba
假gydF4y2Ba
或gydF4y2Ba0gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
或gydF4y2Ba1gydF4y2Ba
适合选择国旗适合每个个人或池所有个人数据,指定为一个数字或逻辑gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
)或gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
)。gydF4y2Ba
当gydF4y2Ba真正的gydF4y2Ba
,软件执行适合所有个人或团体同时使用相同的参数估计,和gydF4y2BafitResultsgydF4y2Ba
是一个标量结果对象。gydF4y2Ba
当gydF4y2Ba假gydF4y2Ba
,软件适合每个小组或个人单独使用群体——或细化参数,和gydF4y2BafitResultsgydF4y2Ba
结果是一个向量对象为每个组一个结果。gydF4y2Ba
请注意gydF4y2Ba
使用这个选项来覆盖gydF4y2BaCategoryVariableNamegydF4y2Ba
的值gydF4y2BaestiminfogydF4y2Ba
。gydF4y2Ba
UseParallelgydF4y2Ba
- - - - - -gydF4y2Ba国旗为并行模拟gydF4y2Ba
假gydF4y2Ba
或gydF4y2Ba0gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
或gydF4y2Ba1gydF4y2Ba
国旗使并行,指定为一个数字或逻辑gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
)或gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
)。如果gydF4y2Ba真正的gydF4y2Ba
和并行计算工具箱™是可用的,gydF4y2BasbiofitgydF4y2Ba
金宝app支持多种级别的并行化,但一次只使用一个级别。gydF4y2Ba
对于一个未共享fit (gydF4y2Ba池gydF4y2Ba
=gydF4y2Ba假gydF4y2Ba
)为多个组,每个适合并行地运行。gydF4y2Ba
池符合(gydF4y2Ba池gydF4y2Ba
=gydF4y2Ba真正的gydF4y2Ba
),解算器级别的并行发生。换句话说,求解计算,如目标函数评价,并行地运行。gydF4y2Ba
有关详细信息,请参见gydF4y2Ba并行多参数估计gydF4y2Ba。gydF4y2Ba
SensitivityAnalysisgydF4y2Ba
- - - - - -gydF4y2Ba国旗使用参数敏感性,以确定目标函数的梯度gydF4y2Ba
假gydF4y2Ba
或gydF4y2Ba0gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
或gydF4y2Ba1gydF4y2Ba
国旗使用参数敏感性,以确定目标函数的梯度,指定为一个数字或逻辑gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
)或gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
)。默认情况下,它是gydF4y2Ba真正的gydF4y2Ba
为gydF4y2BafmincongydF4y2Ba
,gydF4y2BafminuncgydF4y2Ba
,gydF4y2BalsqnonlingydF4y2Ba
,gydF4y2BalsqcurvefitgydF4y2Ba
,gydF4y2BascattersearchgydF4y2Ba
方法。否则,它是gydF4y2Ba假gydF4y2Ba
。gydF4y2Ba
如果它是gydF4y2Ba真正的gydF4y2Ba
,总是使用的软件gydF4y2Ba日晷gydF4y2Ba
解算器,不管你选择什么gydF4y2BaSolverTypegydF4y2Ba
财产的gydF4y2BaConfigsetgydF4y2Ba
对象。gydF4y2Ba
软件使用步骤复杂近似法计算参数敏感性。这样计算敏感性可以用来确定目标函数的梯度在提高拟合参数估计。的默认行为gydF4y2BasbiofitgydF4y2Ba
是使用这样的敏感性来确定基于梯度每当算法梯度如果SimBiology模型支持灵敏度分析。金宝app对细节要求和灵敏度分析的模型,看看gydF4y2Ba敏感性分析在SimBiologygydF4y2Ba。gydF4y2Ba
ProgressPlotgydF4y2Ba
- - - - - -gydF4y2Ba国旗显示参数估计的进展gydF4y2Ba
假gydF4y2Ba
或gydF4y2Ba0gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
或gydF4y2Ba1gydF4y2Ba
国旗显示参数估计的进展,指定为一个数字或逻辑gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
)或gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
)。如果gydF4y2Ba真正的gydF4y2Ba
,一个新的图打开包含块。gydF4y2Ba
情节显示对数似,为每个迭代终止准则和估计参数。这个选项不支持金宝appgydF4y2BanlinfitgydF4y2Ba
。gydF4y2Ba
如果您使用的是优化工具箱函数(gydF4y2BafminuncgydF4y2Ba
,gydF4y2BafmincongydF4y2Ba
,gydF4y2BalsqcurvefitgydF4y2Ba
,gydF4y2BalsqnonlingydF4y2Ba
),图中还显示了gydF4y2Ba一阶最优性gydF4y2Ba(优化工具箱)gydF4y2Ba情节。gydF4y2Ba
对于一个未共享健康,情节上的每一行代表一个独立的个体。池适合,一行代表所有人。行消退当配合完成。故事情节也当您运行跟踪进展gydF4y2BasbiofitgydF4y2Ba
(汇集和未共享符合)并行使用远程集群。有关详细信息,请参见gydF4y2Ba情节进展gydF4y2Ba。gydF4y2Ba
输出参数gydF4y2Ba
fitResultsgydF4y2Ba
——估计结果gydF4y2Ba
OptimResultsgydF4y2Ba
对象|gydF4y2BaNLINResultsgydF4y2Ba
结果对象的对象|向量gydF4y2Ba
估计的结果,作为一个返回gydF4y2BaOptimResults对象gydF4y2Ba
或gydF4y2BaNLINResults对象gydF4y2Ba
这些对象或一个向量。这两个结果对象的子类gydF4y2BaLeastSquaresResults对象gydF4y2Ba
。gydF4y2Ba
如果函数使用gydF4y2BanlinfitgydF4y2Ba
(统计和机器学习的工具箱)gydF4y2Ba,然后gydF4y2BafitResultsgydF4y2Ba
是一个gydF4y2BaNLINResults对象gydF4y2Ba
。否则,gydF4y2BafitResultsgydF4y2Ba
是一个gydF4y2BaOptimResults对象gydF4y2Ba
。gydF4y2Ba
未共享的合适,功能符合每组分别使用与具体参数,和gydF4y2BafitResultsgydF4y2Ba
结果是一个向量对象与一个为每组结果对象。gydF4y2Ba
池适合,函数执行适合所有个人或团体同时使用相同的参数估计,和gydF4y2BafitResultsgydF4y2Ba
是一个标量结果对象。gydF4y2Ba
如果不指定混合选项gydF4y2BaCategoryVariableNamegydF4y2Ba
的值gydF4y2BaestimatedInfogydF4y2Ba
对象都是gydF4y2Ba<一>gydF4y2Ba
,gydF4y2BafitResultsgydF4y2Ba
是一个单一的结果对象。这是相同的行为作为一个集合。gydF4y2Ba
如果不指定混合选项gydF4y2BaCategoryVariableNamegydF4y2Ba
的值gydF4y2BaestimatedInfogydF4y2Ba
对象都是gydF4y2Ba< GroupVariableName >gydF4y2Ba
,gydF4y2BafitResultsgydF4y2Ba
结果是一个向量对象。这是相同的行为作为一个未共享。gydF4y2Ba
在所有其他情况下,gydF4y2BafitResultsgydF4y2Ba
是一个标量对象包含估计参数值所指定的不同群体或类别gydF4y2BaCategoryVariableNamegydF4y2Ba
。gydF4y2Ba
simdatagydF4y2Ba
——仿真结果gydF4y2Ba
向量的gydF4y2BaSimDatagydF4y2Ba
对象gydF4y2Ba
仿真结果,作为一个向量的返回gydF4y2BaSimDatagydF4y2Ba
对象代表每个团体或个人的仿真结果。gydF4y2Ba
如果gydF4y2Ba“池”gydF4y2Ba
选择是gydF4y2Ba假gydF4y2Ba
,然后每个模拟使用与具体参数值。如果gydF4y2Ba真正的gydF4y2Ba
,那么所有模拟使用相同的参数值(全民)。gydF4y2Ba
美国报道gydF4y2BasimdatagydF4y2Ba
中包含的州吗gydF4y2BaResponseMapgydF4y2Ba
输入参数和任何其他州中列出gydF4y2BaStatesToLoggydF4y2Ba
运行时选项的属性(gydF4y2BaRuntimeOptionsgydF4y2Ba
)SimBiology模型gydF4y2BasmgydF4y2Ba
。gydF4y2Ba
更多关于gydF4y2Ba
最大似然估计gydF4y2Ba
SimBiologygydF4y2Ba®gydF4y2Ba最大似然法估计参数。而不是直接最大化似然函数,SimBiology构造一个等价的最小化问题。只要有可能,制定作为加权最小二乘估计(gydF4y2BaWLSgydF4y2Ba)优化,最小化加权残差的平方和。否则,估计是制定的最小化的负面的对数可能性(gydF4y2Ba附近gydF4y2Ba)。的gydF4y2BaWLSgydF4y2Ba制定往往收敛比gydF4y2Ba附近gydF4y2Ba配方,SimBiology可以利用专业gydF4y2BaWLSgydF4y2Ba算法,如Levenberg-Marquardt算法实现gydF4y2BalsqnonlingydF4y2Ba
和gydF4y2BalsqcurvefitgydF4y2Ba
。SimBiology使用gydF4y2BaWLSgydF4y2Ba当有一个常数误差模型,比例,或指数。SimBiology使用gydF4y2Ba附近gydF4y2Ba如果你有一个误差模型或多级误差模型相结合,也就是说,每个响应的模型有一个错误。gydF4y2Ba
sbiofitgydF4y2Ba
金宝app支持不同的优化方法,通过制定gydF4y2BaWLSgydF4y2Ba或gydF4y2Ba附近gydF4y2Ba表达式来最小化的优化方法。为简单起见,每个表达式所示假定只有一个误差模型和一个响应。如果有多个响应,SimBiology之和表达式对应的误差模型给出响应。gydF4y2Ba
表达式被最小化gydF4y2Ba | |
---|---|
加权最小二乘(gydF4y2BaWLSgydF4y2Ba)gydF4y2Ba | 常数误差模型,gydF4y2Ba |
的比例误差模型,gydF4y2Ba | |
指数的误差模型,gydF4y2Ba | |
对数字的重量,gydF4y2Ba | |
负对数似(gydF4y2Ba附近gydF4y2Ba)gydF4y2Ba | 综合误差模型和多级误差模型,gydF4y2Ba |
变量定义如下。gydF4y2Ba
NgydF4y2Ba |
数量的实验观察gydF4y2Ba |
ygydF4y2Ba我gydF4y2Ba |
的gydF4y2Ba我gydF4y2Bath实验观察gydF4y2Ba |
|
的预测价值gydF4y2Ba我gydF4y2Bath观察gydF4y2Ba |
|
标准偏差的gydF4y2Ba我gydF4y2Ba观察。gydF4y2Ba
|
|
|
|
的重量gydF4y2Ba我gydF4y2Bath预测值gydF4y2Ba |
|
|
当您使用数字权重或加权函数,权重是假定为误差的方差成反比,也就是说,gydF4y2Ba 在哪里gydF4y2Ba一个gydF4y2Ba是常数误差参数。如果你使用重量,你不能指定一个误差模型除了常数误差模型。gydF4y2Ba
各种优化方法有不同要求的函数最小化。一些模型参数估计方法,独立地执行错误的估计模型参数。下表总结了误差模型和任何单独的公式用于误差模型参数的估计gydF4y2Ba一个gydF4y2Ba和gydF4y2BabgydF4y2Ba误差模型参数和吗gydF4y2BaegydF4y2Ba是标准的均值为0和unit-variance(高斯)变量。gydF4y2Ba
误差模型gydF4y2Ba | 参数估计误差函数gydF4y2Ba |
---|---|
“不变”gydF4y2Ba :gydF4y2Ba
|
|
“指数”gydF4y2Ba :gydF4y2Ba
|
|
“比例”gydF4y2Ba :gydF4y2Ba
|
|
“组合”gydF4y2Ba :gydF4y2Ba
|
包含在最小化误差参数。gydF4y2Ba |
权重gydF4y2Ba |
请注意gydF4y2Ba
nlinfitgydF4y2Ba
只支持单一金宝app误差模型,而不是多级误差模型,也就是说,response-specific误差模型。综合误差模型,它使用一个迭代gydF4y2BaWLSgydF4y2Ba算法。对于其他误差模型,它使用gydF4y2BaWLSgydF4y2Ba算法如前所述。有关详细信息,请参见gydF4y2BanlinfitgydF4y2Ba
(统计和机器学习的工具箱)gydF4y2Ba。gydF4y2Ba
默认选项估计算法gydF4y2Ba
下面的表总结了各种估计函数的默认选项。gydF4y2Ba
函数gydF4y2Ba | 默认选项gydF4y2Ba | ||||||
---|---|---|---|---|---|---|---|
nlinfitgydF4y2Ba (统计和机器学习的工具箱)gydF4y2Ba |
|
||||||
fmincongydF4y2Ba (优化工具箱)gydF4y2Ba |
|
||||||
fminuncgydF4y2Ba (优化工具箱)gydF4y2Ba |
|
||||||
fminsearchgydF4y2Ba |
|
||||||
lsqcurvefitgydF4y2Ba (优化工具箱)gydF4y2Ba,gydF4y2BalsqnonlingydF4y2Ba (优化工具箱)gydF4y2Ba |
需要优化工具箱。gydF4y2Ba
|
||||||
patternsearchgydF4y2Ba (全局优化工具箱)gydF4y2Ba |
需要gydF4y2Ba全局优化工具箱gydF4y2Ba。gydF4y2Ba
|
||||||
遗传算法gydF4y2Ba (全局优化工具箱)gydF4y2Ba |
需要gydF4y2Ba全局优化工具箱gydF4y2Ba。gydF4y2Ba
|
||||||
particleswarmgydF4y2Ba (全局优化工具箱)gydF4y2Ba |
需要全局优化工具箱。gydF4y2Ba
|
||||||
scattersearchgydF4y2Ba |
看到gydF4y2Ba分散搜索算法gydF4y2Ba。gydF4y2Ba |
分散搜索算法gydF4y2Ba
的gydF4y2BascattersearchgydF4y2Ba
方法实现了一种全局优化算法gydF4y2Ba[2]gydF4y2Ba解决一些挑战动态模型的参数估计,如收敛到局部最小值。gydF4y2Ba
该算法选择的一个子集点从最初的点。子集,有些点是最好的质量(即最低函数值)和一些随机选择。算法迭代评估分,探索不同的方向在各种解决方案,找到更好的解决方案。金宝搏官方网站在这个迭代步骤中,该算法用一个新的替换旧的解决方案更好的质量。迭代进行直到任何停止标准得到满足。然后运行一个地方解决最好的点。gydF4y2Ba
初始化gydF4y2Ba
开始分散搜索,算法首先决定所需的点总数(gydF4y2BaNumInitialPointsgydF4y2Ba
)。默认情况下,总gydF4y2Ba10 *gydF4y2BaNgydF4y2Ba
,在那里gydF4y2BaNgydF4y2Ba是估计的数量参数。它选择gydF4y2BaNumInitialPointsgydF4y2Ba
点(行)gydF4y2BaInitialPointMatrixgydF4y2Ba
。如果gydF4y2BaInitialPointMatrixgydF4y2Ba
没有足够的点,算法调用函数中定义gydF4y2BaCreationFcngydF4y2Ba
生成所需的附加分。默认情况下,拉丁超立方体抽样用于生成这些额外的点。该算法选择的一个子集gydF4y2BaNumTrialPointsgydF4y2Ba
分gydF4y2BaNumInitialPointsgydF4y2Ba
点。(一小部分gydF4y2BaFractionInitialBestgydF4y2Ba
)的子集包含在质量上最好的点。剩下的点是随机选择的子集。gydF4y2Ba
迭代步骤gydF4y2Ba
子集的算法迭代点如下:gydF4y2Ba
定义hyper-rectangles大约每一对点通过使用相对素质(也就是说,函数值),这些点的测量偏差来创建这些矩形。gydF4y2Ba
评估一个新的解决方案在每个矩形。如果新的解决方案优于原方案,用新的替换原来的。gydF4y2Ba
超越战略适用于改进的解决方案和开发有前途的方向找到更好的解决方案。金宝搏官方网站gydF4y2Ba
运行在每个本地搜索gydF4y2Ba
LocalSearchIntervalgydF4y2Ba
迭代。使用gydF4y2BaLocalSelectBestProbabilitygydF4y2Ba
概率选择最好的点作为本地搜索的起点。默认情况下,这个决定是随机的,给予平等的机会来选择最好的点或一个随机点的点。如果新的解决方案优于旧的解决方案,取代旧的与新的。gydF4y2Ba替换任何停滞点,不会产生任何新的超越后的解决方案gydF4y2Ba
MaxStallTimegydF4y2Ba
秒和另一个从初始点。gydF4y2Ba评估停止标准。停止迭代是否满足标准。gydF4y2Ba
然后算法运行本地解算器的最佳点。gydF4y2Ba
停止条件gydF4y2Ba
该算法迭代,直到它到达停止准则。gydF4y2Ba
停止选项gydF4y2Ba | 停止测试gydF4y2Ba |
---|---|
FunctionTolerancegydF4y2Ba 和gydF4y2BaMaxStallIterationsgydF4y2Ba |
相对最好的目标函数值的变化在过去gydF4y2Ba |
MaxIterationsgydF4y2Ba |
的迭代次数达到gydF4y2Ba |
OutputFcngydF4y2Ba |
|
ObjectiveLimitgydF4y2Ba |
最好的目标函数值小于或等于一个迭代gydF4y2Ba |
MaxStallTimegydF4y2Ba |
最好的目标函数值没有改变gydF4y2Ba |
MaxTimegydF4y2Ba |
函数运行时间超过gydF4y2Ba |
算法使用您创建的选项gydF4y2Ba结构体gydF4y2Ba
。gydF4y2Ba
选项gydF4y2Ba | 描述gydF4y2Ba |
---|---|
CreationFcngydF4y2Ba |
句柄函数创建所需的额外点算法。默认是特征向量gydF4y2Ba 函数签名:gydF4y2Ba |
显示gydF4y2Ba |
水平显示返回到命令行中。gydF4y2Ba
|
FractionInitialBestgydF4y2Ba |
数字的标量gydF4y2Ba |
FunctionTolerancegydF4y2Ba |
数字的标量gydF4y2Ba |
InitialPointMatrixgydF4y2Ba |
初始点集(或部分)。gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba真正的有限元矩阵,在那里gydF4y2Ba米gydF4y2Ba分和的数量吗gydF4y2BaNgydF4y2Ba是估计的数量参数。gydF4y2Ba 如果gydF4y2Ba米gydF4y2Ba 如果gydF4y2Ba米gydF4y2Ba 默认的初始转换值存储在估计参数gydF4y2Ba |
LocalOptionsgydF4y2Ba |
选择当地的解决者。它可以是一个gydF4y2Ba
|
LocalSearchIntervalgydF4y2Ba |
正整数。默认是gydF4y2Ba |
LocalSelectBestProbabilitygydF4y2Ba |
数字的标量gydF4y2Ba |
LocalSolvergydF4y2Ba |
特征向量或字符串指定本地解决者的名字。金宝app支持方法gydF4y2Ba 选择默认本地解决以下重点:gydF4y2Ba
|
MaxIterationsgydF4y2Ba |
正整数。默认是特征向量gydF4y2Ba |
MaxStallIterationsgydF4y2Ba |
正整数。默认是gydF4y2Ba |
MaxStallTimegydF4y2Ba |
积极的标量。默认是gydF4y2Ba |
MaxTimegydF4y2Ba |
积极的标量。默认是gydF4y2Ba |
NumInitialPointsgydF4y2Ba |
正整数,gydF4y2Ba |
NumTrialPointsgydF4y2Ba |
正整数,gydF4y2Ba |
ObjectiveLimitgydF4y2Ba |
标量。默认是gydF4y2Ba |
OutputFcngydF4y2Ba |
函数处理或处理单元阵列的功能。输出函数可以读取迭代数据解算器和停止。默认是gydF4y2Ba 输出函数签名gydF4y2Ba
|
TrialStallLimitgydF4y2Ba |
正整数,默认值gydF4y2Ba |
UseParallelgydF4y2Ba |
逻辑信号并行计算目标函数。默认是gydF4y2Ba |
XTolerancegydF4y2Ba |
数字的标量gydF4y2Ba 每一个潜在的局部最小值的报告,集合gydF4y2Ba |
并行多参数估计gydF4y2Ba
有两种方法可以使用并行计算参数估计。gydF4y2Ba
“UseParallel”gydF4y2Ba
为真gydF4y2Ba
为使并行化gydF4y2BasbiofitgydF4y2Ba
,设置名称-值对gydF4y2Ba“UseParallel”gydF4y2Ba
来gydF4y2Ba真正的gydF4y2Ba
。函数支持多种级别的并行化,金宝app但一次只使用一个级别。gydF4y2Ba
对于一个未共享适合多个组(或个人),每组并行运行。gydF4y2Ba
一池符合多个组使用一个平行的解算器选项,并行解算器级别的发生。也就是说,gydF4y2Ba
sbiofitgydF4y2Ba
集并行选择相应的估计方法(解决)gydF4y2Ba真正的gydF4y2Ba
和目标函数的评价是并行执行的。例如,基于对梯度方法(如gydF4y2BalsqnonlingydF4y2Ba
),梯度可能是并行计算。如果解决不是已经并行执行,然后模拟(不同的组)是并行运行。gydF4y2Ba如果你有一个单一的组和使用解决没有平行的选项,设置gydF4y2Ba
UseParallel = truegydF4y2Ba
将运行在并行,但仍然运行模拟连续工人。因此,它不可能是有益的,使并行,因为工人所需的时间开销。这可能是快没有并行运行。gydF4y2Ba
parfevalgydF4y2Ba
或gydF4y2BaparforgydF4y2Ba
你也可以叫gydF4y2BasbiofitgydF4y2Ba
在一个gydF4y2BaparforgydF4y2Ba
循环或使用gydF4y2BaparfevalgydF4y2Ba
在一个gydF4y2Ba为gydF4y2Ba
循环并行执行多个参数估计。建议您使用gydF4y2BaparfevalgydF4y2Ba
因为这些并行估计异步运行。如果一个适合产生一个错误,它不影响其他适合。gydF4y2Ba
如果你想找到一个全球最低,您可以使用全球解决者,如gydF4y2BaparticleswarmgydF4y2Ba
(全局优化工具箱)gydF4y2Ba或gydF4y2Ba遗传算法gydF4y2Ba
(全局优化工具箱)gydF4y2Ba(gydF4y2Ba全局优化工具箱gydF4y2Ba是必需的)。然而,如果你想定义初始条件和运行符合并行,看到下面的例子,展示了如何使用两种gydF4y2BaparforgydF4y2Ba
和gydF4y2BaparfevalgydF4y2Ba
。gydF4y2Ba
模型和数据设置gydF4y2Ba
加载G蛋白模型。gydF4y2Ba
sbioloadprojectgydF4y2BagproteingydF4y2Ba
存储实验数据包含的时间进程的一部分积极的G蛋白gydF4y2Ba[1]gydF4y2Ba。gydF4y2Ba
时间= [0 10 30 60 110 210 300 450 600)';GaFracExpt = [0 0.35 0.4 0.36 0.39 0.33 0.24 0.17 0.2) ';gydF4y2Ba
创建一个gydF4y2BagroupedData对象gydF4y2Ba
基于实验数据。gydF4y2Ba
台=表(时间、GaFracExpt);grpData = groupedData(台);gydF4y2Ba
适当的模型元素映射到实验数据。gydF4y2Ba
responseMap =gydF4y2Ba“GaFrac = GaFracExpt”gydF4y2Ba;gydF4y2Ba
指定的参数估计。gydF4y2Ba
paramToEstimate = {gydF4y2Ba“kGd”gydF4y2Ba};gydF4y2Ba
生成初始参数值gydF4y2BakGdgydF4y2Ba
。gydF4y2Ba
rng (gydF4y2Ba“默认”gydF4y2Ba);iniVal = abs (normrnd(0.01, 1, 10日1));fitResultPar = [];gydF4y2Ba
平行池设置gydF4y2Ba
开始一个平行池使用本地配置文件。gydF4y2Ba
poolObj = parpool (gydF4y2Ba“本地”gydF4y2Ba);gydF4y2Ba
开始平行池(parpool)使用“本地”概要文件…连接到平行池(工人数量:6)。gydF4y2Ba
使用gydF4y2BaparfevalgydF4y2Ba
(推荐)gydF4y2Ba
首先,定义一个函数处理,使用本地函数gydF4y2BasbiofitpargydF4y2Ba
估计。确保功能gydF4y2BasbiofitpargydF4y2Ba
定义的脚本。gydF4y2Ba
optimfun = @ (x) sbiofitpar (m1, grpData responseMap x);gydF4y2Ba
通过并行执行多个参数估计gydF4y2BaparfevalgydF4y2Ba
使用不同的初始参数值。gydF4y2Ba
为gydF4y2Bai = 1:长度(iniVal) f (i) = parfeval (optimfun 1 iniVal(我));gydF4y2Ba结束gydF4y2BafitResultPar = fetchOutputs (f);gydF4y2Ba
总结每次运行的结果。gydF4y2Ba
allParValues = vertcat (fitResultPar.ParameterEstimates);allParValues。LogLikelihood = [fitResultPar.LogLikelihood] ';allParValues。RunNumber =(1:长度(iniVal)) ';allParValues。的名字=分类(一个llParValues.Name); allParValues.InitialValue = iniVal;%重新排列列。gydF4y2BaallParValues = allParValues(:[5 1 2 3 4) 6日);gydF4y2Ba%按照LogLikelihood行排序。gydF4y2Basortrows (allParValuesgydF4y2Ba“LogLikelihood”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba10×6表gydF4y2BaInitialValue RunNumber名字估计StandardError LogLikelihood _____ _____ _______ ________ _________________ _________________ 9 10 kGd kGd 3.5884 3.022 0.127 -1.2843 2.7794 2.779 0.029701 -1.2319 - 3 kGd 2.2488 2.2488 0.096013 -1.0786 - 2 6 kGd kGd 1.8439 1.844 0.28825 -0.90104 1.2977 1.2977 0.011344 -0.48209 - 4 kGd 0.54767 0.54776 0.0020424 1.5323 0.87217 0.65951 0.003583 0.9279 1 kGd 7 8 kGd kGd 0.42359 0.42363 0.0024555 2.6097 0.35262 0.35291 0.00065289 3.6098 - 5 kGd 0.32877 0.32877 0.00042474 4.0604gydF4y2Ba
定义本地函数gydF4y2BasbiofitpargydF4y2Ba
执行参数估计使用gydF4y2BasbiofitgydF4y2Ba
。gydF4y2Ba
函数gydF4y2Bafitresult = sbiofitpar(模型、grpData responseMap initialValue) estimatedParam = estimatedInfo (gydF4y2Ba“kGd”gydF4y2Ba);estimatedParam。InitialValue = InitialValue;fitresult = sbiofit(模型、grpData responseMap estimatedParam);gydF4y2Ba结束gydF4y2Ba
使用parforgydF4y2Ba
另外,您可以通过并行执行多个参数估计gydF4y2BaparforgydF4y2Ba
循环。gydF4y2Ba
parforgydF4y2Bai = 1:长度(iniVal) estimatedParam = estimatedInfo (paramToEstimate,gydF4y2Ba“InitialValue”gydF4y2BainiVal(我));fitResultTemp = sbiofit (m1, grpData、responseMap estimatedParam);fitResultPar = [fitResultPar; fitResultTemp];gydF4y2Ba结束gydF4y2Ba
近平行池。gydF4y2Ba
删除(poolObj);gydF4y2Ba
参数估计与混合动力学gydF4y2Ba
sbiofitgydF4y2Ba
金宝app支持全局优化方法,即gydF4y2Ba遗传算法gydF4y2Ba
(全局优化工具箱)gydF4y2Ba和gydF4y2BaparticleswarmgydF4y2Ba
(全局优化工具箱)gydF4y2Ba(gydF4y2Ba全局优化工具箱gydF4y2Ba需要)。改善优化结果,这些方法可以让你混合函数在全球解算器停止运行。混合函数使用返回的最后一点全球解算器作为其初始点。金宝app支持混合函数是:gydF4y2Ba
fminuncgydF4y2Ba
(优化工具箱)gydF4y2BafmincongydF4y2Ba
(优化工具箱)gydF4y2BapatternsearchgydF4y2Ba
(全局优化工具箱)gydF4y2Ba
确保你的混合函数接受你的问题约束。也就是说,如果你的参数是有界的,使用一个合适的函数(如gydF4y2BafmincongydF4y2Ba
或gydF4y2BapatternsearchgydF4y2Ba
约束优化)。如果不是有界,使用gydF4y2BafminuncgydF4y2Ba
,gydF4y2BafminsearchgydF4y2Ba
,或gydF4y2BapatternsearchgydF4y2Ba
。否则,gydF4y2BasbiofitgydF4y2Ba
抛出一个错误。gydF4y2Ba
一个说明的例子,看到gydF4y2Ba使用sbiofit执行混合优化gydF4y2Ba。gydF4y2Ba
引用gydF4y2Ba
[1],t m。北野,H。,Simon, M. (2003). A quantitative characterization of the yeast heterotrimeric G protein cycle. PNAS. 100, 10764–10769.
[2]伽柏,一个。,B一个n遗传算法,J.R. (2015). Robust and efficient parameter estimation in dynamic models of biological systems. BMC Systems Biology. 9:74.
扩展功能gydF4y2Ba
自动并行支持金宝appgydF4y2Ba
加速代码通过自动运行并行计算使用并行计算工具箱™。gydF4y2Ba
并行运行,设置gydF4y2Ba“UseParallel”gydF4y2Ba
来gydF4y2Ba真正的gydF4y2Ba
。gydF4y2Ba
有关更多信息,请参见gydF4y2Ba“UseParallel”gydF4y2Ba
名称-值对的论点。gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2014agydF4y2Ba
另请参阅gydF4y2Ba
EstimatedInfo对象gydF4y2Ba
|gydF4y2BagroupedData对象gydF4y2Ba
|gydF4y2BaLeastSquaresResults对象gydF4y2Ba
|gydF4y2BaNLINResults对象gydF4y2Ba
|gydF4y2BaOptimResults对象gydF4y2Ba
|gydF4y2BasbiofitmixedgydF4y2Ba
|gydF4y2BanlinfitgydF4y2Ba
(统计和机器学习的工具箱)gydF4y2Ba|gydF4y2BafmincongydF4y2Ba
(优化工具箱)gydF4y2Ba|gydF4y2BafminuncgydF4y2Ba
(优化工具箱)gydF4y2Ba|gydF4y2BafminsearchgydF4y2Ba
|gydF4y2BalsqcurvefitgydF4y2Ba
(优化工具箱)gydF4y2Ba|gydF4y2BalsqnonlingydF4y2Ba
(优化工具箱)gydF4y2Ba|gydF4y2BapatternsearchgydF4y2Ba
(全局优化工具箱)gydF4y2Ba|gydF4y2Ba遗传算法gydF4y2Ba
(全局优化工具箱)gydF4y2Ba|gydF4y2BaparticleswarmgydF4y2Ba
(全局优化工具箱)gydF4y2Ba
Abrir比如gydF4y2Ba
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?gydF4y2Ba
第一de MATLABgydF4y2Ba
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:gydF4y2Ba
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。gydF4y2Ba
选择一个网站gydF4y2Ba
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:gydF4y2Ba。gydF4y2Ba
你也可以从下面的列表中选择一个网站:gydF4y2Ba
表现最好的网站怎么走吗gydF4y2Ba
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。gydF4y2Ba
美洲gydF4y2Ba
- 美国拉丁gydF4y2Ba(西班牙语)gydF4y2Ba
- 加拿大gydF4y2Ba(英语)gydF4y2Ba
- 美国gydF4y2Ba(英语)gydF4y2Ba
欧洲gydF4y2Ba
- 比利时gydF4y2Ba(英语)gydF4y2Ba
- 丹麦gydF4y2Ba(英语)gydF4y2Ba
- 德国gydF4y2Ba(德语)gydF4y2Ba
- 西班牙gydF4y2Ba(西班牙语)gydF4y2Ba
- 芬兰gydF4y2Ba(英语)gydF4y2Ba
- 法国gydF4y2Ba(法语)gydF4y2Ba
- 爱尔兰gydF4y2Ba(英语)gydF4y2Ba
- 意大利gydF4y2Ba(意大利语)gydF4y2Ba
- 卢森堡gydF4y2Ba(英语)gydF4y2Ba
- 荷兰gydF4y2Ba(英语)gydF4y2Ba
- 挪威gydF4y2Ba(英语)gydF4y2Ba
- 奥地利gydF4y2Ba(德语)gydF4y2Ba
- 葡萄牙gydF4y2Ba(英语)gydF4y2Ba
- 瑞典gydF4y2Ba(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba