总结

时间序列自13C呼吸测试记录用作胃排空的替代指标。胃排空一半时间t50通过用指数β或伽马拟合序列来计算功能。通常,记录太短,无法获得对尾部零件。单身时很容易得到不切实际的排空时间拟合曲线(Ghoos等人(1993)、Maes等人(1998))。

人口方法可以起到拯救作用。当这些失败时,贝叶斯这些方法为非线性曲线拟合提供了一种稳健的方法。

这里描述的方法是在包中实现的呼吸测试核心令人窒息的闪亮、和可以在线测试在这里

压缩的源文件和数据

\===

单曲线拟合

单曲线拟合.呼吸测试评估中使用的标准方法

  • 可以用函数计算nlsList(nls列表)来自程序包国家实验室. The指数β实验测试版函数在包中定义D13呼吸;使用devtools::install_github(“dmenne/d13breath”)安装。收件人使用函数计算半排空时间t50t50胆小鬼t50梅斯来自相同的包。指数β函数为参数化为k=1/试验,因为贴合度接近正常值分配时间k个是估计值,而不是诱惑.剂量是固定的至100(mg);有了这个选择,因素可以解释为的分数13C在完全推断的基础上代谢排空曲线。
开始=c(m=30,k=0.01,beta=1.8)d_nls<-nls列表(PDR~ExpBeta(时间,100,m,k,beta)|BreathTestRecordID,数据=d,开始=开始)cf_nls=系数(d_nls)%>%rownames_to_column(“BreathTestRecordID”)%>%突变(方法=“nls”,t50BW=t50BluckCoward(.),t50Maes=t50Mae(.))cf_nls(奈尔)
BreathTestRecordID m k beta方法t50BW t50Maes1 P435 49 0.0052 1.5 nls 28.7 1952 P436 53 0.0055 1.6 nls 30.8 189页3 P443 63 0.0115 1.8 nls 24.0 1004 P444 36 0.0057 1.9 nls 55.4 209页5 P446不NA不NA nls不NA不NA6 P455不适用NA不适用nls不适用NA7 P457 13 0.0107 3.8 nls 84.1 167页8 P475 NA NA NA nls NA NA9 P485 27 0.0107 1.4 nls 6.6 8710 P487 20 0.0098 2.0 nls 36.8 127页11 P489 NA NA NA nls NA NA12 P496 34 0.0080 2.2 nls 51.8 163页

通过单曲线拟合,底层函数国家统计局不会产生有效适合4条记录。MathPad或Matlab之类的软件包可能会提供解决方案,但这些很可能与系数。R使用更保守的方法和回报不适用 作为一个功能,而不是一个bug(道格拉斯·贝茨,个人沟通)。

符合nlme的人口

人口与功能相适应国家实验室来自程序包国家实验室使用所有曲线的完整信息,从“借力”在关键情况下提供指导,例如P443然而,将所有数据拟合为国家实验室失败;通过试错可以发现,必须排除三条记录才能强制执行汇聚:

d_part=d[!(%c中的d$BreathTestRecordID%(“P446”,“P489”,“P455”)),]d_nlme=nlme(PDR ~ ExpBeta(时间,100,m,k,beta),数据=d_part,固定=m+k+β~1,随机=m+pdDiag(k+beta)~1,组=~BreathTestRecordID,control=nlmeControl(pnlsTol=0.05),开始=开始)

除了删除三条违规记录之外pnlsTol(气压公差)已从默认值0.001增加。始终使用导致收敛的最小值;需要试验和错误;功能nlme_汽油在我的包裹汽油诱惑自动调整pnlsTol(气压公差)直到收敛。大于0.5的值是可疑的,表明结果可能不可信。

由nlme和导出量计算的系数t50型(清空一半时间(分钟):

cf_nlme=系数(d_nlme)%>%rownames_to_column(“BreathTestRecordID”)%>%突变(方法=“nlme”,t50BW=t50BluckCoward(.),t50Maes=t50Mae(.))cf_nlme(奈米)
BreathTestRecordID m k beta方法t50BW t50Maes1 P435 48 0.0053 1.6不超过29.4 1932 P436 53 0.0056 1.6不超过31.4 1873 P443 63 0.0115 1.8不超过23.9 1014 P444 35 0.0060 2.0仅56.0 2035 P457 17 0.0078 2.8不超过81.2 1956 P475 52 0.0029 2.5不超过191.6 5017 P485 27 0.0106 1.4仅6.7 878 P487 20 0.0097 2.0仅36.7 1279 P496 34 0.0079 2.2仅51.6 163

与Stan的贝叶斯拟合

斯坦是一个全面的开源软件包,用于贝叶斯分析。对于呼吸测试数据的不同评估,使用贝叶斯方法,另请参阅(???).

以下内容Stan模型已使用:

#所有参数都有硬下限0m~正常(20,25);β~正态(2,0.4);k~正常(0.0015,0.001);σ~柯西(0,5);for(n in 1:n){rec=记录[n];mn=m【记录】;kn=k[记录];ktn=kn*时间[n];β=β[rec];#剂量固定为100pdr=100*mn*kn*betan*exp(-ktn)*pow(1-exp(-ktn),(betan-1));PDR[n]~正常(PDR,sigma);}

该模型使用=对于需要Stan版本的赋值>=2.10; 使用的早期版本<-.

数据以列表形式传递给Stan。

数据=列表(N=nrow(d),NRecord=NRecord,Record=d$Record,时间=d$Time,PDR=d$PDR)
列表(共5个)$N:整数438$N记录:int 12$记录:int[1:438]1 1。。。$时间:num[1:438]1.5 8.7。。。$PDR:num[1:438]4 7.5。。。

数据的数量N个以及记录的数量N记录用于索引必须传递参数块的

数据{int<下限=0>N;#数据的数量int<lower=0>NRecord;#记录的数量int<lower=0>记录[N];#来自BreathTestRecordID实际时间[N];实际<下限=-30>PDR[N];}

计算以下参数,每个胃排空一个参数时间曲线(=记录):

参数{实值<下限=0>m[NRecord];实数<下限=0>k[NRecord];实际<下限=0>β[NRecord];实际<下限=0>σ;}

Stan模型的编译和运行需要几分钟的时间,因此结果显式缓存如下:

stanCache=“BreathTestStan1.rdata”if(!file.exists(stanCache)){mr.stan=stan(“BreathTestStan1.stan”,seed=123,chains=chains,iter=200,data=data)保存(mr.stan,文件=stanCache)}其他{加载(stanCache)}

运行4条具有随机初始值的链条,每条链条预热100次迭代总数为200次。

Stan诊断

灰色背景的面板左侧表示预热(非Gelman文学中的“老化”)100次迭代的范围。Stan在对所有链进行大约40次迭代后收敛

西格玛轨迹图和第一个参数记录

预言

所有拟合和原始数据(灰色)。

为了更好地分离重叠曲线,这些曲线是垂直的相互移动0.5个单位。

  • 人口拟合和贝叶斯拟合非常相似。贝叶斯和nlme国家统计局适合聚合。
  • 由于单曲线拟合最为可靠,因此拟合定义明确参数之间的相关性很小。

事情可能会出错

  • 对于三条记录(P446、P455、P489),只有Stan给出了有效的拟合。
  • 对于一个记录(第475页),Stan和nlme给出了有效的拟合

单次拟合无效的记录结果

  • 在极端情况下,只有贝叶斯方法返回估计值。
  • Bluck Coward之后t50的自校正估计为绝对太低了。
  • Maes/Ghoos之后的t50估计值在某些情况下过高(>10小时)。
  • 曲线可以拟合的事实并不意味着拟合可以给出具有医学意义的结果。
方法 呼吸测试记录ID k个 贝塔 t50梅斯 t50磅
斯坦 第446页 117 0.0042 2.1 298 88
斯坦 第455页 61 0.0101 1.3 87 4
斯坦 第475页 58 0.0025 2.3 537 187
斯坦 第489页 40 0.0020 2 618 177
国家实验室 第475页 52 0.0029 2.5 501 192

Stan对无效拟合的3条记录的估计参数。t50BW:t50 Bluck-Coward后自校正;t50Maes:t50以下Ghoos/Maes。

Wagner Nelson去救援??

当曲线拟合不起作用时,一个流行的替代方法是Wagner-Nelson方法使用非参数方法初始坡度。然而,它对终端坡度进行了假设所有科目都相同(k=0.01/分钟,0.65/h). 从那以后假设强烈影响半衰期的估计,使用Wagner-Nelson方法几乎没有理由。

引文

Ghoos,Y.F.、B.D.Maes、B.J.Geypens、G.Mys、M.I.Hiele、P.J。Rutgeerts和G.Vantrappen。1993年“胃排空的测量通过碳标记辛酸呼吸测试测定固体的速率。”*胃肠病学*104(6):1640–7。
梅斯、B.D.、B.J.Geypens、Y.F.Ghoos、M.I.Hiele和P.J。罗杰特斯。1998.“13C-辛酸呼气试验用于胃排空固体速度。”*胃肠病学*114(4):856–59。

下一篇文章 上一篇文章

相关帖子