基于Xgboost算法的制药企业质检环节质量成本优化建模

邢晓夏*

（海正药业（杭州）有限公司制剂质量部）

2.02.02.02.02.02.02.02.0Hisun Pharmaceutical (Hangzhou) Co., LTD. Pharmaceutical preparation Quality Department海正药业（杭州）有限公司制剂质量部3114041596883837515968838375浙江省杭州市富阳区胥口镇下练村xxxing@hisunpharm.com邢晓夏（1981-），男，工程师，主要研究方向：药品质检、数据挖掘。邢晓夏XING Xiaoxia邢晓夏2.0 2.02.02.02.02.02.02.02.02.02.02.02.02.02.02.01*|*期刊*|*梁秋子，制药公司预算与成本管控结合研究——以K制药公司为例[J].经营者，2020，8:55-56.<CR>2*|*期刊*|*马辉，制药企业成本精细化管理的实践研究[J].中国民商，2019,8:122.<CR>3*|*期刊*|*陆建萍，制药企业财务内控体系构建策略研究[J].当代会计，2019,18:145-146.<CR>4*|*期刊*|*笪婕，质量成本管理在制药企业中的应用价值[J].现代经济信息，2018,36:196-197.<CR>5*|*期刊*|*宫平，质量成本管理在制药企业的应用[J].科技经济市场,2016,3:54.<CR>6*|*期刊*|*董正龙，曹萌，信息技术在生物制药工业中的应用[J].中国医药工业杂志，2019,11:1262-1267.<CR>7*|*期刊*|*刘洁.试论质量成本的分析与控制[J].轻工科技,2016,32(04):114-115.基于Xgboost算法的制药企业质检环节质量成本优化建模|Quality Cost Optimization Modeling of Quality Inspection in Pharmaceutical Enterprises Based on Xgboost Algorithm|*|1|邢晓夏|XING Xiaoxia|海正药业（杭州）有限公司制剂质量部|Hisun Pharmaceutical (Hangzhou) Co., LTD. Pharmaceutical preparation Quality Department|邢晓夏（1981-），男，工程师，主要研究方向：药品质检、数据挖掘。|浙江省杭州市富阳区胥口镇下练村|311404|xxxing@hisunpharm.com|15968838375|15968838375

摘要：随着2019年修订版《中华人民共和国药品管理法》的颁布，在保证药品具有高安全、高有效、高质量的前提下，合理的控制和降低药品质量成本，对药品上市许可持有人而言具有极为重要的现实意义。论文首先给出了内部故障成本与外部故障成本的协同价值模型；其次，基于Xgboost算法搭建不合格药品的预测模型；最后，基于上述两个模型输出总成本最优的成本控制策略。测试结果显示，论文提出的模型和策略能在保证药品高安全、高有效、高质量的前提下，取得总质量成本最小值的近似解，具有一定的推广意义。

关键词：制药；质量成本；质检； Xgboost

中图分类号：F592

Quality Cost Optimization Modeling of Quality Inspection in Pharmaceutical Enterprises Based on Xgboost Algorithm

XING Xiaoxia

(Hisun Pharmaceutical (Hangzhou) Co., LTD. Pharmaceutical preparation Quality Department)

Abstract: With the promulgation of the revised Drug Administration Law of the People’s Republic of China in 2019, reasonable control and reduction of drug quality cost under the premise of ensuring high safety, high efficiency and high quality of drugs is of great practical significance for drug marketing license holders. Firstly, the Collaborative Value Model of internal failure cost and external failure cost is given; secondly, the prediction model of unqualified drugs is built based on Xgboost algorithm; finally, the cost control strategy with optimal total cost is output based on the above two models. The test results show that the model and strategy proposed in this paper can obtain the approximate solution of the minimum total quality cost under the premise of ensuring high safety, high efficiency and high quality of drugs, which has a certain promotion significance.

Key words: Pharmaceutical; quality cost; quality inspection; Xgboost

引言

2019年，国家颁布了修订版的《中华人民共和国药品管理法》。其中，药品上市许可持有人制度（MAH）首次以一个章节的篇幅被纳入，成为了医药行业关注的热点[1]。MAH制度是药品审评、审批制度改革的一项重要内容，它对于鼓励药品创新、提升药品质量具有重要意义。按照MAH制度，药品上市许可持有人将对药品安全、有效和质量可控承担法律责任。如何在保证药品具有高安全、高有效、高质量的前提下，合理的控制和降低药品质量成本，具有极为重要的现实意义[2]。

首先回顾制药企业质量成本的构成：

1)内部故障成本：指药品在出厂前发现的因未能满足质量标准所造成的损失。包括无法返工或重新加工的药物成品、半成品销毁而造成的损失；对不合格的药物成品、半成品进行返工或重新加工所发生的费用；药物成品、半成品降级处理引起的损失；质量事故处理费用等[3]。

2)外部故障成本：指药品销售后因未能满足质量标准所发生的费用。包括由于质量缺陷而支付给用户的赔偿费用；由于质量缺陷而造成顾客退货、换货所发生的损失；在对客户投诉的药品留样进行检验时所发生的费用；与投诉的客户进行往来谈判的费用等[4]。

3)鉴定成本：指评定药品是否符合药典、局颁标准或企业内控标准的质量要求而进行的试验、检验和检查的费用。包括原、辅料 和包装材料检验费用；中间体检验费用；最终成品检验费用；对检验测试仪器、设备进行校验、维修的费用；检测设备的折旧费；专职检验、计量人员的工资和附加费等[5]。

4)预防成本：指企业为保证产品质量达到规定的标准，或为 提高产品质量、预防不合格药品产生所进行的各项管理活动的费用。包括为制订企业质量方针、目标和计划所发生的费用；新药注册所需的费用；对原、辅料以及包装材料的供应单位进行调查和评价所发生的费用；进行验证所需的费用；质量管理教育培训费 用；开展群众性质量管理活动所需费用；质量信息工作费用；质量改进措施费用；质量奖励费用；编写质量手册和其他质量文件所发生的费用；各级从事专职质量管理工作人员的工资及附加费用等[6]。

5)外部质量保证成本：指为向顾客提供外部质量保证活动的费用。包括应顾客要求向顾客提供质量手册、质量计划、质量记录等文件所发生的费用；质量体系认证费用；应顾客要求对药品进行 特殊加工或检验所发生的费用等[7]。

本文主要考虑如何平衡上述5种质量成本的前2种，即内部故障成本与外部故障成本。具体内容包括：首先，构建上述两种成本的协同价值模型；其次，基于Xgboost算法搭建不合格药品的预测模型；最后，基于上述两个模型输出总成本最优的成本控制策略。

内部故障成本与外部故障成本的协同价值模型

通常，在药品出厂前的质检环节中，若某批次药品的样本被判断为不合格，则该批次药品将不能进入销售环节；反之，若样本被判断为合格，则该批次药品将被允许进入销售环节。

上述两种判断，造成的可能结果有以下四类：

1）命中：判定某批次药品不合格，且判断正确，此时将付出内部故障成本b。从质检环节来说，这种付出是值得的，它避免了付出外部故障成本a。

2）误判：判定某批次药品不合格，但判断错误，此时也将付出内部故障成本b。从质检环节来说，这种付出是不值得的，它将合格药品作为不合格处理，浪费了生产环节的人力物力。

3）漏判：判定某批次药品合格，但判断错误，此时无须付出内部故障成本b。但是它使得不合格产品进入了销售环节，将造成外部故障成本a，通常a>>b，将给企业造成较大损失。

4）通过：判定某批次药品合格，且判断正确，此时无须付出内部故障成本b，也无须付出外部故障成本a。

设某药品共有M个批次，其中实际不合格的共有N个批次；又设质检环节共判定出U个批次为不合格，其中命中次数为V，则不难算出：误判次数应为U-V，漏判次数应为N-V，空耗次数应为M-N-U+V。四类预测结果的数值关系如表1所示。

表1 四类预测结果的混淆矩阵

Tab. 1 Confounding matrix of four kinds of prediction results

预测为不合格	预测为合格	合计
实际确为不合格	命中V	漏判N-V	N
实际确为合格	误判U-V	通过M-N-U+V	M-N
合计	U	M-U	M

显然，在上述四中结果中，“通过”无须付出成本，故无须考虑；“命中”是生产环节出现了不合格产品造成的，它无法通过质检环节予以消除，只能通过生产环节提升生产质量来解决；而“误判”带来的内部故障成本和“漏判”带来的外部故障成本，理论上应通过调整质检策略（质检模型），完全消除；实践中应当求得一定约束条件下的两种质量成本之和的最小值，即最优解。

当质检环节部署了某种质检策略f时，两种质量成本之和可以表示为：

(1)

若质检策略为“理想策略”，即所有判断均正确无误，不存在“漏判”和“误判”，此时两种质量成本之和可以表示为：

(2)

策略f的耗费比定义为：

(3)

数据来源与建模准备

数据来源：某制药企业的某畅销药品于2017年1月至2019年12月的生产、质检和销售数据。为建模方便，共取出从不同生产线生产的约1万个批次药品，其中实际不合格批次为5%（此为样本重采样后的结果）。这1万个批次的药品，经过随机均匀抽样后，按照4:1划分为训练集和测试集。

每个批次药品的属性变量共计约60个，若全用于建模，一方面，建模时间长；另一方面，部分干扰字段将降低模型精度。因此，需要对数据做预处理和特征工程，具体包括：

1）稽查重复数据：对于整体关键指标进行数据稽查，删除重复数据。

2）奇异值数据：奇异值在数据中以离群值的形式体现，即与大部分正常取值偏离较大，通过变量的直方图或散点图识别并删除。

3）缺失严重特征：对于缺失数据，评估补足难度和价值，找出缺失严重的特征行标记并删除。

4）字符串重新编码：例如“生产地址”、“原材料供应商”等，提前将字符串重新自动编码为数值化变量。

5）经过相关性分析，删除掉与产品是否合格相关性差的约20个特征。

6）基于相关性较高的10个特征，衍生新特征。

质检建模和模型效果

Xgboost算法原理

Boosting算法是一种比较常见的数据挖掘方法，它通过动态改变训练样本的权重，获得多个分类器，最终取得最优分类器。它在每一轮训练结束之后，降低被正确分类的训练样本权重，增大分类错误的样本权重；通过多次训练之后，一些被错误分类的训练样本会获得更多关注，而正确的训练样本权重趋近于0；多次训练取得的分类器，将按权重组合，得到一个最终模型。

GBDT算法在Boosting算法的基础上，进一步优化了模型迭代策略，以获得更好的模型效果。Xgboost算法在GBDT算法的基础上，进一步利用CPU的多线程，引入正则化项，加入剪枝，控制了模型的复杂度，提升了模型的执行效率。

与GBDT相比，Xgboost有以下进步：

1）GBDT以传统CART作为基分类器，而XgBoost支持线性分类器，相当于引入L1和L2正则化项的逻辑回归（分类问题）和线性回归（回归问题）；

2）GBDT在优化时只用到一阶导数，XgBoost对代价函数做了二阶Talor展开，引入了一阶导数和二阶导数；

3）XgBoost工具支持并行,但并不是Tree粒度上的，而是特征粒度，决策树最耗时的步骤是对特征的值排序，XgBoost在迭代之前，先进行预排序，存为Block结构，每次迭代，重复使用该结构，降低了模型的计算；Block结构也为模型提供了并行可能，在进行结点的分裂时，计算每个特征的增益，选增益最大的特征进行下一步分裂，那么各个特征的增益可以开多线程进行；

4）XgBoost在每次迭代之后，为叶子结点分配学习速率，降低每棵树的权重，减少每棵树的影响，为后面提供更好的学习空间；

5）可并行的近似直方图算法，树结点在进行分裂时，需要计算每个节点的增益，若数据量较大，对所有节点的特征进行排序，遍历的得到最优分割点，这种贪心法异常耗时，这时引进近似直方图算法，用于生成高效的分割点，即用分裂后的某种值减去分裂前的某种值，获得增益，为了限制树的增长，引入阈值，当增益大于阈值时，进行分裂；

6）XgBoost的代价函数引入正则化项，控制了模型的复杂度，正则化项包含全部叶子节点的个数，每个叶子节点输出的Score的L2模的平方和。从贝叶斯方差角度考虑，正则项降低了模型的方差，防止模型过拟合。

基于Xgboost的质检建模

训练数据集共计有1万个批次的药品数据，其中不合格批次标记为正样本，合格批次标记为负样本。在Python语言环境中运用Xgboost算法，构建“是否不合格产品”的二分类模型，将模型分别运用于训练数据集和测试数据集后，其ROC（receiver operating characteristic curve）曲线如图1所示，其AUC（area under curve）分别为0.823和0.726。

图1 ROC曲线

Fig. 1 ROC Curves

图中命中率表示不合格批次中，被模型正确预测出的比例，其计算公式为：

(4)

图中误判率表示所有合格批次，被模型错误预测为网络攻击的比例，其计算公式为：

(5)

总成本最小的最佳质检策略

将测试数据的ROC曲线代入(3)式，遍历后可求出模型有效性的最大值，其参数选取和的最终结果如表2所示。

表2 预测模型有效性评估结果

Tab. 2 The effectiveness evaluation results of the prediction model

参数	a	b
数值	1万	500	25单位	1单位
计算公式
148.9%

表2的结果指出，从事后分析的角度，若当初采用基于Xgboost模型的质检策略，可以使得总质量成本（内部故障成本+外部故障成本）仅为理想成本的1.489≈1.5倍，远小于企业历史同期实际质量成本的耗费比。

总结

本文基于Xgboost算法和训练数据集，构建了“是否不合格产品”的二分类预测模型。经过参数调优后，输出的质检策略在测试数据集中取得了的效果，远小于企业历史同期实际质量成本的耗费比。

因此，在未来的药品质检工作中引入数据挖掘和机器学习算法，构建不合格产品的预测模型，并基于该模型输出最佳质检策略的思路，值得推广应用。

作者性别写错了，之前的修改稿修改过，但是线上发布还是原来的，麻烦编辑帮忙改一下，谢谢！

作者性别改为：男

[参考文献] (References)

[1] 梁秋子，制药公司预算与成本管控结合研究--以K制药公司为例[J].经营者，2020，8:55-56.
[2] 马辉，制药企业成本精细化管理的实践研究[J].中国民商，2019,8:122.
[3] 陆建萍，制药企业财务内控体系构建策略研究[J].当代会计，2019,18:145-146.
[4] 笪婕，质量成本管理在制药企业中的应用价值[J].现代经济信息，2018,36:196-197.
[5] 宫平，质量成本管理在制药企业的应用[J].科技经济市场,2016,3:54.
[6] 董正龙，曹萌，信息技术在生物制药工业中的应用[J].中国医药工业杂志，2019,11:1262-1267.
[7] 刘洁.试论质量成本的分析与控制[J].轻工科技,2016,32(04):114-115.

作者简介：邢晓夏（1981-），男，工程师，主要研究方向：药品质检、数据挖掘. E-mail: xxxing@hisunpharm.com