适合
语法
描述
执行参数估计使用模型、数据和定义的选项fitResults
=健康(problemObject
)problemObject
并返回结果。
(
还返回模拟数据fitResults
,simdataI
)=健康(problemObject
)simdataI
使用估计的参数值。如果problemObject.FitFunction
是“sbiofitmixed”
、模拟使用单个参数估计。
(
使用总体参数估计也返回仿真结果。这个语法只有在支持金宝appfitResults
,simdataI
,simdataP
)=健康(problemObject
)problemObject.FitFunction
是“sbiofitmixed”
。
例子
适合PK参数使用SimBiology具体问题具体分析工作流
这个例子展示了如何PK SimBiology模型的参数估计使用一个具体问题具体分析的方法。
加载一个合成数据集。它包含药物血浆浓度数据以中央和周边隔间。
负载(“data10_32R.mat”)
将数据集转换成groupedData
对象。
gData = groupedData(数据);gData.Properties。VariableUnits = [”“,“小时”,“毫克/升”,“毫克/升”];
显示数据。
sbiotrellis (gData“ID”,“时间”,(“CentralConc”,“PeripheralConc”),…标志=“+”线型=“没有”);
使用内置的PK库来构建一个两舱制模型与注入剂量和一阶消除。使用configset对象单位转换。
pkmd = PKModelDesign;pkc1 = addCompartment (pkmd,“中央”);pkc1。DosingType =“注入”;pkc1。EliminationType =“linear-clearance”;pkc1。HasResponseVariable = true;pkc2 = addCompartment (pkmd,“边缘”);model2cpt =构造(pkmd);configset = getconfigset (model2cpt);configset.CompileOptions。UnitConversion = true;
假设每个人收到注入剂量= 0时,注入总额为100毫克的速度50毫克/小时。设置不同的给药策略的细节,请参阅剂量SimBiology模型。
剂量= sbiodose (“剂量”,“TargetName”,“Drug_Central”);剂量。开始时间= 0;剂量。数量= 100;剂量。率= 50;剂量。AmountUnits =“毫克”;剂量。TimeUnits =“小时”;剂量。RateUnits =“毫克/小时”;
创建一个问题对象。
问题= fitproblem
问题= fitproblem属性:要求:数据:[0 x0 groupedData]估计:[1 x0 estimatedInfo] FitFunction:“sbiofit”模型:[0 x0 SimBiology。模型]ResponseMap [1 x0字符串):可选:剂量:[0 x0 SimBiology。剂量]FunctionName:“汽车”选项:[]ProgressPlot: 0 UseParallel: 0变体:[0 x0 SimBiology。变体]sbiofit选项:ErrorModel:“常数”池:“汽车”SensitivityAnalysis:“汽车”的权重:[]
定义所需的属性的对象。
问题。数据= gData;问题。估计= estimatedInfo ([“日志(中央)”,“日志(外围)”,“12”,“Cl_Central”),InitialValue = [1 1 1 1]);问题。模型= model2cpt;问题。ResponseMap = [“Drug_Central = CentralConc”,“Drug_Peripheral = PeripheralConc”];
定义应用在合适的剂量。
问题。剂量=剂量;
显示估计的进展。
问题。ProgressPlot = true;
符合模型所有的数据集中在一起:也就是说,估计一组所有人通过设置参数池
财产真正的
。
问题。池= true;
执行评估使用适合
对象的功能。
pooledFit =适合(问题);
显示估计的参数值。
pooledFit.ParameterEstimates
ans =4×3表名字估计________ _________________ StandardError * * *{“中央”}2.6864 - 1.0644 1.6627 - 0.16569{‘外围’}{“12”}0.44945 0.19943 {‘Cl_Central} 0.78497 - 0.095621
画出拟合结果。
情节(pooledFit);
估计为每个单独的一组参数,看看参数估计得到改善。
问题。池= false; unpooledFit = fit(problem);
显示估计的参数值。
unpooledFit.ParameterEstimates
ans =4×3表名字估计________ _________________ StandardError * * *{“中央”}1.5619 - 0.36355 1.422 - 0.12334{‘外围’}{“12”}0.47163 0.15196 {‘Cl_Central} 0.5291 - 0.036978
ans =4×3表名字估计________ _________________ StandardError * * *{“中央”}5.3364 - 0.65327 1.8322 - 0.019672{‘外围’}{“12”}0.2764 0.030799 {‘Cl_Central} 0.86035 - 0.026257
ans =4×3表名字估计________ _________________ StandardError * * *{“中央”}5.5632 - 0.37063 1.6657 - 0.038529{‘外围’}{“12”}0.78361 0.058657 {‘Cl_Central} 1.0233 - 0.027311
情节(unpooledFit);
生成一个阴谋的残差随时间比较集中,未共享健康结果。图显示未共享符合残差小于汇集的健康,如预期。除了比较残差外,其他严格的标准可以用来比较拟合结果。
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_pooled“o”MarkerFaceColor =“w”markerEdgeColor =“b”)举行在情节(t, res_unpooled“o”MarkerFaceColor =“b”markerEdgeColor =“b”)反射= refline (0,0);%的参考线代表零残留标题(“残差与时间”);包含(“时间”);ylabel (“残差”);传奇([“池”,“未共享”]);
可以看出,未共享健康占变化由于特定学科研究,而且,在这种情况下,模型更适合数据。然而,汇集适合全民返回参数。作为一种替代方法,如果你想估计全民参数同时考虑个体差异,您可以执行非线性mixed-effects (NLME)估计通过设置problem.FitFunction
来sbiofitmixed
。
problem.FitFunction=“sbiofitmixed”;
NLMEResults =适合(问题);
显示估计的参数值。
NLMEResults.IndividualParameterEstimates
ans =12×3表________组名估计_____ * * * 1 1.4623{“中央”}{‘外围’}1.5306 0.4587 1 {“12”}1 {‘Cl_Central} 0.53208 - 2{“中央”}1.783 - 2{‘外围’}0.3589 6.6623 - 2 {“12”}2 0.8039 {‘Cl_Central} 3{“中央”}3{‘外围’}4.2844 1.7135 0.54895 {“12”}3 1.0708 {“Cl_Central”}
画出拟合结果。
情节(NLMEResults);
情节条件加权残差(轧)和个人加权残差(本)的模型预测值。
plotResiduals (NLMEResults“预测”)
输入参数
problemObject
- - - - - -SimBiology估计问题
fitproblem
对象
SimBiology估计问题,指定为一个fitproblem
对象。
输出参数
fitResults
——估计结果
OptimResults
对象|NLINResults
对象|NLMEResults
结果对象的对象|向量
估计的结果,作为一个标量返回OptimResults
对象,NLINResults
的对象,向量OptimResults
或NLINResults
对象,或标量NLMEResults
对象。
返回的结果对象类型取决于如果你使用problemObject.FitFunction = " sbiofit "
或problemObject.FitFunction = " sbiofitmixed "
。
如果
FitFunction = " sbiofit "
和FunctionName = " nlinfit "
对象类型,返回的结果NLINResults
。对于其他优化函数,返回的对象类型OptimResults
。如果
FitFunction = " sbiofitmixed "
总是,返回的对象类型NLMEResults
。
当你使用FitFunction = " sbiofit "
,该函数返回一个标量结果对象或矢量对象的结果如下。
未共享的合适,功能符合每组分别使用与具体参数,和fitResults
结果是一个向量对象与一个为每组结果对象。
池适合,函数执行适合所有个人或团体同时使用相同的参数估计,和fitResults
是一个标量结果对象。
如果不指定混合选项CategoryVariableName
的值estimatedInfo
对象都是<一>
,fitResults
是一个单一的结果对象。这是相同的行为作为一个集合。
如果不指定混合选项CategoryVariableName
的值estimatedInfo
对象都是< GroupVariableName >
,fitResults
结果是一个向量对象。这是相同的行为作为一个未共享。
在所有其他情况下,fitResults
是一个标量对象包含估计参数值所指定的不同群体或类别CategoryVariableName
。
看到池房地产有关如何执行一个池,未共享或类别。
当你使用FitFunction = " sbiofitmixed "
,函数始终返回一个标量NLMEResults
对象。
simdataI
——仿真结果
向量的SimData
对象
仿真结果,作为一个向量的返回SimData
对象代表仿真结果为每个组(或个人)使用细化参数估计。
美国报道simDataI
是包含在美国problemObject.ResponseMap
以及任何其他州中列出StatesToLog
运行时选项的属性(RuntimeOptions
)SimBiology模型problemObject.Model
。
simdataP
——仿真结果
向量的SimData
对象
仿真结果,作为一个向量的返回SimData
对象代表仿真结果为每个组(或个人)只使用固定效应估计总体参数的估计。
美国报道simDataP
是包含在美国problemObject.ResponseMap
以及任何其他州中列出StatesToLog
运行时选项的属性(RuntimeOptions
)SimBiology模型problemObject.Model
。
版本历史
介绍了R2021b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。