先从今年的国赛C题说起吧,第一次建模比赛还是很紧张的,和队友晚上五点就在等着啦
初步看一下三道题,作为知识储备不深的三位小白果断选择C题,数据分析题
国赛C题:先来看一下题
问题 1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析;结合玻 璃的类型,分析文物样品表面有无风化化学成分含量的统计规律,并根据风化点检测数据,预 测其风化前的化学成分含量。
我们的分析:
通过对58组玻璃文物表面风化情况与玻璃类型、纹饰和颜色之间进行相关性分析,同时采用卡方检验和fisher’s精确检验,详细分析了各类指标变量之间的相关关系,对比论证了分析结果的合理性;整理了各类玻璃不同风化情况下化学成分的数据,并绘制成化学含量分布直方图,通过对风化过程相关文献进行研究,选取主要指标变量(后续模型建立求解依旧沿用),并结合数据平均数和方差分析其统计规律;分析风化点检测数据,寻找风化过程中不变的参量,提出同一玻璃类型风化机理近似相同的假设,对各类玻璃化学成分含量这一数据进行散点图绘制,发现拟合曲线近似直线,针对风化前后同类玻璃的化学成分含量建立线性函数,利用最小二乘法计算出参数k,b,带入风化后的化学成分含量,得到观测值,对风化前含量进行预测。
解题过程:
3.1 基本假设
- 文物挖掘地点相互独立,文物彼此之间没有影响。
- 文物表面取样点随机,具有一定的代表性。
- 各个观测指标具有相互独立的观测性。
- 同种玻璃类型的风化机理近似相同。
- 除了题干中给到的无效数据筛选,其余统计数据均为有效数据。
利用SPSS软件算出pearson卡方与显著性检验指标p的数值结果,根据概率统计学假设检验知识可知,设定显著性检验标准为p0=0.05,将p与p0进行对比(小于P0可以认为有95%的可能性拒绝原假设——认为相关)。此外,设相关性强弱指标P1=|P-P0|P0 ,虽然P0是拒绝与接受原假设的分界标准,但是P1一定程度也可以反映相关性的强弱,即:当p<p0时,P1越小相关性越强;当p>p0时,P1越大,相关性越弱。随后通过卡方检验的结果,进一步对变量合理性进行分析,划分变量类型应用于fisher’s检验,同时对比卡方检验和fisher’s检验结果(检验标准与卡方检验一致,也为p0)得出更具有普遍意义的结论。(检验表略)
卡方基本公式:
针对铅钡玻璃,所给数据点显示了其经历未风化——风化——严重风化阶段:在这一阶段中,二氧化硅含量在逐渐减少,但是其风化过程的稳定性一直很差,说明二氧化硅在铅钡玻璃风化过程中,其受到环境影响而发生化学变化导致含量改变的可能性很高;对于氧化铅、氧化钡,考虑总体趋势,两者含量在逐渐增多,但稳定性在逐渐减弱,由此分析可能随着风化程度加深,其化学性质越来越不稳定,容易受到环境影响而产生频繁的化学反应;对于氧化钙,在风化阶段中,其含量也在小幅度缓慢增加,相对于其他化学成分比较,基本不参与整个风化过程(化学性质较为稳定,进行化学反应的机会很少)
我们发现不同类型的玻璃风化前后化学成分的含量不同,但是他们有一个相反的变化趋势,因此我们建立线性拟合的方法给出化学成分之间的函数关系,即通过类别的划分,我们可以计算出(预测)风化前的主要成分含量,最后我们给出该线性模型的检验结果,证明其合理可靠。(结果略)
·································································································································
问题 2 依据附件数据分析高钾玻璃、铅钡玻璃的分类规律;对于每个类别选择合适的化 学成分对其进行亚类划分,给出具体的划分方法及划分结果,并对分类结果的合理性和敏感性 进行分析。
我们的分析:
针对问题二,分析筛出无效数据后的66组文物取样点,建立k均值聚类模型,我们期望所得到与题目类似的模型分类结果,由题意可知,簇的数量k=2,利用欧式距离算法,算出中心簇,对所给数据进行划分,对比数据分析可知,发现所得到的分类结果与我们所期望的分类结果具有很高的近似度,根据数据的特征,给出相应的分类标准;考虑到数据的相关性,在亚类划分的过程中,我们结合了主成分分析和层次聚类模型,首先用层次聚类模型,同样用欧氏距离算法算出中心簇,给出分类结果,随后运用主成分分析,对14个化学成分变量指标进行降维分析,得到相似度极高的分类结论,同时对比两类分类结果给出分类依据,分析其合理性与敏感性。
解题过程:
本题需要依据数据分析铅钡玻璃、高钾玻璃的分布规律。因此考虑从聚类模型出发,期望得到符合我们分类要求的聚类结果,本题我们选取了K均值聚类算法,根据题目要求设定簇的数量为2,即k等于2,针对于计算与簇中心距离的方法,考虑采用欧氏距离算法,计算新的簇中心,最后得到两类聚类结果,根据所得两类数据,对照两类玻璃类型的数据进行分析检验,找出分类规律。
本题需要我们进一步对不同类型玻璃进行亚类划分,给出分类标准,分析其合理性和敏感性。根据题意,我们考虑到数据之间具有一定的相似性,因此首先想到了建立层次聚类分析模型,再由于考虑到样本容量大,变量多会导致不确定性的增肌,我们加入主成分(PCA)分析来对变量进行降维处理,和层次聚类结果进行对比。
k均值聚类模型的求解
- 确定聚类的个数本题根据题意,最终目标得到两类结果,因此确定k=2
- 给定聚类的数据集,有n个样本X={X1,X2,……Xn},每个样本都含有14个不同的化学成分作为变量Xij 0<i<n,(0<j<14) ,并将变量标准化
本题样本数据将通过Python的csv格式导入自定义数组,进行后续计算
- 随机初始化聚类中心,我们本题随机初始化2个聚类中心,{M1,M2}
- 本题我们距离计算采用欧式距离公式
- d=Xi0-Mt2+(Xi0-Mt)2+….(Xij-Mt)2
- 依次比较每一个样本到簇中心的距离,将样本划分到最近的簇中心
- 根据计算新簇的均值与当前向量对比,确定新的簇中心,确定类别的划分,给出理想的距离簇中心的欧式距离的范围
Python结果和SPSS结果均最后附上;
最终聚类中心 | ||
聚类 | ||
1 | 2 | |
Zscore: 二氧化硅(SiO2) | -0.46412 | 1.07920 |
Zscore: 氧化钾(K2O) | -0.24464 | 0.50405 |
Zscore: 氧化钡(BaO) | 0.13889 | -0.47138 |
Zscore: 氧化铅(PbO) | 0.50659 | -1.21365 |
Zscore: 氧化钠(Na2O) | -0.41877 | 1.27048 |
层次聚类模型的求解
- 相似于k均值聚类,确定聚类的个数,考虑到样本数量大,可分类的变量众多,为了得到相似性的分类结果,我们本题采用k=3
- 给定聚类的数据集,有n个样本X={X1,X2,……Xn},每个样本都含有14个不同的化学成分作为变量Xij 0<i<n,(0<j<14) ,并将变量标准化
本题样本数据将通过Python的csv格式导入自定义数组,进行后续计算
- 随机初始化聚类中心
- 不同于k均值聚类,我们发现使用欧式距离的聚类效果差别太大,对于样本大的铅钡玻璃,我们采用平均值距离,高钾玻璃仍采用欧式距离
- 依次比较每一个样本到簇中心的距离,将样本划分到最近的簇中心
- 输出类别的划分
主成分分析的求解
- 首先我们导入数据集,本题样本数据将通过Python的csv格式导入自定义数组,进行后续计算
- 对数据进行去中心化和归一化处理
- 计算协方差矩阵,得特征值和特征向量,进而确定主成分
- 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P(保留最大的k各特征向量),给出k值选取检验的可视化分析
- 降维到K维后的数据
结果的合理性和敏感性分析
- 高钾玻璃和铅钡玻璃的分类结果利用SPSS准确率100%,利用Python还是有偏差,因此我们认为该部分Python算法有待改进,大致结果相似,证明两种玻璃类型差异显著,结果具有敏感性和合理性
- 对两种玻璃进行亚类分析的结果层次分析和PCA具有高度的相似性,反映了该模型的准确性和合理性
...............(见二啦)
·································································································································