2021高教社杯全国大学生数学建模竞赛E题
E题 中药材的鉴别
不同中药材表现的光谱特征差异较大,即使来自不同产地的同一药材,因其 无机元素的化学成分、有机物等存在的差异性,在近红外、中红外光谱的照射下 也会表现出不同的光谱特征,因此可以利用这些特征来鉴别中药材的种类及产地。
中药材的种类鉴别相对比较容易,不同种类的中药材呈现的光谱的区别比较 明显。图1为两种不同药材的近红外光谱数据曲线图,容易看出两者的差异比较 大。
中药材的道地性以产地为主要指标,产地的鉴别对于药材品质鉴别尤为重要。 然而,不同产地的同一种药材在同一波段内的光谱比较接近,使得光谱鉴别的误 差较大。另外,有些中药材的近红外区别比较明显,而有些药材的中红外区别比 较明显(见图2和图3所给出的来自某药材5个不同产地的近红外和中红外光谱 数据曲线图)。当样本量不够充足时,我们可以通过近红外和中红外的光谱数据 相互验证来对中药材产地进行综合鉴别。
附件1至附件4是一些中药材的近红外或中红外光谱数据,其中No列为药 材的编号,Class 列表示中药材的类别, OP列表示该种药材的产地,其余各列 第一行的数据为光谱的波数(单位cm-1)、第二行以后的数据表示该行编号的药材 在对应波段光谱照射下的吸光度(注:该吸光度为仪器矫正后的值,可能存在负 值)。试建立数学模型,研究解决以下问题。
问题1. 根据附件1中几种药材的中红外光谱数据,研究不同种类药材的特 征和差异性,并鉴别药材的种类。
问题2. 根据附件2中某一种药材的中红外光谱数据,分析不同产地药材的 特征和差异性,试鉴别药材的产地,并将下表中所给出编号的药材产地的鉴别结 果填入表格中。
问题3. 根据附件3中某一种药材的近红外和中红外数据,试鉴别该种药材 的产地,并将下表中所给出编号的药材产地的鉴别结果填入表中。
问题4. 附件4给出了几种药材的近红外光谱数据,试鉴别药材的类别与产 地,并将下表中所给出编号的药材类别与产地的鉴别结果填入表各中。
由于不同红外光照射药材时会呈现不同的光谱特征,所以本文基于中药材的这一特点来判断其产地和种类。
针对问题一:要对附件一中所给数据对所给中药材进行分类,并就其特征和差异性进行研究。首先,我们读取原始数据,利用python绘图后发现,出现三个异常值,利用3sigma原则清洗数据后,再利用k-means迭代求解的聚类分析算法计算出k值为3最合适,则应将这些中药材分为三类;在此基础之上,我们将之前清洗的3个异常数据归为一类,最终将中药材分为四类。
针对问题二:主要分析同一种药材在不同产地的特征以及差异性,并对药材的种类进行鉴别。首先,我们对附件二中的数据进行读取,利用python绘制光谱图并对数据进行预处理。由于数据量过大,药材产地鉴别困难,我们通过一阶差分、二阶差分以及多元散射校正(MSC)进行数据预处理,对预测准确值进行评估后,发现二阶差分效果最好。其次,使用sklearn、gbm、RF、SVM监督学习算法再次对模型进行评价,结果表明:RF的准确率最高,达到了0.98,表示该模型具有准确性和实用性。我们利用该模型对表中给出编号药材的产地进行鉴别,得出最终结果:
No | 3 | 14 | 38 | 48 | 58 | 71 | 79 | 86 | 89 | 110 | 134 | 152 | 227 | 331 | 618 |
OP | 6 | 1 | 4 | 7 | 10 | 6 | 9 | 11 | 3 | 4 | 9 | 2 | 5 | 8 | 3 |
针对问题三:需要根据该种药材的近红外光谱数据、中红外光谱数据,鉴别该药材的产地,并完成表格。我们分别对该药材近、中红外数据进行读取并绘图,确定近红外区和中红外区各个产地药材的数量。接着分别利用一阶差分和二阶差分对数据进行预处理,划分训练集数据,使用训练集数据进行训练,利用机器学习中的RF、SVM、lgb建立模型。由于近红外区准确率较低,近红外加中红外的数据量过大,所以我们最终选择基于中红外数据,利用准确率最高的RF建立模型,最终得到表格结果:
No | 4 | 15 | 22 | 30 | 34 | 45 | 74 | 114 | 170 | 209 |
OP | 17 | 11 | 1 | 2 | 16 | 3 | 4 | 10 | 9 | 14 |
针对问题四:要求对所给药材的类别和产地进行鉴别,并完成表格。首先,读取附件四中的数据.使用Python绘制光谱图.并对附件四进行数据预处理,对于问题四数据使用一阶差分、二阶差分、随机森林(RF)和向量机模型算法(SVM)。对于处理后的数据进行模型训练,通过对比得到在模型中使用二阶差分效果最好。最终得到结果:
No | 94 | 109 | 140 | 278 | 308 | 330 | 347 |
Class | 1 | 1 | 1 | 3 | 3 | 3 | 3 |
OP | 5 | 3 | 1 | 1 | 3 | 4 | 11 |
关键字:中药材鉴别 红外光谱 一阶差分 二阶差分 机器学习
1.1 问题背景
不同种类的中药材在同一波段内的光谱特征差异明显,成为判断药材种类的重要依据。即便对于同一类型的中药材,不同产地的药材在同一波段下的光谱特征也会有所差异,这些差异源于药材中的无机元素和有机物质的不同含量。产地是中药材道地性的重要指标,但对于药材品质的鉴别,相较于种类而言,产地对光谱特征的影响较小。有些药材在近红外区的光谱区别更为明显,而有些药材则在中红外区有更明显的区别。因此,在实际应用中,我们常常需要综合利用近红外和中红外的光谱数据来进行综合鉴别,以提高对中药材产地鉴别的准确性。
1.2 问题提出
附件1至附件4是一些中药材的近红外或中红外光谱数据,其中No列为药材的编号,Class列为中药材的类别,OP列为该种药材的产地,其余各列第一行的数据为光谱的波数,第二行以后的数据表示该行编号的药材在对应波段光谱照射下的吸光度。
- 分析处理附件一中的中红外光谱数据,研究其中不同种类药材的特征和差异性,并且对药材的种类进行鉴别。
- 对附件二中给出的中红外光谱数据进行分析,分析不同产地药材的特征和差异性,并鉴别药材产地,给出表格中各编号药材的产地。
- 分析附件三中的近红外和中红外数据,鉴别药材的产地,并通过计算得出表格中不同种类药材的产地。
- 附件四给出了几种药材的近红外光谱数据,对其产地和种类进行鉴别,并完成相关表格。
二、问题分析
本文主要通过对不同中药材在近红外中红外光照下的不同光谱特征,对不同种类中药材的特征和差异性进行分析,并对中药材的产地和种类作出鉴别。
2.1 问题一的分析
问题一要求我们根据附件1中的几种药材的中红外和近红外光谱数据,分析不同种类的药材的特征和差异,并对药材的种类进行分析。首先读取数据,利用Python绘图,对附件1进行数据预处理,判断有无异常数据,由若有异常数据,则需进行数据清洗。其次,根据所给数据建立聚类模型,对中红外光谱数据进行筛选和分类,确定药材种类。最后,对不同种类的中药材数据进行特征提取和差异性分析。
2.2 问题二的分析
问题二中给出了某一种药材的红外光谱数据,我们首先读取这些数据,利用Python画图,对数据进行预处理,为了减小数据量,我们利用一阶差分、二阶差分等方法对数据进行处理,并对模型准确度进行评估,选择准确率最高的模型。在前一个模型建立的基础之上,二次建立模型,对模型准确率进行评估,选择最合适的模型,利用该模型对题中药材的产地进行鉴别,从而分析其特征和差异性。
2.3 问题三的分析
问题三同时给出了某种药材的近红外和中红外光谱数据,首先,我们分别读取该种药材近红外和中红外的数据,分别绘制其近红外光谱图和中红外光谱图。可利用一阶差分和二阶差分建立模型,而后对模型准确性进行评估。同时,考虑到有些药材在近红外区的区别比较明显,有些药材在中红外区的区别比较明显,我们将中红外区和近红外区的数据放在一起,扩充样本数量,此做法一般可以提高模型的准确度。其次,将分别读取数据和综合读取数据的两种模型的准确度进行对比,我们可以确定合适的数据选取方式。最后,利用相关数据和模型对表中药材产地进行鉴别。
2.4 问题四的分析
问题四给出了几种药材的近红外光谱数据.据题目要求,需鉴别药材的不同类别和产地,并以此分类并给绘图。读取数据并将其绘图,对于数据进行预处理。分别用一阶差分,二阶差为,随机森林(RF)、向量机(SVM),并且将多种模型的结果比较,从而选择预测率最高的模型,并将不同近红外光谱数据分组比较。
三、模型假设
- 假设题中所给数据准确无误,能够真实反映不同产地、不同种类中药材的光谱特征。
- 假设中药材的产地和种类不受其它外界因素的影响。
四、符号说明及名词定义
符号 | 说明 |
Sl | 第l个类簇的中心 |
xi | 第i个类簇中第l个对象 |
Datai | 理想光谱样本数据值 |
(xi,yi) | 训练数据 |
完整论文和代码加我QQ:2182472994