
分析师:Yizhou Huang

古代玻璃是解读丝绸之路中外文化交流的关键实物证据,不同时期的玻璃在成分体系、制作工艺上存在显著差异。但古代玻璃易受环境影响发生风化,导致内部化学成分比例改变,这给玻璃类型的准确鉴别带来了极大挑战——外观相似的玻璃可能属于不同类别,而风化后的成分变化更会干扰判断。 本文将以“数据解决实际问题”为核心,先梳理古代玻璃分析的核心需求,再通过卡方检验、相关性分析、K-means聚类等方法,逐步解决“风化关联分析”“类型划分”“未知玻璃鉴别”“成分差异对比”四大问题,最终形成一套可复用的文物成分数据分析框架。


本次分析基于三组古代玻璃数据:
为确保分析聚焦核心问题,我们基于实际业务场景设定以下合理假设:
符号 | 符号说明 | 应用场景 |
|---|---|---|
K | 聚类分析的分类数 | K-means亚分类时,通过肘部法确定最佳K值 |
P | 皮尔逊卡方值 | 卡方检验中,用于判断变量间关联性(P<0.05为显著相关) |
我们先通过卡方检验判断“风化”与“类型/纹饰/颜色”这三个定类变量的关联性,再用数据可视化验证细节。 分析步骤:



为更直观观察关联,我们用Excel绘制柱形图: 下图为类型与风化的关联柱形图,清晰呈现高钾玻璃未风化占比高、铅钡玻璃风化占比高的特征。

下图为纹饰与风化的关联柱形图,整体无明显规律,但可观察到纹饰B的玻璃均风化。

下图为颜色与风化的关联柱形图,整体无明显规律,但黑色玻璃均风化、绿色与深蓝色玻璃均未风化。

基于单变量分析的局限性,我们尝试“变量组合”分析,对“类型+纹饰”“纹饰+颜色”“类型+颜色”重新做卡方检验:



下图为“类型+纹饰”组合与风化的关联柱形图,可明确:(高钾,纹饰A)、(高钾,纹饰C)均未风化,(高钾,纹饰B)均风化,(铅钡,纹饰A/C)大部分风化。

相关文章

全文链接:https://tecdat.cn/?p=39864
我们先删除表单2中“成分和不在85%-105%”的无效数据(第15、17组),再按“高钾/铅钡”“风化/未风化”分为4组,用SPSS做双变量相关性分析,挖掘成分间的关联规律。 核心结论:
我们按“类型+风化状态”将样本分为4类(高钾风化、高钾未风化、铅钡风化、铅钡未风化),先计算每类样本各成分的均值与方差,确定成分分布范围;再用K近邻回归(K=5),以“风化后成分”为输入,“同类未风化成分均值”为参考,预测风化前的成分含量。 部分预测结果:
文物编号 | 类型 | 表面风化 | 二氧化硅(SiO₂)实测值 | 二氧化硅预测值 | 氧化钡(BaO)实测值 | 氧化钡预测值 | 氧化铅(PbO)实测值 | 氧化铅预测值 |
|---|---|---|---|---|---|---|---|---|
49 | 铅钡 | 风化 | 28.79 | 28.998 | 9.23 | 9.324 | - | - |
7 | 高钾 | 风化 | 92.63 | 88.156 | 0 | 0 | 0 | 0 |
51 | 铅钡 | 风化 | 24.61 | 30.454 | 10.47 | 8.778 | 40.24 | 44.082 |
8 | 铅钡 | 风化 | 20.14 | 35.774 | - | - | - | - |
13 | 高钾 | 未风化 | 59.01 | 68.128 | 0 | 0 | 0 | 0.2 |
关键发现:高钾玻璃风化后SiO₂含量升高(平均超93%),其他成分含量下降;铅钡玻璃风化后SiO₂减少37.1%,PbO增加56.27%。
我们用表单1-2的有效数据(67个采样点,删除第15、17组无效数据)训练决策树模型,通过SPSSPRO输出特征重要性与分类规则。 核心结论:氧化铅(PbO)是最关键的分类指标——当PbO含量<5.46时,判定为高钾玻璃;当PbO含量≥5.46时,判定为铅钡玻璃,模型训练集与测试集准确率均为100%。 下图为包含PbO特征的决策树判定图,可直接通过PbO含量划分类型:

若剔除PbO特征,决策树显示氧化钡(BaO)为首要特征(重要性69.8%),其次是二氧化硫(SO₂,21.2%)、氧化铝(Al₂O₃,9.1%),分类准确率仍为100%。 下图为无PbO特征的决策树判定图,展示多特征协同分类逻辑:

我们先通过“肘部法”确定最佳聚类数K,再用K-means对两类玻璃分别做亚分类(基于14项化学成分,用Matlab实现)。 肘部法确定K值:
clc;clear;A = importdata('gaojia.txt');data=mapminmax(A,0,1);[n,p]=size(data);K=10;D=zeros(K,2);for k=2:K[lable,c,sumd,d]=kmeans(data,k,'dist','sqeuclidean');sse1 = sum(sumd.^2);D(k,1) = k;D(k,2) = sse1;endplot(D(2:end,1),D(2:end,2))hold on;plot(D(2:end,1),D(2:end,2),'or');title('不同K值聚类偏差图') xlabel('分类数(K值)') ylabel('簇内误差平方和') 

K-means亚分类结果:
相关视频
https://www.bilibili.com/video/BV1CTg3zCEAm/

https://www.bilibili.com/video/BV1CTg3zCEAm/
我们以表单1-2的67个采样点为训练集(按“风化/未风化”分层抽样,训练集占80%),表单3的8个未知样本为测试集,用SPSSPRO构建随机森林模型(决策树数量=100),鉴别未知玻璃类型。 模型流程与特征重要性: 下图为随机森林模型建立流程图,展示“数据分层→特征筛选→模型训练→预测验证”的完整逻辑:

下图为各化学成分的特征重要性排序,PbO、BaO、SiO₂为Top3重要特征,与问题2的决策树结论一致:

预测结果与验证:
文物编号 | 表面风化 | 预测类型 | 高钾概率 | 铅钡概率 | 亚分类匹配(参考问题2) |
|---|---|---|---|---|---|
A1 | 无风化 | 高钾 | 0.833 | 0.166 | 匹配高钾聚点2(中硅中钾) |
A2 | 风化 | 铅钡 | 0.240 | 0.760 | 匹配铅钡聚点1(低硅高铅) |
A3 | 无风化 | 铅钡 | 0.150 | 0.850 | 匹配铅钡聚点1(低硅高铅) |
A4 | 无风化 | 铅钡 | 0.130 | 0.868 | 匹配铅钡聚点1(低硅高铅) |
A5 | 风化 | 铅钡 | 0.234 | 0.765 | 匹配铅钡聚点3(高硅低铅) |
A6 | 风化 | 高钾 | 0.959 | 0.040 | 匹配高钾聚点1(高硅低钾) |
A7 | 风化 | 高钾 | 0.920 | 0.070 | 匹配高钾聚点1(高硅低钾) |
A8 | 无风化 | 铅钡 | 0.014 | 0.985 | 匹配铅钡聚点2(低硅高钡) |
敏感性分析:对测试集成分含量调整5%后重新预测,仅A5的铅钡概率从0.765降至0.682,仍判定为铅钡玻璃,其他样本预测结果无变化,说明模型稳定性强。
由于部分成分数据不符合正态分布,我们用斯皮尔曼相关性分析(非参数检验),通过SPSSPRO输出热力图,直观展示类内成分关联: 下图为高钾玻璃成分相关性热力图,红色表示正相关、蓝色表示负相关,颜色越深相关性越强。可观察到Fe₂O₃与MgO(0.70)、Fe₂O₃与Al₂O₃(0.68)呈强正相关:

下图为铅钡玻璃成分相关性热力图,可观察到MgO与Al₂O₃(0.67)、PbO与BaO(0.65)呈强正相关:

核心结论:
我们用Mann-Whitney检验(非参数检验)对比高钾与铅钡玻璃的成分差异,显著性水平设为0.05(P<0.05为差异显著)。 部分差异结果:
化学成分 | 高钾玻璃(样本量18) | 铅钡玻璃(样本量49) | P值 | 差异结论 | ||
|---|---|---|---|---|---|---|
中位数 | 标准差 | 中位数 | 标准差 | |||
二氧化硅(SiO₂) | 73.005 | 14.467 | 35.780 | 18.646 | 0.001 | 高钾显著高于铅钡 |
氧化钾(K₂O) | 7.525 | 5.308 | 0.000 | 0.276 | 0.000 | 高钾显著高于铅钡 |
氧化铁(Fe₂O₃) | 0.460 | 1.566 | 0.230 | 0.948 | 0.032 | 高钾显著高于铅钡 |
氧化铅(PbO) | 0.000 | 0.514 | 31.900 | 14.947 | 0.000 | 铅钡显著高于高钾 |
氧化钡(BaO) | 0.000 | 0.842 | 8.940 | 8.331 | 0.000 | 铅钡显著高于高钾 |
氧化锶(SrO) | 0.000 | 0.044 | 0.310 | 0.264 | 0.000 | 铅钡显著高于高钾 |
关键发现:两类玻璃的核心差异体现在“助熔剂成分”——高钾玻璃以K₂O为主要助熔剂,铅钡玻璃以PbO、BaO为主要助熔剂,这与古代不同地区的冶炼技术差异高度相关。
我们深知学生在代码运行中常遇“报错调试难、查重怕重复、结果有漏洞”的问题,因此提供专项应急服务:
本文以古代玻璃成分数据为核心,通过“问题拆解→数据预处理→多模型分析→结论验证”的逻辑,系统解决了考古中玻璃鉴别与风化分析的四大实际问题。所有方法均经过业务验证,代码可直接复用,结论与古代冶炼工艺、丝绸之路文化交流背景高度契合。 若需获取完整代码、数据或进群交流,可通过原文链接加入社群,享受人工答疑与24小时代码调试服务,与600+行业人士共同成长,真正实现“既懂怎么做,也懂为什么这么做”。

在此对 Yizhou Huang 对本文所作的贡献表示诚挚感谢,他毕业于数学与应用数学专业。擅长 Python、Matlab、数据分析 。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。