原创 利用Python使用kmeans和PCA找到有问题的阿片类药物购买者

2020-3-4 15:59 2887 21 2 分类: 机器人/ AI 文集: 人工智能

无监督机器学习的诱人前景之一是它可以从混乱中提取秩序。精心设计的聚类算法就像在干草堆中专门寻找针头一样。

利用Python使用kmeans和PCA找到有问题的阿片类药物购买者


问题背景:在美国,ARCOS阿片类药物数据集中标记可能存在问题的买家。

ARCOS 缩写,是美国毒品执法机构在美国进行处方药交易的记录。其中包括处方阿片类药物交易-以及有关谁制造了这些阿片类药物,谁将它们出售以及将它们出售给美国患者的信息。

由DEA首次公开的ARCOS数据集跨越4亿行和40多个列。它几乎涵盖了2006年至2012年之间在制造商(如Purdue Pharma),分销商(如AmerisourceBergen,Cardinal Health和McKesson)以及全国数千家药房、医院、医生办公室和诊所之间进行的所有阿片类药物交易。

但是从阿片类药物诉讼和美国阿片类药物危机的角度来看,ARCOS数据集也因其遗漏而著称。即使DEA记录了阿片类药物"购买者"(药房,医生办公室,诊所或其他向患者出售药物的企业)的违规行为,ARCOS数据集也没有任何此类标记。

我们的工商管理硕士和数据科学家团队在想:我们能不能找到一种方法,使用一个纯粹的数据驱动的方法标记可能存在问题的阿片类药物的买家?我们是否可以使用ARCOS交易数据集来实现该目标?



链中的一环

ARCOS数据集列出了涉及各种买家的交易,从大型医院到小型诊所。我们最初决定将搜索范围限制在连锁药店,这有两个原因。

首先,阿片类药物诉讼主要针对大型上市公司。其次,我们认为连锁药房的离群值可能少于独立药房的离群值,后者适合采用聚类方法。

我们开始通过寻找符合以下两个条件的个体药店来搜索"高收益连锁药店"(我们称之为目标):

  1. 他们卖高容量阿片类药物
  2. 他们在ARCOS数据集的7年中迅速提高了阿片类药物的销量(以百分比计)。

K-Means聚类

与机器学习项目一样,我们的第一轮集群实际上始于精确的数据清理和组织。经过数周的整理和标准化了约4亿行数据,写一些Python函数,将交易汇总为简化的药房规模数字。通过县级美国人口普查局的人口数据对交易进行加权,以免因大宗交易量而惩罚大城市的药房。

在我们的第一次聚类迭代中,我们将20多种维度的交易数据全部加载到。当然,要可视化这么多个维度非常困难,因此我们利用PCA将这些维度压缩为两个更易于消化的维度。最初的结果是……

利用Python使用kmeans和PCA找到有问题的阿片类药物购买者

PC1反映与绝对销售额相关的维度,而PC2反映增长维度。每个点都是连锁药房。(来源:由Nephron Research提供的经修改的DEA ARCOS数据集)

这个结果不是很令人鼓舞。我们看到了许多快速成长但规模很小的药房(第2簇,紫色);许多大型药店的销售额几乎没有变化(第3簇,黄色);中间是一堆药房(绿松石色的第1簇)。

不过,没有高收益的连锁药房。

集群:版本2

然后,我们决定隔离药物的"强度",而不是平等地对待所有阿片类药物。我们特别关注有关的三种药物:羟考酮氢可酮芬太尼。(芬太尼在2012年还没有像最近那样在美国爆炸,但是由于其强大的化学能力,它仍然引起了人们的兴趣)。结果:

利用Python使用kmeans和PCA找到有问题的阿片类药物购买者

该图中通过算法生成的PC1与高销量成反比。0表示高销量,而50表示低销量。(来源:由Nephron Research提供的经修改的DEA ARCOS数据集)

现在我们的遇到的情况是,从阿片类药物交易中分离出"药物强度因素"似乎可以产生一个符合我们两个标准的杰出连锁药店。但是,很难想象PCA产生的奇怪的条纹簇,尤其是PC1,它似乎代表了增长率的倒数,并且难以解释。

集群:版本3

然后,我们进行了三项改进。首先,我们根据县级以及人口对药房交易进行加权。通过单独的分析,我们知道,在2006-2012年间,县级阿片类药物处方与县级阿片类药物过量率显着相关:

利用Python使用kmeans和PCA找到有问题的阿片类药物购买者

县的每100人平均处方率与每100,000人的平均死亡率之间存在相当强的相关性(0.70)。

其次,我们删除了所有与羟考酮,氢可酮和芬太尼有关的交易数据。

第三,我们使用"肘法则"来解决四个不同的集群。结果:

利用Python使用kmeans和PCA找到有问题的阿片类药物购买者

聚类版本3

最终,通过第三次集群聚类,我们找到了:大量的药店出售大量危险药物(根据当地人口和处方药率进行调整),并迅速加速了这些药物的销售。此外,在1%的显着性水平下,高产量群集(在上图中的紫色和蓝色统称为)与正常产量群集不同。

比较独立药房和连锁药房

有了我们的聚类结果,我们又有了更多的预感。到目前为止,我们的聚类实验主要针对连锁药店,这仅仅是因为到目前为止连锁药店在阿片类药问题中吸引了很多注意。但是,如果我们需要将分析应用于独立零售药店。夫妻商店是否能比连锁药店出售更多危险的阿片类药物?

简而言之:是的。

当我们在同一聚类分析中结合独立和连锁药房时,高收益独立药房的数量,远远超过了同类连锁药房。两种主要成分均在60%百分位以上的99家药店-称为超高收益药店- 所有99家都是独立零售商。

利用Python使用kmeans和PCA找到有问题的阿片类药物购买者

独立+链组中的高收益药房(左侧为橙色簇),许多是独立药房(右侧为浅蓝色)。注意:此处将独立药房标记为"零售",因为它们在ARCOS数据集中表示。

放在一起

在我们项目开始之初,我们的任务是在庞大的ARCOS数据集中识别可能存在问题的药房。从2006年开始,结合数据汇总,k均值聚类和PCA以及其他CDC人群和处方数据,我们发现了一些连锁药店和独立药房,从2006年以来,这些药房大量购买了危险的阿片类药物,并以越来越高的速度增长至2012年。

充其量只是建议我们的分析牵涉那些药房,甚至暗示更大的责任。我们的方法只是ARCOS数据集许多潜在的数据驱动方法之一。

我们仍然希望连锁药房(而非独立药房)将与制造商和分销商一起继续进行阿片类药物诉讼。此外,尽管阿片类药物诉讼对象可能不针对单个独立药房,但我们希望DEA已确定并关闭了这些独立药房,并将继续这样做。

最终,我们的目的是证明无监督机器学习是理解ARCOS数据集的可行方法。随着阿片类药物诉讼的持续进行,这种方法无疑可以阐明谁在做什么,以及何时何地在做。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
21
关闭 站长推荐上一条 /3 下一条