| 扬声器 |
抄本 |
| 奥利维亚·利平科特 |
什么 |
| 你很美丽 |
我很高兴谈论这一点,从 FDA 药品标签系统和 JMP 发现中获取高质量的信息。 |
| |
今天我将讨论四个部分。首先,我将介绍一些关于药品上市后监控的背景信息,以及FDA监管机构和行业在这方面所做的努力。此外,我将使用一个药品标签数据集。 |
| |
分析文本并使用 JMP 中的文本浏览器,并使用插件 |
| |
JMP插件 |
| |
XGBoost 分析此 DILI 信息并得出结论,此外,Russ Wolfinger 博士的 XGBoost 教程也出现在本次 JMP Discovery 峰会上,因此如果您对 XGBoost 感兴趣,请参阅他的教程。 |
| |
因此,根据 FDA 对药物加工的描述,药物开发 |
| |
它可以分为五个阶段,前两个阶段,发现和研究临床前,许多在 |
| |
先进行动物研究和化学筛选,然后三个阶段涉及人体。JMP 有三种产品,包括 JMP Genomics、JMP Clinical, |
| |
JMP 和 JMP Pro 涵盖了药物研发的各个阶段。JMP Genomics 是一款组学系统,可用于组学和临床生物标记物的筛选;JMP Clinical 则专注于临床试验。 |
| |
以及药品安全性和有效性的上市后监测。JMP Pro 还可用于药物数据清理、数据挖掘、靶点识别、制剂开发、实验设计 (DOE)、质量源于设计 (QbD)、生物测定等。因此,它可以用于药物研发的每个阶段。 |
| |
药物开发。 |
| |
因此,在药物开发过程中,最常见的单一原因,即 DILI,实际上可以停止临床试验。 |
| |
该药物可能会被FDA或其他监管机构拒绝批准,或者在上市后被召回。因此,这是最常见的单一原因,称为药物性肝损伤(DILI),相关信息可在FDA指南和其他科学出版物中找到。因此 |
| |
什么是 DILI?这实际上是药物性肝损伤, |
| |
称为 DILI,FDA 早在 10 多年前的 2009 年就发布了 DILI 指南, |
| |
如何评估和跟进,FDA 为临床研究人员提供了多年的 DILI 培训,这些信息今天仍然可以在网上找到。 |
| |
去年,FDA 也组织了相关会议。当然,关于药物性肝损伤 (DILI),如何定义受试者或患者可能患有 DILI,他们有 Hy 定律,包含在 |
| |
FDA 指导。 |
| |
这是临床试验中 DILI 评估的一个例子,在临床试验中, |
| |
在JMP Clinical中,海氏定律。因此,海氏定律是几种肝酶升高到一定水平时的组合条件, |
| |
那么你可能会认为这可能是符合海氏定律的情况。所以你有可能存在肝损伤。所以这里我们用颜色来识别 |
| |
可能的海氏定律案例,红色表示是,蓝色表示否。不同的圆形和三角形分别来自不同的治疗组。我们还使用 JMP 气泡图来展示 |
| |
酶升高会随着时间推移而变化……在临床试验期间。这是典型的。这是15天。然后你 |
| |
受试者一开始很正常。然后他们变得有点疯狂,肝酶水平高表明他们可能 |
| |
可能存在 DILI 的情况。 |
| |
因此,FDA 有两个主要数据库,实际上可以处理上市后 |
| |
监测药品安全。一个是药品标签,我们会从这个数据库中获取数据。另一个是FDA不良事件报告系统,他们 |
| |
然后他们从 NIH 和 NCBI 那里得到了非常积极的 |
| |
建立了这个LiverTox数据库,拥有大量信息,用于处理药物性肝损伤(DILI)。FDA还有另一个名为“肝毒性”的数据库。 |
| |
知识库,其中由我们的同事Tong博士主持,所以在这次演讲中,他非常了解药物性肝损伤(DILI),并建立了这个专门的数据库供公众参考。 |
| |
药品标签。每个人拿到处方药的时候可能都见过这个。药里会附上这种字迹潦草的纸。 |
| |
因此,它们还带有极小的字体,尽管有时字体太小而无法阅读,但它们确实包含有关这种药物的许多有用的科学信息 |
| |
接下来有两部分与我今天的演讲相关,分别是警告和注意事项。基本上,所有关于药物不良事件的信息以及任何需要注意的事项 |
| |
这两部分需要注意。这种药物实际上有 |
| |
超过2000字描述了警告和注意事项。幸运的是,并非每种药物都有那么多副作用或不良事件。有些药物,例如, |
| |
二甲双胍的其中一种,实际上只用了一小块区域来标注警告和注意事项。旧版药品标签的警告和注意事项是分开的,而新版则把它们放在一起。所以这个在新版里……他们把这两个放在一起了。 |
| |
各个部分合并在一起。但这个的副作用要小得多。因此,FDA 已经利用 JMP 和 JMP 临床版进行安全性分析,我们实际上帮助最终确定了药品标签上列出的所有不良事件。 |
| |
这是今天要呈现的数据。我们使用了 FDA 研究人员从我刚拿到的 462 份药品标签中提取的警告和注意事项部分。 |
| |
每种药物都分配了 DILI 指标。1 表示是,0 表示否。所以从这个分布图中,你可以看到 |
| |
大约有...164 种药物 |
| |
潜在的 DILI 病例有 298 例,没有,药品标签数据的原始格式为 XML 格式,可以通过 JMP 一次导入多个。 |
| |
对于药物性肝损伤(DILI)的关键词,FDA 经过多年的努力才整理出这份关键词列表。然后,他们实际上请专家阅读了数百份药品标签,然后确定哪些情况可能成为药物性肝损伤(DILI)。最终,他们得出了这些关键词。 |
| |
约 44 个单词或术语作为关键词,用于指示药物 |
| |
可能是药物性肝损伤(DILI)的案例。你可能也听说过MedDRA,这是一本用于监管活动的医学词典。它包含不同级别的标准化术语,其中最常用的是首选术语。我今天就用它。 |
| |
因此在 |
| |
警告和预防措施,你可以看到,如果我们把所有东西都放在一起,你就会有超过 12,000 个术语 |
| |
警告和注意事项部分。你可以看到,“患者”和“可能”是主导词, |
| |
made not... 不应该与医疗案例和本案中的医疗信息相关。所以我们可以删除它,你会发现没有其他词在这个词中占主导地位。 |
| |
云,但它仍然有许多与医学无关的词,如“使用”和“报告”,我们可以放入...... |
| |
可以将它们从分析列表中移除。因此,在文本资源管理器中,我们可以将它们放入停用词中,而且我们通常使用 |
| |
不同的文本浏览器技术包括手动提取词干、标记、正则表达式、重新编码和删除。 |
| |
清理这个列表。但它有 12,000 个术语,所以可能非常耗时。 |
| |
但是由于我们有我们感兴趣的列表,所以我们想利用我们已经知道的我们感兴趣的这个系统中的术语。 |
| |
所以我们要做的,以及我将在演示中向您展示的,我们将仅使用 DILI 关键字,加上 MedDRA 中的首选术语来生成有趣的术语和短语来进行预测。 |
| |
这是我们只使用 DILI 关键字的示例。然后你可以看到这里的所有内容,甚至在列表中也可以看到。你有一个计数 |
| |
在每个术语旁边显示它们在 |
| |
警告和注意事项部分,您还可以看到更多丰富多彩、 |
| |
在世界云中绘制图形来识别模式。然后我们添加医学术语,也就是与医学相关的术语。所以它仍然从12000个术语减少到1190个术语,其中包括DILI关键词和医学首选术语。我们认为这将是一个好的 |
| |
首先从术语列表开始进行分析。 |
| |
所以我们要做的是 |
| |
JMP 文本浏览器,我们可以保存术语……文档术语矩阵。这意味着,如果显示 1,则表示该文档已看到该术语;如果显示 0,则表示该文档 |
| |
一直没看到,有这个字的案例。 |
| |
那么我们 |
| |
XGBoost 会进行 k 折,三次 k 折,每次使用五列。 |
| |
因此,我们在机器学习中使用 XGBoost 树模型,它是 JMP Pro 的附加模块,我们使用 DILI 指标 |
| |
作为目标变量,并使用 DILI 关键词以及出现超过 20 次的 MedDRA 首选术语 |
| |
作为预测器。然后我们使用 XGBoost 交叉验证,进行 300 次迭代。现在我们得到了统计性能指标,得到了术语对 DILI 的重要性。 |
| |
我们可以使用预测分析器进行相互作用,也可以生成并保存新药预测的预测公式。 |
| |
所以我要去演示。 |
| |
这是我们在 |
| |
在 JMP 中。 |
| |
所以你有三列。基本上,你有一个索引,也就是药品ID。然后是警告和预防措施,它还可以包含更多内容。 |
| |
出现的单词,这样基本上就包含了每种药物的所有信息。现在你有一个药物性肝损伤指标。所以我们做 |
| |
首先是文本浏览器。我们已经分析过了,你可以去文本浏览器,用这个 |
| |
输入,这是一条警告和预防措施文本,你会……通常你可以在这里做不同的事情,你可以最小化字符,通常人们会选择2或做其他事情。或者你可以使用词干提取,或者你可以使用正则表达式来 |
| |
做各种 |
| |
公式和我们的限制可能会受到限制。例如,您可以使用自定义 |
| |
正则表达式可以删除所有数字。如果只是数字,你可以删除它们。但是因为我们要使用列表,所以我们不会修改任何数字,我们可以在这里简单地说,好的, |
| |
所以它列出了所有这一切。所以现在我要说的是,我只关心 |
| |
哦,对于这个,你可以做...你可以展示 |
| |
词云。 |
| |
和 |
| |
我们想说我想把它居中 |
| |
我还想要颜色。 |
| |
所以你看到这个,你看到病人如此占主导地位,那么你可以说,好吧,这绝对......不是...... |
| |
不应该在 |
| |
在分析中。所以我只需选择并右键单击“添加停用词”。 |
| |
因此,您将看到那些被删除并且不再显示在您的列表中并且不再显示在 |
| |
词云。 |
| |
现在我想给你们展示一些我 |
| |
我觉得这样可以加快清理速度,因为系统中可能还有很多我不需要的词。所以我实际上选择了 |
| |
并将所有内容放入停用词中。 |
| |
所以我删除了所有内容,只是我不知道为什么无法删除“操作”。 |
| |
但是如果只有一个的话也没问题。所以我要做的就是到这里。我说的是管理短语,我想导入我的关键词。关键词只需要一个…… |
| |
非常简单。标题, |
| |
一列数据就包含所有姓名列表。所以我导入它,然后粘贴到本地。这将是我的本地库。我说,好的。 |
| |
所以现在我只得到了我拥有的关键字。 |
| |
好的,现在这个……我想稍后进行分析。我想用它们全部纳入我的分析中,因为它们是关键词。所以我在这里,红色三角形,文本资源管理器中的所有内容,隐藏的函数,都隐藏在这里 |
| |
红色三角形。所以我说保存矩阵。我想要一个,我想要44个 |
| |
在我的分析中。我说好的。所以你会看到,所有内容都会保存到我的…… |
| |
到列,矩阵。 |
| |
现在我想添加,我想再说一遍这个短语。我还想导入 |
| |
那些首选术语。 |
| |
进入 |
| |
我的数据库,我的本地数据。 |
| |
然后我也想 |
| |
实际上,我想在本地 |
| |
到 |
| |
所以我说,好的。 |
| |
所以现在我有了混合, |
| |
MedDRA 中的首选术语以及我的关键词。所以现在你可以看到 |
| |
短语已经改变。 |
| |
这样我就可以把它们添加到我的列表中。同样的事情也发生在我的安全术语矩阵列表中,这样就能得到所有数字……所有我想要包含的术语。这里我想指出的是,对于这些术语,我们需要改变 |
| |
一种模型格式。这种模型类型仍在继续。我想把它们改成标称的。稍后我会告诉你为什么这么做。 |
| |
现在我可以去 |
| |
XGBoost,在插件中。我们可以……折叠列,确保我可以做到 |
| |
交叉验证。我可以使用索引,默认情况下,要创建的 k 折叠列数为 3,每列的折叠数 (k) 为 5,我们就使用默认值吧。 |
| |
好吧,它很快就能生成三列。最后,你会看到 A、B、C 三个折叠。 |
| |
所以我们得到了它,然后我们有... |
| |
我想做的另一件事是...... |
| |
所以我们可以 |
| |
我们可以创建另一个 |
| |
短语 |
| |
其中包含所有内容...包含所有内容...这个短语包含所有内容,包括关键字和 PT,但我想创建一个仅包含 |
| |
只有 |
| |
只有 |
| |
首选词,但没有关键词,所以我可以把这些关键词添加到本地例外中,然后说,好的。这样这些词就只有首选词,没有关键词了。 |
| |
关键词。这样我就可以创建另一个列表,保存另一个列表 |
| |
文档 |
| |
我想要的词比这个多。所以 |
| |
有 1000 个,但这个术语只有 20 个。所以他们会做的是他们保存的术语要么满足...... |
| |
至少有 |
| |
出现超过20次或者达到1000次,其中任何一个,都会出现在我的列表中。 |
| |
现在我有了完整的表格,其中包含关键词,还有 MedDRA 术语,这些术语有 20 多个,显示超过 20 次,现在还有 ??? 列,可以进行分析 |
| |
XGBoost。 |
| |
所以现在我能做的就是去 XGBoost。我可以去 |
| |
现在开始分析。我要向你们展示的是,我可以使用这个 DILI 指标,然后 X 响应就是我刚才为关键词设置的所有术语,以及 |
| |
首选词。现在,我使用三个验证 |
| |
然后点击“确定”运行。运行大约需要五分钟。我已经得到了想要展示的结果。 |
| |
所以你有... |
| |
这就是看起来的样子。 |
| |
调音设计。我们会检查一下。你有 |
| |
实际情况会为你找到一个好的条件来做到这一点。你也可以,如果你有 |
| |
就像罗斯沃尔芬格 (Ross Wolfinger) 那样,他拥有丰富的经验,他会进入这里,手动更改一些条件,然后您可能会得到最好的结果。 |
| |
但对于像我这样对 XGBoost 没有太多经验的人来说,我宁愿使用这种调优设计,而不是仅仅让机器来 |
| |
先帮我选择,然后我就可以进去,我们可以稍微调整一下,这取决于我需要在这里做什么。这是我们得到的结果。你可以使用……你可以看到这里是 |
| |
不同的 |
| |
此模型的性能指标统计,默认仅显示准确率,您可以使用排序方式点击相应列。您可以对它们进行排序,此外它还包含许多其他常用的性能指标,例如 |
| |
MCC、AUC、 |
| |
RMSE,相关性。点击后,它们都会显示出来。 |
| |
它们会显示在这里。所以,无论您需要什么,无论您想进行什么测量,都可以在这里找到。 |
| |
所以现在我要使用,假设我信任验证集的准确率,而不是其他任何东西。所以我想做的就是只看顶级模型,比如说五个模型。 |
| |
这里我选择了五个模型。然后我在这里,假设我想删除所有展示的模型。 |
| |
所以你会看到这里有五个模型,然后你可以看到一些模型,即使像这个 19 是绿色的, |
| |
它没有完成到一半。所以有些地方出了问题,有些地方不适合这个型号。我绝对不想用那个,所以我可以选择其他的。比如我想选这个 |
| |
19,我想删除那个。所以我可以说我想删除隐藏的那个。基本上,你需要做什么就做什么。所以如果你比较的话,看看这个 |
| |
指标方面,它们其实差别不大。所以我想依靠这张图表来选择最佳的指标来衡量性能。 |
| |
那么你就选择好的那个。你可以在这里 |
| |
比如说,我喜欢 12 号模型,所以我可以去这里,比如说我想做 |
| |
分析器。 |
| |
所以这是一个非常强大的工具,我认为是 JMP 独有的。 |
| |
工具有这个功能。这让你有机会查看个人 |
| |
以主动方式分析参数,并观察它们如何改变结果。例如,这两个参数在 DILI 病例中最常出现。 |
| |
你可以看到斜率相当陡峭,这意味着如果你改变它们,它们会相当影响最终结果预测。所以你可以看到 |
| |
肝炎和黄疸都显示为零,实际上你患 DILI 的可能性非常低。因此,对于可能的 DILI 病例,也显示为低。但是如果你改变这一行, |
| |
到1,你可以看到你得到的概率更高。如果你移动那些 |
| |
甚至更高。所以你有,你会有办法 |
| |
分析,如果他们是 |
| |
关键是什么 |
| |
参数或预测器会影响你的结果。其中一些,甚至它们的关键字,都是相当平缓的。这意味着如果你改变它,不会对结果产生太大影响。所以 |
| |
所以这是我们在这里提供的列表,你可以 |
| |
看看什么是最重要的 |
| |
特征用于计算变量预测。所以你可以看到,这里是黄疸,其他的也很重要。 |
| |
至于特征结果,一旦你输入了数据,这就是我们得到的所有结果。你可能会问,嗯……接下来会有什么新东西吗?是的,我们这里有,你可以说,我想保存预测公式。 |
| |
你可以看到它正在积极地处理这个问题。然后在表格的末尾,你会看到预测。记得我们有一个……比如说,嗯, |
| |
第一种药物,第二种药物几乎可以预测它将是 |
| |
DILI病例,接下来的两例、第三例、第四例和第五例都接近于零。所以我们回到这个DILI |
| |
指标,我们发现他们确实列出了。前五个是正确的。所以,如果你……当你收到新数据时没有这个指标,你不必阅读所有的标签。你运行模型。你可以看到预测结果。你几乎知道它是否 |
| |
是否为 DILI 病例。 |
| |
所以我的演示是 |
| |
到这里就结束了,现在我要总结一下。我们使用文本探索器提取数据关键词和 MedDRA 术语,并使用停用词和短语管理,无需 |
| |
手动选择、删除和重新编码。因此,我们使用可视化方法,并创建了一个文档术语矩阵进行预测。 |
| |
我们还使用机器学习来使用 XGBoost 建模,我们希望快速运行 XGBoost 来找到最佳模型并执行预测配置文件。此外,我们还可以保存 |
| |
预测公式来预测新病例。 |
| |
谢谢。我就讲到这里。 |