计算估计参数的置信区间(需要统计和机器学习工具箱)
计算估计参数的95%置信区间ci
= sbioparameterci (fitResults
)fitResults
,一个NLINResults对象
或OptimResults对象
由sbiofit
函数。ci
是一个ParameterConfidenceInterval
对象,该对象包含计算的置信区间。
使用一个或多个指定的其他选项ci
= sbioparameterci (fitResults
,名称,值
)名称,值
对参数。
加载数据
加载样本数据以适应。数据存储为带有变量的表ID,时间,CentralConc,PeripheralConc.这一合成数据代表了三个人在输注剂量后,在中央和外周室的八个不同时间点测量的血浆浓度的时间过程。
清晰的所有负载data10_32R.matgData = groupedData(data);gData.Properties.VariableUnits = {'',“小时”,毫克/升的,毫克/升的};sbiotrellis (gData“ID”,“时间”, {“CentralConc”,“PeripheralConc”},“标记”,“+”,...“线型”,“没有”);
创建模型
创建一个两室模型。
pkmd = PKModelDesign;pkc1 = add隔间(pkmd,“中央”);pkc1。DosingType =“注入”;pkc1。EliminationType =“linear-clearance”;pkc1。H一个年代ResponseVariable = true; pkc2 = addCompartment(pkmd,“外围”);Model = construct(pkmd);Configset = getconfigset(模型);configset.CompileOptions.UnitConversion = true;
定义剂量
确定输注剂量。
剂量= sbiodose(“剂量”,“TargetName”,“Drug_Central”);剂量。年代t一个rtTime = 0; dose.Amount = 100; dose.Rate = 50; dose.AmountUnits =毫克的;剂量。时间Units =“小时”;剂量。RateUnits =“毫克/小时”;
定义参数
定义要估计的参数。为每个参数设置参数边界。除了这些显式的边界之外,参数转换(如log、logit或probit)还施加了隐式的边界。
responseMap = {'Drug_Central = CentralConc','Drug_Peripheral = PeripheralConc'};paramsToEstimate = {“日志(中央)”,的日志(外围),“12”,“Cl_Central”};estimatedParam = estimatedInfo(paramsToEstimate,...“InitialValue”,[1 1 1 1 1],...“界限”,[0.1 3;0.1 10;0 10;0.1 2]);
合适的模型
执行未合并拟合,即对每个患者进行一组估计参数。
unpooledFit = sbiofit(模型,gData,responseMap,estimatedParam,剂量,“池”、假);
进行合并拟合,即对所有患者进行一组估计参数。
pooledFit = sbiofit(模型,gData,responseMap,estimatedParam,剂量,“池”,真正的);
计算估计参数的置信区间
计算未合并拟合中每个估计参数的95%置信区间。
ciParamUnpooled = sbioparameterci(unpooledFit);
显示结果
以表格格式显示置信区间。各估计状态的含义请参见参数置信区间估计状态.
ci2table (ciParamUnpooled)
ans = 12x7表组名估计置信区间类型Alpha状态_____ ______________ ________ __________________ _____________ ___________ 1 {'Central'} 1.422 1.1533 1.6906高斯0.05可估计1 {'Peripheral'} 1.5629 0.83143 2.3551高斯0.05约束1 {'Q12'} 0.47159 0.20093 0.80247高斯0.05约束1 {'Cl_Central'} 0.52898 0.44842 0.60955高斯0.05可估计2 {'Central'} 1.8322 1.7893 1.8751高斯0.05成功2 {'Peripheral'} 5.3368 3.9133 6.7602高斯0.05 success 2 {'Q12'} 0.27641 0.2093 0.34351高斯0.05 success 2 {'Cl_Central'} 0.86034 0.80313 0.91755高斯0.05 success 3 {'Central'} 1.6657 1.5818 1.7497高斯0.05 success 3 {'Peripheral'} 5.5632 4.7557 6.3708高斯0.05 success 3 {'Q12'} 0.78361 0.65581 0.91142高斯0.05 success 3 {'Cl_Central'} 1.0233 0.96375 1.0828高斯0.05 success
绘制置信区间。如果某个置信区间的估计状态为成功
,它以蓝色(第一个默认颜色)绘制。否则,用红色(第二种默认颜色)表示,这表明可能需要对拟合参数进行进一步的研究。如果置信区间为没有有价值的
,则该函数绘制一条带有居中十字的红线。如果有任何经过转换的参数,其估计值为0(对于log变换)和1或0(对于probit或logit变换),则不为这些参数估计值绘制置信区间。要查看颜色顺序,请键入get(大的,“defaultAxesColorOrder”)
.
组从左到右显示的顺序与它们在groupname
对象的属性,该属性用于标记x轴。y标签是转换后的参数名。
情节(ciParamUnpooled)
计算合并拟合的置信区间。
ciParamPooled = sbioparameterci(pooledFit);
显示置信区间。
ci2table (ciParamPooled)
ans = 4x7表组名估计置信区间类型Alpha状态______ ______________ ________ __________________ _____________ ___________ pooled {'Central'} 1.6626 1.3287 1.9965高斯0.05估计的pooled {'Peripheral'} 2.687 0.89848 4.8323高斯0.05约束的pooled {'Q12'} 0.44956 0.11445 0.85152高斯0.05约束的pooled {'Cl_Central'} 0.78493 0.59222 0.97764高斯0.05估计
绘制置信区间。组名被标记为“pooled”以表示这种匹配。
情节(ciParamPooled)
把所有的置信区间结果画在一起。默认情况下,每个参数估计的置信区间在单独的轴上绘制。垂直线组参数估计的置信区间是在一个共同拟合中计算的。
ciAll = [ciParamUnpooled;ciParamPooled];情节(ciAll)
您还可以使用“分组”布局在参数估计分组的一个轴上绘制所有置信区间。
情节(ciAll“布局”,“分组”)
在此布局中,您可以指向每个置信区间的中心标记以查看组名。每个估计的参数由一条垂直的黑线分隔。垂直虚线组参数估计的置信区间是在一个共同拟合中计算的。在原始拟合中定义的参数边界用方括号标记。注意由于参数转换,y轴上的不同尺度。例如,的y轴12个
是线性尺度,但中央
是在对数尺度上,因为它是对数变换。
计算模型预测的置信区间
计算模型预测的95%置信区间,即使用估计参数的模拟结果。
%用于合并拟合ciPredPooled = sbiopredictionci(pooledFit);%用于未合并的拟合ciPredUnpooled = sbiopredictionci(unpooledFit);
绘制模型预测的置信区间
每个组的置信区间在单独的列中绘制,每个响应在单独的行中绘制。受边界限制的置信区间用红色表示。不受边界限制的置信区间用蓝色表示。
情节(ciPredPooled)
情节(ciPredUnpooled)
fitResults
- - - - - -参数估计结果sbiofit
NLINResults
对象|OptimResults
对象|向量参数估计结果sbiofit
,指定为NLINResults对象
,OptimResults对象
,或一个对象向量,用于从相同对象返回的未池拟合sbiofit
调用。
的可选逗号分隔对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“阿尔法”,0.01,“类型”,“profileLikelihood”
指定使用配置文件似然方法计算99%置信区间。
“α”
- - - - - -置信水平信心水平,(1-Alpha) * 100%
,指定为逗号分隔的对,由“α”
在0到1之间是一个正标量。默认值为0.05
,即计算95%置信区间。
例子:“阿尔法”,0.01
“类型”
- - - - - -置信区间类型“高斯”
(默认)|“profileLikelihood”
|“引导”
置信区间类型,指定为由逗号分隔的对组成“类型”
和一个字符向量。有效的选项是:
“高斯”
-使用高斯近似参数估计的分布。
“profileLikelihood”
-计算轮廓似然区间。来自分层模型的参数估计不支持此类型金宝app,即来自拟合不同类别(如年龄或性别)。换句话说,如果你设置CategoryVariableName
的属性EstimatedInfo对象
在原始拟合中,则拟合结果是分层的,因此不能计算profileLikelihood
结果的置信区间。详细信息请参见轮廓似然置信区间计算.
“引导”
计算置信区间使用自举法.
例子:“类型”,“引导”
“宽容”
- - - - - -容差轮廓似然和自举置信区间计算1 e-5
(默认)|积极的标量轮廓似然和自举置信区间计算的容差,指定为由逗号分隔的对组成“宽容”
一个正标量。
轮廓似然方法使用这个值作为终止公差。详细信息请参见轮廓似然置信区间计算.
自举方法使用此值确定置信区间是否受到原始拟合中指定的边界的约束。详细信息请参见自举置信区间计算.
例子:“宽容”,1 e-6
“MaxStepSize”
- - - - - -用于计算剖面似然曲线的最大步长0.1
(默认)|积极的标量|[]
|单元阵列用于计算轮廓似然曲线的最大步长,指定为逗号分隔的对,由“MaxStepSize”
一个正标量,[]
,或单元格数组。默认情况下,该参数设置为0.1
.如果你设置为[]
,则最大步长设置为置信区间高斯近似宽度的10%(如果存在)。您可以指定最大步长(或[]
)为每个估计参数使用单元格数组。
例子:“MaxStepSize”,0.5
“NumSamples”
- - - - - -用于自举的样本数量用于引导的样本数目,指定为逗号分隔的对,由“NumSamples”
一个正整数。这个数字定义了在置信区间计算期间为生成自举样本而执行的拟合次数。数字越小,置信区间的计算速度就越快,但代价是精度降低。
例子:“NumSamples”,500年
“显示”
- - - - - -返回到命令行的显示级别“关闭”
(默认)|“没有”
|“最后一次”
|“通路”
返回到命令行的显示级别,由逗号分隔的对组成“显示”
和一个字符向量。“关闭”
(默认)或“没有”
不显示输出。“最后一次”
计算结束时显示一条消息。“通路”
显示每次迭代的输出。
例子:“显示”、“最后”
“UseParallel”
- - - - - -并行计算置信区间的逻辑标志真正的
|假
并行计算置信区间的逻辑标志,指定为逗号分隔的对,由“UseParallel”
而且真正的
或假
.默认情况下,使用原始拟合中的并行选项。如果此参数设置为真正的
和并行计算工具箱™可用时,将忽略原始拟合中的并行选项,并并行计算置信区间。
对于高斯置信区间:
如果输入fitResults
是结果对象的向量,则对每个对象的置信区间进行并行计算。高斯置信区间计算起来很快。因此,并行化原始拟合可能更有益(sbiofit
)和未设置UseParallel
为真sbioparameterci
.
对于轮廓似然置信区间:
如果输入结果对象的个数fitResults
向量大于估计参数的个数,则并行计算每个对象的置信区间。
否则,在函数移动到下一个结果对象之前,将并行计算一个结果对象中所有估计参数的置信区间。
对于Bootstrap置信区间:
该函数将UseParallel
旗帜bootci
.结果对象的输入向量上没有并行化。
如果你有一个用于随机数生成的全局流,它有几个子流,可以以可重复的方式并行计算,sbioparameterci
首先检查工人的数量是否与子流的数量相同。如果是这样,sbioparameterci
集UseSubstreams
来真正的
在statset
选项并将其传递给bootci
.否则,默认情况下将忽略子流。
例子:“UseParallel”,真的
ci
-置信区间结果ParameterConfidenceInterval
对象置信区间结果,返回为aParameterConfidenceInterval
对象。对于未合并的不适,ci
可以是向量ParameterConfidenceInterval
对象。
该函数使用Wald检验统计量[1]计算置信区间。假设有足够的数据,参数估计,P美国东部时间,为学生的t分布与协方差矩阵近似年代(CovarianceMatrix
返回结果对象的属性)sbiofit
.
第i个参数估计的置信区间P美国东部时间,我计算公式如下:
,在那里T发票为学生t逆累积分布函数(tinv
)用概率1 -(α/ 2)
,年代我,我协方差矩阵的对角线元素(方差)是年代.
在置信区间受到原始拟合中定义的参数边界约束的情况下,根据Wu, H.和Neale, M.描述的方法调整置信区间边界。[2].
对于每个参数估计,函数首先确定参数估计的置信区间是否无界。如果是,则函数将对应参数估计的估计状态设置为没有有价值的
.
否则,如果参数估计的置信区间受到原始拟合中定义的参数界的约束,则函数将估计状态设置为限制
.参数转换(例如日志
,probit
,或分对数
)对估计的参数施加隐式边界,例如正性约束。这样的边界可能导致置信度的高估,即置信区间可能小于预期。
如果没有置信区间有估计状态没有有价值的
或限制
,则函数将所有参数估计值的估计状态设置为成功
.否则,其余参数估计的估计状态设置为可尊敬的
.
定义l作为概率,韩的参数估计值(存储在ParameterEstimates
返回结果对象的属性)sbiofit
,
,在那里P美国东部时间是一个参数估计的向量,P美国东部时间1,P美国东部时间2、……P美国东部时间,n.
轮廓似然函数PL对于参数P我定义为 ,在那里n是参数的总数。
威尔克斯定理[3],似然比检验统计量, ,为1自由度的卡方分布。
因此,找到所有P我这样: .
同样, ,在那里 是用于计算日志概要文件似然曲线的目标值,如下所述。
开始P美国东部时间,我并评估可能性l.
计算日志概要文件的可能性P美国东部时间,我+k* MaxStepSize
对于置信区间的每一边(或方向),即:k= 1,2,3,…
而且k= -1, -2, -3,…
.
如果每边满足其中一个停止标准,就停止。
日志配置文件可能性低于目标值。在这种情况下,开始平分betweenP下面而且P以上,在那里P下面日志剖面似然值最大的参数值是否低于目标值,以及P以上日志配置文件似然值大于目标值最小的参数值。如果下列情况之一为真,则停止等分:
该步骤受到原始拟合中定义的界限的限制。在边界处求值,并将相应边的状态设为限制
.
如果置信区间两边都不成功,即有状态没有有价值的
,函数设置估计状态(ci
.Results.Status)没有有价值的
.
如果没有一方有此状态没有有价值的
一方有地位限制
,函数设置估计状态(ci
.Results.Status)限制
.
如果置信区间两侧的所有参数都计算成功,则设置估计状态(ci
.Results.Status)成功
.
否则,该函数将其余参数估计的估计状态设置为可尊敬的
.
的bootci
函数从统计和机器学习工具箱™用于计算bootstrap置信区间。第一个输入nboot为样本数(NumSamples
),以及第二个输入bootfun是执行以下操作的函数:
重新采样数据(如果有多个组,则在每个组中独立进行)。
运行一个符合重采样数据的参数。
返回估计的参数。
如果置信区间小于宽容
对于在原始拟合中定义的参数界,函数将估计状态设置为限制
.如果所有置信区间都离参数边界更远宽容
时,该函数将状态设置为成功
.否则,设置为可尊敬的
.
沃尔德,A。当观测数量较多时,关于若干参数的统计假设的检验美国数学学会会刊.54(3), 1943,第426-482页。
[2]吴,H.和M.C.尼尔。有界参数的调整置信区间行为遗传学.42 (6), 2012, pp. 886-898。
[3]威尔克斯,ss“检验复合假设的似然比的大样本分布”数理统计年鉴.9(1), 1938,页60-62。
平行运行,设置“UseParallel”
来真正的
.
有关更多信息,请参见“UseParallel”
名称-值对参数。
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。