用户问的一个常见问题是如何使用 JMP 求曲线下面积。 在这篇博文中,我将回顾在 JMP 中执行此操作的几种可能方法。
如果您有数据的 X 和 Y 坐标,则可以使用梯形法则。 下面,我将通过一个例子来计算血浆浓度时间曲线下的面积。 数据包含每个时间点受试者血液中药物的时间值 (Time) 和相关浓度 (C)。 本示例中的内容来自 Nicole Jones 在 JMPer Cable 1997 年秋季刊中的文章(请参阅随附的 PDF 副本)。
图 A 说明了数据和血浆浓度时间曲线。
这个数据的参考是:
Bourne, DWA (1995),“药代动力学和生物药剂学第一门课程”,俄克拉荷马大学药学院。 http://157.142.72.143/gaps/pkbio/Ch04/Ch0403.html
图A .浓度与时间的数据和图

在这个例子中,我们使用梯形规则的变体。 第一步是将时间曲线划分为每个时间点之间的段。 然后,我们将计算每个部分的面积。 最后,我们将这些部分相加以获得曲线下的总面积。
将每个时间段视为一个梯形,其面积由段的宽度和段宽度内的平均浓度给出。 定义 t我作为我日时间点(时间单位是小时)和C我作为药物浓度在我日时间点。 第二和第三时间段之间的浓度,表示为AUC 2,3如图 B 所示,计算如下:

图B .分段中的浓度与时间

此过程适用于除最后一个时间段之外的所有时间段 - 从 10 小时(在此示例中)到药物完全溶解的时间段。 最后一段C下的区域n可以使用根据样本数据计算的消除率常数 (kel) 来计算。
kel 常数是浓度与时间的对数关系的负斜率。 它是在 JMP 中使用 Y 对 X 的简单线性回归中斜率的标准公式计算得出的:

对于本例,步骤如下:
1) 在数据表中创建一个新列(我们称之为 ln(C))并使用计算器中的自然对数函数(在超越函数下)计算浓度的对数。
2)创建另一个新列(我们称之为贝塔) 并使用计算器计算时间对 ln(C) 的回归的斜率参数,如下所示。
要计算的计算器公式贝塔使用赋值函数为斜率计算的分子 (XY) 和分母 (x2) 创建临时变量。 然后计算 XY/x2 并将其分配为贝塔.



最后一步是通过将各个段的面积和最终段的面积相加来计算曲线下的总面积,计算公式为:

如果您想重复使用包含这些公式的数据表作为模板,只需删除所有行并保存保留其公式的空表。 要使用该模板,只需打开它并将您的数据粘贴到时间和 C 列中。 如果需要,重命名列以适合您的数据,保留的公式将自动使用新的列名称并计算总 AUC。
图C。计算斜率参数和总 AUC

图 C 中显示的数据表也附在这篇文章中。 它包含必要的中间列以及总 AUC 计算,并且包含所有基础公式。
我们收到的另一个常见问题是如何在为数据拟合平滑曲线时找到 AUC。 您可以使用 JMP 拟合平滑曲线,然后使用梯形法则估计总 AUC。 Fit Y by X 平台和 Graph Builder 平台都可以应用这些拟合。
使用Graph Builder平台的步骤如下:
- 在图形生成器中创建数据的散点图 (在这里查看文档如果您需要入门帮助)。
- 在图表中右键单击并选择添加 > 平滑器。 A平滑函数出现在图表上,以及图表左侧的“平滑”控制面板。 默认情况下,该方法设置为样条曲线。 您可以使用滑块调整 lambda 值或右键单击它以设置特定值。
- 根据需要进行设置,右键单击图形并选择平滑器 > 保存公式。 样条预测公式保存到原始数据表中。
- 从数据表中,转到图形 > 刻画器并在 Y,预测公式角色中指定新公式列,然后单击确定。
- 从“预测刻画器”红色小三角菜单中,将“默认 N 水平”选项设置为一个较大的数字,例如 10,000。
- 然后,从红色小三角菜单中选择输出网格表,创建一个沿曲线的坐标表。 用于近似积分。
- 使用网格表中生成的坐标,我们可以使用梯形规则来近似曲线下的总面积。
附上一个名为 AUC_GridTable.jmp 的示例表。 它是通过上述方法生成的,包含 10,000 行。 有两列,每列包含总 AUC 值。 第一个名为 Total AUC – Wikipedia Formula 并使用来自维基百科的梯形规则公式(看到这个页面). 第二种称为 Total AUC – JMPer Cable,使用本博文中讨论的第一种方法中的公式。 该方法所需的中间柱也存在。 两个总 AUC 列给出了相似的近似值。
最后,如果您想找到特定函数的曲线下面积,您可以使用辛普森法则进行数值积分。 已附加执行集成的自定义 JSL 脚本 (Integrate_Simpson Rule.jsl)。 只需提供您想要集成的功能以及集成的上限和下限。