學(xué)建模競賽中成分?jǐn)?shù)據(jù)分析:從對(duì)數(shù)比變換到聚類與關(guān)聯(lián)規(guī)律挖掘)
1. 賽題回顧與核心挑戰(zhàn)解析2022年的高教社杯全國大學(xué)生數(shù)學(xué)建模競賽C題題目是“古代玻璃制品的成分分析與鑒別”。這個(gè)題目一出來當(dāng)時(shí)就在我們參賽圈子里引起了不小的討論。它不像傳統(tǒng)的優(yōu)化或預(yù)測題那樣有明確的數(shù)學(xué)模型可以套用而是將我們直接扔進(jìn)了一個(gè)交叉學(xué)科的深水區(qū)——材料科學(xué)、化學(xué)、考古學(xué)和數(shù)據(jù)分析的交叉點(diǎn)。題目提供了古代玻璃文物如玻璃珠、玻璃器等的化學(xué)成分檢測數(shù)據(jù)要求我們根據(jù)成分分析其風(fēng)化情況、對(duì)文物進(jìn)行分類并探究不同類別玻璃文物間的化學(xué)成分關(guān)聯(lián)規(guī)律。說白了就是給你一堆“破玻璃”的化學(xué)元素含量數(shù)據(jù)讓你當(dāng)一回“文物偵探”和“材料分析師”。這道題的核心挑戰(zhàn)非常明確。第一是數(shù)據(jù)特性復(fù)雜。給的數(shù)據(jù)是成分百分比屬于典型的“成分?jǐn)?shù)據(jù)”。這類數(shù)據(jù)有一個(gè)天生的枷鎖所有變量的和是一個(gè)常數(shù)通常是100%或1。這導(dǎo)致了變量之間存在“閉合效應(yīng)”即一個(gè)成分的增加必然導(dǎo)致其他一個(gè)或多個(gè)成分的減少變量間存在天然的負(fù)相關(guān)直接使用傳統(tǒng)的統(tǒng)計(jì)方法如相關(guān)性分析、回歸會(huì)得出扭曲甚至錯(cuò)誤的結(jié)論。第二是問題背景專業(yè)。你需要理解“風(fēng)化”在化學(xué)上意味著什么通常是鉀、鈣等易溶元素的流失硅等穩(wěn)定元素的相對(duì)富集要知道“高鉀玻璃”和“鉛鋇玻璃”這種考古學(xué)分類的依據(jù)和意義。第三是任務(wù)目標(biāo)多元。它不是一個(gè)單一問題而是一個(gè)問題鏈從風(fēng)化識(shí)別到分類預(yù)測再到關(guān)聯(lián)規(guī)律挖掘環(huán)環(huán)相扣前一步的結(jié)果往往是后一步的輸入對(duì)建模的邏輯連貫性要求極高。面對(duì)這樣的題目很多隊(duì)伍容易陷入兩個(gè)極端要么被復(fù)雜的化學(xué)名詞嚇住只做簡單的描述性統(tǒng)計(jì)和圖表要么盲目套用高級(jí)的機(jī)器學(xué)習(xí)算法卻對(duì)數(shù)據(jù)的基本假設(shè)和業(yè)務(wù)背景視而不見結(jié)果就是模型解釋性差結(jié)論牽強(qiáng)。成功的思路恰恰在于找到數(shù)學(xué)工具與實(shí)際問題背景之間那個(gè)精妙的平衡點(diǎn)。2. 數(shù)據(jù)預(yù)處理破解“成分?jǐn)?shù)據(jù)”的密碼拿到數(shù)據(jù)后的第一步不是急著跑模型而是靜下心來做好數(shù)據(jù)預(yù)處理這一步直接決定了后續(xù)所有分析的可靠性。對(duì)于本題的數(shù)據(jù)預(yù)處理的核心就是處理“成分?jǐn)?shù)據(jù)”。2.1 成分?jǐn)?shù)據(jù)的變換與“解閉包”直接使用原始的百分比數(shù)據(jù)進(jìn)行計(jì)算是危險(xiǎn)的。比如你想用K2O氧化鉀和SiO2氧化硅的含量做線性回歸來分析它們的關(guān)系但由于總和固定即使它們本身沒有關(guān)系在計(jì)算上也會(huì)呈現(xiàn)出一種虛假的負(fù)相關(guān)趨勢。因此必須進(jìn)行數(shù)據(jù)變換打破這個(gè)“閉合約束”。最常用且有效的方法是對(duì)數(shù)比變換。其思想是我們不直接研究某個(gè)成分的絕對(duì)含量而是研究它相對(duì)于一個(gè)“基準(zhǔn)”成分的相對(duì)比例。常用的有加性對(duì)數(shù)比變換選取一個(gè)成分作為分母通常是含量最大或最穩(wěn)定的成分如本題中的SiO2然后對(duì)其他每個(gè)成分計(jì)算ln(成分_i / 成分_分母)。變換后的數(shù)據(jù)不再有和約束可以放心使用常規(guī)統(tǒng)計(jì)方法。中心對(duì)數(shù)比變換這是更優(yōu)雅的一種方法。對(duì)每個(gè)樣本先計(jì)算所有成分的幾何平均數(shù)g(x)然后對(duì)每個(gè)成分計(jì)算ln(成分_i / g(x))。CLR變換能更好地保持?jǐn)?shù)據(jù)的對(duì)稱性且變換后的數(shù)據(jù)各成分之和為零。注意在進(jìn)行任何對(duì)數(shù)變換前必須檢查并處理零值。成分?jǐn)?shù)據(jù)中經(jīng)常有“未檢出”或含量極低導(dǎo)致的0。直接取對(duì)數(shù)會(huì)得到負(fù)無窮。常見的處理方法是采用一種稱為“零值替換”的技術(shù)比如用檢測限的一半替換零值或者使用更專業(yè)的基于期望最大化的方法進(jìn)行估算。2.2 風(fēng)化指標(biāo)的量化與定義題目要求分析風(fēng)化點(diǎn)與未風(fēng)化點(diǎn)在成分上的差異并預(yù)測風(fēng)化程度。這里的關(guān)鍵是如何量化“風(fēng)化程度”。一個(gè)直觀但有效的思路是構(gòu)建一個(gè)“風(fēng)化指數(shù)”。我們可以從化學(xué)知識(shí)出發(fā)風(fēng)化通常導(dǎo)致堿金屬K、Na和堿土金屬Ca等易溶元素流失而Si、Al等穩(wěn)定元素相對(duì)富集。因此可以定義如下的風(fēng)化指數(shù)風(fēng)化指數(shù) (SiO2 Al2O3) / (K2O Na2O CaO)這個(gè)比值越大說明穩(wěn)定成分相對(duì)易溶成分越多風(fēng)化可能越嚴(yán)重。當(dāng)然這個(gè)指數(shù)是線性的簡化。更精細(xì)的做法可以是使用主成分分析從所有成分中提取出一個(gè)最能區(qū)分風(fēng)化與未風(fēng)化樣本的主成分將其得分作為連續(xù)的風(fēng)化程度指標(biāo)。在定義了風(fēng)化指標(biāo)后我們可以將樣本明確分為“風(fēng)化”與“未風(fēng)化”兩組用于分類任務(wù)或者將風(fēng)化指標(biāo)作為連續(xù)變量用于回歸或排序任務(wù)。這一步是將定性的考古學(xué)描述轉(zhuǎn)化為定量數(shù)學(xué)模型的關(guān)鍵橋梁。3. 核心任務(wù)一風(fēng)化狀態(tài)的判別分析有了預(yù)處理好的數(shù)據(jù)和定義好的目標(biāo)變量第一個(gè)建模任務(wù)就是建立風(fēng)化狀態(tài)的判別模型。這里的目標(biāo)是根據(jù)化學(xué)成分判斷一個(gè)未知的玻璃文物樣本是風(fēng)化的還是未風(fēng)化的。3.1 模型選型與邏輯這是一個(gè)典型的二分類問題??晒┻x擇的模型很多邏輯回歸經(jīng)典、解釋性強(qiáng)。我們可以將CLR變換后的數(shù)據(jù)作為特征風(fēng)化狀態(tài)0/1作為標(biāo)簽建立邏輯回歸模型。模型的系數(shù)可以直接解釋為“在其他成分不變的情況下某一成分的對(duì)數(shù)比增加一個(gè)單位其屬于風(fēng)化組的幾率比Odds的變化倍數(shù)”。這對(duì)于考古學(xué)家理解風(fēng)化機(jī)理非常有幫助。線性判別分析/二次判別分析LDA/QDA假設(shè)數(shù)據(jù)服從高斯分布尋找一個(gè)線性或二次邊界使得兩類樣本盡可能分開。在成分?jǐn)?shù)據(jù)經(jīng)過適當(dāng)變換后LDA往往能取得不錯(cuò)的效果且能給出每個(gè)特征對(duì)判別的貢獻(xiàn)度。支持向量機(jī)如果兩類樣本在特征空間中不是線性可分的可以使用帶核函數(shù)如RBF核的SVM。它的優(yōu)勢在于對(duì)復(fù)雜的邊界有較好的擬合能力但模型是“黑箱”解釋性較差。決策樹與隨機(jī)森林樹模型對(duì)數(shù)據(jù)的分布沒有要求能自動(dòng)處理特征間的交互作用。隨機(jī)森林通過集成多棵樹能有效防止過擬合并且能給出特征重要性排序告訴我們哪些化學(xué)成分對(duì)判斷風(fēng)化最關(guān)鍵。在實(shí)際參賽中我推薦采用“邏輯回歸/LDA 隨機(jī)森林”的組合策略。邏輯回歸或LDA用于提供一份可解釋的、符合統(tǒng)計(jì)規(guī)范的“主報(bào)告”其結(jié)論嚴(yán)謹(jǐn)易于被評(píng)委接受。隨機(jī)森林則作為“驗(yàn)證器”和“探索工具”用它來驗(yàn)證線性模型的判別效果是否穩(wěn)定同時(shí)通過特征重要性來交叉驗(yàn)證我們基于化學(xué)知識(shí)做出的假設(shè)比如是否真的是K、Na、Ca最重要。如果兩者結(jié)論一致那么你的分析就非常扎實(shí)。3.2 模型評(píng)估與結(jié)果呈現(xiàn)切勿只用一個(gè)準(zhǔn)確率就打發(fā)掉模型評(píng)估。對(duì)于分類問題尤其是在兩類樣本可能不平衡的情況下要綜合看混淆矩陣、準(zhǔn)確率、精確率、召回率、F1-score和ROC曲線下的AUC值。例如你可能發(fā)現(xiàn)模型對(duì)“未風(fēng)化”樣本的召回率很高但對(duì)“風(fēng)化”樣本的識(shí)別率較低。這背后可能的原因是數(shù)據(jù)中“風(fēng)化”樣本的化學(xué)模式更多樣、更不典型。這時(shí)就需要在論文中坦誠分析這一點(diǎn)并提出可能的原因比如風(fēng)化程度不同、埋藏環(huán)境差異等。將模型結(jié)果與化學(xué)、考古學(xué)背景結(jié)合討論是論文脫穎而出的關(guān)鍵。呈現(xiàn)結(jié)果時(shí)除了給出模型性能指標(biāo)一定要可視化。比如繪制LDA的判別邊界投影圖用散點(diǎn)圖展示樣本在判別函數(shù)上的得分分布用柱狀圖展示隨機(jī)森林的特征重要性。一張好的圖勝過千言萬語。4. 核心任務(wù)二玻璃類型的亞類劃分題目要求對(duì)高鉀玻璃和鉛鋇玻璃這兩大類再分別進(jìn)行亞類劃分。這本質(zhì)上是一個(gè)無監(jiān)督學(xué)習(xí)的聚類問題。我們的目標(biāo)是在沒有先驗(yàn)標(biāo)簽的情況下發(fā)現(xiàn)數(shù)據(jù)內(nèi)部潛在的結(jié)構(gòu)。4.1 聚類方法的選擇與實(shí)戰(zhàn)首先必須將高鉀玻璃和鉛鋇玻璃的數(shù)據(jù)分開處理因?yàn)樗鼈兊某煞煮w系有根本差異一個(gè)以鉀為主一個(gè)以鉛、鋇為主混在一起聚類沒有物理意義。對(duì)于每一類玻璃的數(shù)據(jù)同樣使用CLR變換后的數(shù)據(jù)可以嘗試以下聚類方法K-means聚類最常用但需要預(yù)先指定聚類數(shù)K且對(duì)異常值敏感。關(guān)鍵在于如何確定最佳的K值。不能只靠“手肘法”看圖要結(jié)合多種指標(biāo)輪廓系數(shù)、Calinski-Harabasz指數(shù)、Davies-Bouldin指數(shù)等。通常我會(huì)同時(shí)計(jì)算這些指標(biāo)選擇一個(gè)它們都相對(duì)認(rèn)可的范圍再結(jié)合業(yè)務(wù)解釋性最終確定K。層次聚類特別適合本題因?yàn)樗臉錉顖D譜系圖能非常直觀地展示樣本是如何一步步被歸并的有助于我們理解不同亞類之間的“親疏關(guān)系”。你可以從樹狀圖的某個(gè)高度“切割”來得到指定數(shù)量的類也可以觀察自然的合并距離跳躍點(diǎn)來建議分類數(shù)。DBSCAN基于密度的聚類優(yōu)點(diǎn)是不需要指定類別數(shù)能發(fā)現(xiàn)任意形狀的簇并能識(shí)別噪聲點(diǎn)。在本題中可以嘗試用DBSCAN來探索是否存在一些成分特異的“離群”樣本它們可能代表了某種特殊的工藝或來源。一個(gè)高級(jí)技巧是進(jìn)行“集成聚類”分別用K-means嘗試不同的K、層次聚類、DBSCAN等方法得到多個(gè)聚類結(jié)果然后通過“共識(shí)聚類”的方法尋找一個(gè)穩(wěn)定的、被多數(shù)方法共同支持的分劃。這樣得到的結(jié)果魯棒性更強(qiáng)。4.2 聚類結(jié)果的解釋與驗(yàn)證聚類出3個(gè)或4個(gè)亞類不是終點(diǎn)甚至不是重點(diǎn)。重點(diǎn)是這些亞類有什么化學(xué)意義對(duì)應(yīng)了什么樣的考古學(xué)類型或工藝你需要深入分析每個(gè)亞類的“成分剖面圖”。計(jì)算每個(gè)亞類內(nèi)部各化學(xué)成分的平均含量可以回溯到原始百分比用雷達(dá)圖或堆疊柱狀圖畫出來。對(duì)比不同亞類回答這些問題亞類A是否以高鋁為特征亞類B是否鉛鋇比例特殊亞類C是否含有其他玻璃類型中罕見的微量元素將這些化學(xué)特征與考古學(xué)知識(shí)關(guān)聯(lián)。例如在鉛鋇玻璃中是否可以根據(jù)PbO/BaO的比值劃分出“高鉛型”和“鉛鋇平衡型”這很可能反映了不同的原料配方或產(chǎn)地來源。你的論文價(jià)值就在于用數(shù)據(jù)驅(qū)動(dòng)的方法證實(shí)或揭示了考古學(xué)家憑經(jīng)驗(yàn)感知到的這些分類。5. 核心任務(wù)三化學(xué)成分關(guān)聯(lián)規(guī)律挖掘這是題目中最具探索性的一部分要求分析不同類別玻璃文物化學(xué)成分之間的關(guān)聯(lián)關(guān)系。這里的“關(guān)聯(lián)”可以有多層次的理解。5.1 同類玻璃內(nèi)部的成分關(guān)聯(lián)對(duì)于高鉀玻璃或鉛鋇玻璃內(nèi)部我們可以分析其化學(xué)成分之間的相關(guān)關(guān)系。但再次強(qiáng)調(diào)必須使用CLR變換后的數(shù)據(jù)來計(jì)算皮爾遜相關(guān)系數(shù)矩陣否則相關(guān)性是失真的。計(jì)算出相關(guān)系數(shù)矩陣后可以繪制熱力圖。從熱力圖中你可以發(fā)現(xiàn)一些有趣的模式例如在高鉀玻璃中K2O和CaO是否呈現(xiàn)穩(wěn)定的負(fù)相關(guān)這可能暗示它們?cè)谂浞交蝻L(fēng)化過程中存在此消彼長的關(guān)系。在鉛鋇玻璃中PbO和SiO2的關(guān)系是怎樣的更進(jìn)一步可以建立稀疏偏最小二乘回歸或正則化回歸模型來預(yù)測其中某個(gè)關(guān)鍵成分如SiO2的含量。通過觀察哪些變量被選入模型以及它們的系數(shù)正負(fù)可以推斷出在控制其他成分影響后該成分與哪些成分有最直接的“關(guān)聯(lián)”。這種方法比簡單的兩兩相關(guān)更能揭示復(fù)雜的多變量關(guān)系。5.2 不同類玻璃之間的關(guān)聯(lián)模式比較這是本題的升華點(diǎn)。我們不能孤立地分析高鉀玻璃和鉛鋇玻璃而要對(duì)比它們。關(guān)聯(lián)結(jié)構(gòu)的對(duì)比分別繪制高鉀玻璃和鉛鋇玻璃的相關(guān)系數(shù)熱力圖將它們并排對(duì)比。你可能會(huì)發(fā)現(xiàn)在兩種玻璃中SiO2和Al2O3都表現(xiàn)出強(qiáng)正相關(guān)這可能是玻璃形成網(wǎng)絡(luò)的普遍規(guī)律。而K2O和Na2O的關(guān)系在兩類玻璃中可能截然不同這反映了它們基礎(chǔ)配方的根本差異??刂谱兞康乃枷肟梢砸搿安Aь愋汀弊鳛橐粋€(gè)啞變量建立一個(gè)包含所有樣本的回歸模型來預(yù)測某個(gè)成分如CaO。模型形式可以是CaO ~ SiO2 Al2O3 ... 玻璃類型 玻璃類型*SiO2交互項(xiàng)。如果“玻璃類型”這個(gè)變量的系數(shù)顯著或者交互項(xiàng)顯著就說明在控制了其他成分的影響后玻璃類型本身對(duì)CaO含量有額外影響或者某種成分如SiO2對(duì)CaO的影響方式在兩類玻璃中是不同的。這就在統(tǒng)計(jì)上嚴(yán)格證明了兩類玻璃的關(guān)聯(lián)規(guī)律存在差異。5.3 可視化與故事講述將關(guān)聯(lián)規(guī)律用故事講出來。例如“我們的分析表明古代玻璃工匠在制作高鉀玻璃時(shí)似乎將K2O和CaO視為一對(duì)可以相互調(diào)節(jié)的‘助熔劑’此消彼長而在鉛鋇玻璃體系中PbO的含量則相對(duì)獨(dú)立與網(wǎng)絡(luò)形成體SiO2的含量關(guān)聯(lián)較弱這可能暗示鉛的加入更多是出于對(duì)玻璃外觀如透明度、色澤的追求而非結(jié)構(gòu)性需求?!?這樣的結(jié)論將冷冰冰的相關(guān)系數(shù)變成了有血有肉的技術(shù)史解讀。6. 建模全流程中的關(guān)鍵陷阱與應(yīng)對(duì)策略回顧整個(gè)解題過程有幾個(gè)坑幾乎每個(gè)隊(duì)伍都會(huì)遇到處理得好壞直接決定論文檔次。陷阱一忽視成分?jǐn)?shù)據(jù)特性直接套用模型。這是最致命的錯(cuò)誤。應(yīng)對(duì)策略就是嚴(yán)格進(jìn)行CLR或ALR變換并在論文中專門用一小節(jié)論證你這樣做的必要性和正確性引用統(tǒng)計(jì)學(xué)中成分?jǐn)?shù)據(jù)分析的文獻(xiàn)這能極大提升論文的理論深度。陷阱二聚類分析追求復(fù)雜算法忽視解釋。用了高斯混合模型、譜聚類等高級(jí)方法但最后說不清每個(gè)類代表什么。應(yīng)對(duì)策略是方法求穩(wěn)K-means、層次聚類足矣精力放在解釋上。用多種可視化剖面圖、散點(diǎn)圖刻畫類別特征并大膽地、有依據(jù)地給出考古學(xué)解釋。陷阱三關(guān)聯(lián)分析停留在表面相關(guān)。只給出了兩張相關(guān)系數(shù)熱力圖說“它們不一樣”。應(yīng)對(duì)策略是深入一層做對(duì)比分析引入統(tǒng)計(jì)檢驗(yàn)如比較兩組相關(guān)系數(shù)的差異是否顯著或者像前面提到的用帶交互項(xiàng)的回歸模型進(jìn)行更嚴(yán)謹(jǐn)?shù)耐茢?。陷阱四論文寫成流水賬。“第一步第二步第三步……”。應(yīng)對(duì)策略是采用“問題驅(qū)動(dòng)”的寫作結(jié)構(gòu)。每一小節(jié)開頭先明確提出本部分要解決賽題中的哪個(gè)問題Q1, Q2, Q3。然后寫“為了解決這個(gè)問題我們首先……這是因?yàn)椤薄T诔尸F(xiàn)結(jié)果后緊接著寫“這一結(jié)果表明……從化學(xué)角度可以解釋為……”。讓整篇論文形成一個(gè)“問題-方法-結(jié)果-討論”的緊密閉環(huán)。最后數(shù)學(xué)建模競賽從來不是純數(shù)學(xué)比賽而是解決實(shí)際問題的綜合能力比拼。2022年C題的精髓就在于迫使你跳出數(shù)學(xué)的舒適區(qū)去理解數(shù)據(jù)背后的物理化學(xué)約束去構(gòu)建連接數(shù)據(jù)與領(lǐng)域知識(shí)的橋梁。最優(yōu)秀的論文一定是那些用最恰當(dāng)?shù)臄?shù)學(xué)工具講出了一個(gè)最符合化學(xué)和考古學(xué)邏輯的、清晰且自洽的故事的論文。