學(xué)建模實戰(zhàn)應(yīng)用)
1. 從“分類”到“聚類”為什么數(shù)學(xué)建模中它如此重要在數(shù)學(xué)建模競賽里我們經(jīng)常遇到這樣的場景拿到一堆數(shù)據(jù)比如幾百個城市的經(jīng)濟(jì)發(fā)展指標(biāo)、幾千個用戶的消費(fèi)行為記錄或者一堆衛(wèi)星遙感圖像中的像素點(diǎn)。我們一眼看去數(shù)據(jù)雜亂無章但隱約感覺它們內(nèi)部應(yīng)該存在某種“抱團(tuán)”現(xiàn)象。這時候一個核心問題就來了我們能不能讓數(shù)據(jù)自己“說話”告訴我們它們內(nèi)部有哪些自然的“小團(tuán)體”這就是聚類模型要解決的核心問題。很多人會把“聚類”和“分類”搞混。簡單來說分類是“有老師教”的。比如我們有一堆已經(jīng)標(biāo)記好“貓”和“狗”的圖片讓模型去學(xué)習(xí)然后它才能判斷新圖片是貓還是狗。而聚類是“無老師自學(xué)”的。我們只給模型一堆沒有標(biāo)簽的數(shù)據(jù)告訴它“你自己看看這些數(shù)據(jù)能分成幾堆” 模型的任務(wù)就是找出數(shù)據(jù)內(nèi)在的結(jié)構(gòu)把相似的對象歸到同一個組簇里讓組內(nèi)的對象盡可能相似組間的對象盡可能不同。為什么在數(shù)學(xué)建模中聚類模型幾乎是“萬金油”般的存在因為它解決的是最根本的“認(rèn)知”問題。在競賽有限的時間里面對一個全新的、復(fù)雜的問題第一步往往不是建立復(fù)雜的預(yù)測方程而是先“認(rèn)識”你的數(shù)據(jù)。通過聚類你可以快速發(fā)現(xiàn)數(shù)據(jù)中的潛在模式、異常點(diǎn)、或者不同的子群體。例如在2024年高教社杯B題關(guān)于農(nóng)業(yè)生產(chǎn)中你可能需要對不同縣域的農(nóng)業(yè)資源進(jìn)行聚類以識別出資源稟賦相似的區(qū)域從而制定差異化的政策。在用戶行為分析題中聚類可以幫助你將用戶劃分為“高價值活躍用戶”、“低頻嘗試用戶”、“流失風(fēng)險用戶”等不同群體為后續(xù)的精準(zhǔn)策略提供依據(jù)。可以說聚類是數(shù)據(jù)分析的“望遠(yuǎn)鏡”和“顯微鏡”。它既能幫你俯瞰全局把握數(shù)據(jù)的宏觀結(jié)構(gòu)又能幫你聚焦細(xì)節(jié)發(fā)現(xiàn)那些隱藏在角落里的特殊模式。掌握了聚類就等于為你的數(shù)學(xué)建模工具箱增加了一件強(qiáng)大且通用的武器。2. 核心原理拆解距離、相似度與簇的定義聚類聽起來很智能但其底層邏輯完全建立在數(shù)學(xué)之上。理解這些基礎(chǔ)概念是靈活運(yùn)用乃至改進(jìn)聚類算法的關(guān)鍵。2.1 度量“相似性”距離與相似系數(shù)聚類的核心是“物以類聚”那么如何量化“類”呢答案就是計算對象之間的“距離”或“相似度”。1. 數(shù)值型數(shù)據(jù)最常用對于像身高、體重、GDP這樣的數(shù)值我們通常用“距離”來衡量差異。距離越小越相似。歐氏距離就是中學(xué)學(xué)的兩點(diǎn)間直線距離。公式是 √[(x?-y?)2 (x?-y?)2 ...]。它最直觀但受量綱影響大。如果身高用“米”體重用“公斤”身高的微小變化在數(shù)值上會被體重的巨大變化“淹沒”。所以使用歐氏距離前必須進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化如Z-score標(biāo)準(zhǔn)化這是一個至關(guān)重要的預(yù)處理步驟。曼哈頓距離想象在城市棋盤狀街道上行走只能沿街走不能斜穿。公式是 |x?-y?| |x?-y?| ...。它對異常值不如歐氏距離敏感。閔可夫斯基距離以上兩者的泛化形式。當(dāng)參數(shù)p2時是歐氏距離p1時是曼哈頓距離。余弦相似度特別適用于文本或高維稀疏數(shù)據(jù)。它關(guān)注的是兩個向量在方向上的差異而非長度。比如比較兩篇文章的主題我們不關(guān)心文章長短只關(guān)心用詞方向的相似性。余弦值越接近1方向越一致。2. 分類型數(shù)據(jù)對于像性別、職業(yè)、顏色這樣的類別數(shù)據(jù)需要不同的度量方式。簡單匹配系數(shù)適用于對稱的二元變量如性別男/女。計算相同屬性的比例。Jaccard系數(shù)適用于非對稱的二元變量如是否購買某商品1/0。它忽略兩個對象都是0的情況只關(guān)心同時為1的情況公式是同時為1的屬性數(shù) / (至少一個為1的屬性數(shù))。這在市場籃子分析中很常用。實操心得選擇哪種度量方式不是拍腦袋決定的。你必須回到你的問題本身對于你的數(shù)據(jù)什么樣的“相似”定義才是有業(yè)務(wù)意義的例如在分析消費(fèi)者時如果你認(rèn)為“消費(fèi)金額”和“消費(fèi)頻率”同等重要且量綱已處理歐氏距離可能合適。但如果你認(rèn)為“消費(fèi)品類”的相似性更重要可能需要先用獨(dú)熱編碼處理分類變量再結(jié)合余弦相似度。2.2 簇的“質(zhì)量”如何評估把數(shù)據(jù)點(diǎn)分成了幾個簇怎么知道分得好不好我們需要評估標(biāo)準(zhǔn)。簇內(nèi)相似度希望同一個簇里的點(diǎn)彼此越近越好。常用“誤差平方和”SSE來衡量即簇內(nèi)每個點(diǎn)到該簇“中心點(diǎn)”質(zhì)心的距離平方和。SSE越小簇內(nèi)越緊湊。簇間分離度希望不同簇之間離得越遠(yuǎn)越好。可以用不同簇的質(zhì)心之間的距離來衡量。一個好的聚類結(jié)果應(yīng)該是在簇內(nèi)相似度最高的同時實現(xiàn)簇間分離度最大。但這往往是一個權(quán)衡Trade-off。比如你把每個點(diǎn)都單獨(dú)作為一個簇SSE為0完美相似但簇間分離度毫無意義。你把所有點(diǎn)歸為一個簇簇間分離度問題不存在了但簇內(nèi)相似度極差。因此后續(xù)的算法本質(zhì)上都是在尋找這個權(quán)衡點(diǎn)的最優(yōu)解。3. 經(jīng)典聚類算法全景與應(yīng)用場景選擇算法很多但數(shù)學(xué)建模中常用的也就幾大類。了解它們的核心思想、優(yōu)缺點(diǎn)和適用場景能讓你在解題時快速做出正確選擇。3.1 K-Means最著名也最需要小心的“ centroid-based”方法核心思想預(yù)先指定要分成K個簇然后通過迭代找到K個“中心點(diǎn)”質(zhì)心使得所有點(diǎn)到其所屬簇質(zhì)心的距離平方和最小。標(biāo)準(zhǔn)步驟隨機(jī)選擇K個點(diǎn)作為初始質(zhì)心。分配階段計算每個點(diǎn)到各個質(zhì)心的距離將其分配到最近的質(zhì)心所在的簇。更新階段重新計算每個簇中所有點(diǎn)的平均值將該平均值作為新的質(zhì)心。重復(fù)步驟2和3直到質(zhì)心的位置不再發(fā)生顯著變化或達(dá)到最大迭代次數(shù)。優(yōu)點(diǎn)原理簡單計算效率高對于球形簇、規(guī)模相近的簇效果很好。致命缺點(diǎn)與坑點(diǎn)K值需預(yù)先指定這是最大的挑戰(zhàn)。K選錯了結(jié)果可能完全沒用。后面我們會專門講如何選K。對初始值敏感隨機(jī)選擇的初始質(zhì)心可能導(dǎo)致不同的收斂結(jié)果甚至得到局部最優(yōu)解。實戰(zhàn)中一定要設(shè)置隨機(jī)種子并多次運(yùn)行取最優(yōu)結(jié)果。對噪聲和異常值敏感一個遠(yuǎn)離群體的異常點(diǎn)會嚴(yán)重拉偏質(zhì)心的位置。只能發(fā)現(xiàn)球狀簇對于流形、環(huán)狀等復(fù)雜形狀的簇束手無策。適用場景客戶分群、圖像顏色量化、文檔聚類經(jīng)過向量化后等數(shù)據(jù)分布相對規(guī)整的問題。Python代碼示例使用scikit-learnfrom sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler import numpy as np # 假設(shè)X是你的數(shù)據(jù)矩陣 scaler StandardScaler() X_scaled scaler.fit_transform(X) # 切記標(biāo)準(zhǔn)化 # 初始化模型假設(shè)我們通過后續(xù)方法確定K3 kmeans KMeans(n_clusters3, random_state42, n_initauto) # 設(shè)置隨機(jī)種子保證可復(fù)現(xiàn) kmeans.fit(X_scaled) # 獲取結(jié)果 labels kmeans.labels_ # 每個樣本的簇標(biāo)簽 centroids kmeans.cluster_centers_ # 簇中心 print(f“簇標(biāo)簽{labels}”) print(f“簇中心\n{centroids}”)3.2 層次聚類構(gòu)建數(shù)據(jù)的“家譜樹”核心思想不需要預(yù)先指定簇的個數(shù)而是構(gòu)建一個樹狀的層次結(jié)構(gòu)。有兩種策略凝聚的自底向上開始時每個點(diǎn)都是獨(dú)立的簇然后迭代地將最相似的兩個簇合并直到所有點(diǎn)合并為一個簇。分裂的自頂向下開始時所有點(diǎn)在一個簇然后迭代地分裂出最不相似的子簇。關(guān)鍵決策如何定義簇與簇之間的距離單鏈接取兩個簇中所有點(diǎn)之間距離的最小值。容易發(fā)現(xiàn)長條狀、鏈狀簇但對噪聲敏感容易“鏈?zhǔn)健边B接。全鏈接取兩個簇中所有點(diǎn)之間距離的最大值。傾向于發(fā)現(xiàn)緊湊的、大小相近的球狀簇對噪聲相對穩(wěn)健。平均鏈接取兩個簇中所有點(diǎn)之間距離的平均值。是前兩者的折中。Ward方法合并后能使總體簇內(nèi)方差增量最小的兩個簇。通常能產(chǎn)生大小相近的簇效果較好。結(jié)果呈現(xiàn)樹狀圖層次聚類的輸出是一個樹狀圖。通過橫向切割樹狀圖你可以得到任意數(shù)量的簇。這為你選擇K值提供了直觀的參考。優(yōu)點(diǎn)無需預(yù)先指定K值通過樹狀圖可視化層次關(guān)系非常直觀。缺點(diǎn)計算復(fù)雜度高通常O(n3)不適合大數(shù)據(jù)集一旦合并或分裂步驟不可逆。適用場景小規(guī)模數(shù)據(jù)集且你需要探索數(shù)據(jù)可能的層次化結(jié)構(gòu)比如物種分類、社交網(wǎng)絡(luò)中的社區(qū)發(fā)現(xiàn)小規(guī)模時。3.3 DBSCAN基于密度的“抗噪”高手核心思想它認(rèn)為簇是數(shù)據(jù)空間中密集的區(qū)域被低密度區(qū)域分隔開。它能識別任意形狀的簇并能有效標(biāo)記噪聲點(diǎn)。核心參數(shù)eps (ε)鄰域半徑。以某個點(diǎn)為中心半徑為ε的圓形區(qū)域。MinPts核心點(diǎn)所需的最小鄰居數(shù)。如果一個點(diǎn)的ε-鄰域內(nèi)至少包含MinPts個點(diǎn)包括自己則該點(diǎn)為核心點(diǎn)。工作流程找到所有核心點(diǎn)。從任一核心點(diǎn)出發(fā)將其密度可達(dá)的所有核心點(diǎn)及邊界點(diǎn)在核心點(diǎn)鄰域內(nèi)但自身非核心的點(diǎn)歸入同一個簇。重復(fù)直到所有核心點(diǎn)都被訪問過。未被訪問到的點(diǎn)即為噪聲點(diǎn)。優(yōu)點(diǎn)無需指定K值能發(fā)現(xiàn)任意形狀的簇能識別并過濾噪聲點(diǎn)對異常值穩(wěn)健。缺點(diǎn)對參數(shù)eps和MinPts非常敏感在高維數(shù)據(jù)上由于“維度災(zāi)難”距離度量可能失效導(dǎo)致效果下降不適合密度差異很大的數(shù)據(jù)集。適用場景空間數(shù)據(jù)聚類如地圖上的興趣點(diǎn)、網(wǎng)絡(luò)入侵檢測找出異常模式、識別復(fù)雜形狀的星系團(tuán)等。Python代碼示例from sklearn.cluster import DBSCAN from sklearn.preprocessing import StandardScaler X_scaled StandardScaler().fit_transform(X) # 調(diào)試參數(shù)是關(guān)鍵通常通過k-距離圖來輔助選擇eps dbscan DBSCAN(eps0.5, min_samples5) labels dbscan.fit_predict(X_scaled) # DBSCAN的標(biāo)簽中-1代表噪聲點(diǎn) n_clusters len(set(labels)) - (1 if -1 in labels else 0) n_noise list(labels).count(-1) print(f“估計的簇數(shù)量{n_clusters}”) print(f“噪聲點(diǎn)數(shù)量{n_noise}”)3.4 其他值得了解的算法均值漂移無需指定簇數(shù)通過尋找數(shù)據(jù)分布密度的峰值來定位簇中心。對帶寬參數(shù)敏感。譜聚類基于圖論的算法先構(gòu)建數(shù)據(jù)點(diǎn)的相似度圖然后對圖進(jìn)行切割。特別擅長發(fā)現(xiàn)非凸形狀的簇但計算量較大。高斯混合模型假設(shè)數(shù)據(jù)由多個高斯分布混合生成使用EM算法進(jìn)行擬合。是一種軟聚類給出屬于每個簇的概率基于統(tǒng)計模型更“優(yōu)雅”。4. 實戰(zhàn)全流程從數(shù)據(jù)預(yù)處理到結(jié)果可視化一個完整的聚類項目代碼只占中間一小部分前后期的思考和處理往往更決定成敗。4.1 數(shù)據(jù)預(yù)處理比算法本身更重要糟糕的數(shù)據(jù)輸入再好的算法也出不了好結(jié)果。缺失值處理少量缺失可刪除或插補(bǔ)均值、中位數(shù)、模型預(yù)測等。需考慮缺失是否具有隨機(jī)性。數(shù)據(jù)標(biāo)準(zhǔn)化/歸一化這是必須步驟除非你確信所有特征同等重要且量綱一致。Z-score標(biāo)準(zhǔn)化將數(shù)據(jù)轉(zhuǎn)換為均值為0標(biāo)準(zhǔn)差為1。適用于數(shù)據(jù)分布近似正態(tài)的情況。(X - mean) / stdMin-Max歸一化縮放到[0,1]區(qū)間。(X - min) / (max - min)。對異常值敏感。分類變量編碼如性別、地區(qū)。常用獨(dú)熱編碼但會增加維度。特征選擇與降維如果特征太多、太冗余不僅計算慢還會引入噪聲導(dǎo)致“維度災(zāi)難”。可以考慮主成分分析將相關(guān)特征轉(zhuǎn)換為少數(shù)幾個不相關(guān)的綜合特征主成分保留大部分方差。注意PCA是線性變換可能會破壞原有數(shù)據(jù)的聚類結(jié)構(gòu)需謹(jǐn)慎使用。t-SNE / UMAP優(yōu)秀的非線性降維方法常用于高維數(shù)據(jù)的可視化能更好地保留局部結(jié)構(gòu)。注意它們通常只用于可視化降維后的數(shù)據(jù)不建議再輸入給其他聚類算法因為其距離關(guān)系已被非線性扭曲。4.2 確定最佳簇數(shù)K不止于“肘部法則”對于K-Means這類需要指定K的算法如何選K肘部法則最常用。繪制不同K值對應(yīng)的SSE誤差平方和曲線。SSE會隨著K增大而減小當(dāng)K增加到真實簇數(shù)附近時SSE的下降幅度會突然變緩曲線看起來像一個“肘部”。那個拐點(diǎn)就是建議的K值。但問題在于這個“肘部”有時并不明顯主觀判斷性強(qiáng)。輪廓系數(shù)更客觀的指標(biāo)。計算所有樣本的平均輪廓系數(shù)。對于每個樣本ia(i)i到同簇其他點(diǎn)的平均距離簇內(nèi)不相似度。b(i)i到其他簇中所有點(diǎn)的平均距離的最小值簇間不相似度。輪廓系數(shù) s(i) [b(i) - a(i)] / max{a(i), b(i)}范圍在[-1,1]。 s(i)越接近1說明樣本i聚類越合理越接近-1說明可能被分錯了簇接近0則說明在邊界上。選擇使平均輪廓系數(shù)最大的K值。間隔統(tǒng)計量一種更穩(wěn)健的方法。比較實際數(shù)據(jù)的SSE與隨機(jī)均勻分布數(shù)據(jù)參考分布的SSE的差異。差異最大的K值即為最佳值。層次聚類的樹狀圖通過觀察樹狀圖在哪個高度被切割能產(chǎn)生有意義的、穩(wěn)定的簇結(jié)構(gòu)來輔助判斷。我的經(jīng)驗永遠(yuǎn)不要只依賴一種方法。將肘部法則、輪廓系數(shù)和問題背景結(jié)合判斷。比如在用戶細(xì)分項目中業(yè)務(wù)上可能希望分成3-5個有明確行動意義的群體那么即使輪廓系數(shù)在K6時略高也可能選擇K4。4.3 聚類結(jié)果的可視化與解讀聚類結(jié)果不是終點(diǎn)解讀并賦予其意義才是。二維/三維散點(diǎn)圖如果原始特征只有2-3個可以直接畫。對于高維數(shù)據(jù)可以先使用PCA或t-SNE降至2/3維再可視化用不同顏色標(biāo)記簇。平行坐標(biāo)圖適用于多維數(shù)據(jù)。每個垂直軸代表一個特征每條折線代表一個樣本。通過觀察不同簇的折線在哪些特征軸上聚集或分離可以理解各簇的典型特征。簇特征分析這是建模論文中必須呈現(xiàn)的部分。計算每個簇在各個原始特征上的中心值均值和分布標(biāo)準(zhǔn)差。制作雷達(dá)圖或柱狀圖對比不同簇的特征剖面。用文字描述每個簇的典型特征。例如“簇1高收入、高消費(fèi)頻率、偏好數(shù)碼產(chǎn)品的年輕男性用戶。可標(biāo)記為‘?dāng)?shù)碼發(fā)燒友’。”業(yè)務(wù)解讀與驗證將聚類結(jié)果與業(yè)務(wù)知識對照。這些簇是否具有可解釋性是否對應(yīng)著現(xiàn)實中存在的不同群體能否為決策提供洞見有時需要與領(lǐng)域?qū)<矣懻撋踔列枰{(diào)整特征或算法參數(shù)以得到更符合業(yè)務(wù)邏輯的聚類結(jié)果。5. 數(shù)學(xué)建模中的高級技巧與避坑指南掌握了基礎(chǔ)我們來看看如何在競賽中玩出花樣以及如何避開那些常見的“天坑”。5.1 特征工程打造聚類的“黃金輸入”特征決定了聚類算法“看”世界的角度。好的特征工程能極大提升效果。領(lǐng)域知識驅(qū)動在“農(nóng)業(yè)生產(chǎn)”類題目中與其直接用“化肥使用量”、“灌溉水量”不如構(gòu)造“單位產(chǎn)量耗水量”、“化肥利用效率”等復(fù)合指標(biāo)更能反映本質(zhì)。處理混合型數(shù)據(jù)當(dāng)數(shù)據(jù)同時包含數(shù)值型如收入和分類型如職業(yè)時直接計算距離很困難。常用方法是將數(shù)值型變量標(biāo)準(zhǔn)化將分類型變量進(jìn)行獨(dú)熱編碼或相似度編碼然后為不同類型特征的距離分配權(quán)重組合成一個綜合距離。Gower距離是處理混合數(shù)據(jù)的經(jīng)典方法。時間序列數(shù)據(jù)的聚類比如對多個城市的月度GDP序列進(jìn)行聚類。不能直接對原始時間序列用歐氏距離它對相位敏感。可以考慮提取特征如均值、趨勢斜率、季節(jié)性強(qiáng)度、波動率等對這些特征進(jìn)行聚類。使用動態(tài)時間規(guī)整DTW距離一種更靈活的時間序列相似性度量能對齊時間軸上的“形似”而非“點(diǎn)對點(diǎn)”相似。5.2 模型融合與評估不要迷信單一結(jié)果聚類集成由于聚類算法的不穩(wěn)定性如K-Means的隨機(jī)初始化可以多次運(yùn)行同一算法或者用不同算法、不同參數(shù)、不同數(shù)據(jù)子集進(jìn)行聚類然后通過“投票”或“共現(xiàn)矩陣”的方式集成出一個更穩(wěn)定、更魯棒的最終結(jié)果。這在數(shù)學(xué)建模論文中是一個高級的加分點(diǎn)。內(nèi)部評估與外部評估內(nèi)部評估當(dāng)我們沒有真實標(biāo)簽時使用如輪廓系數(shù)、Calinski-Harabasz指數(shù)、戴維森堡丁指數(shù)。它們基于簇的緊密度和分離度。外部評估如果我們有部分真實標(biāo)簽或可以通過其他方式驗證可以使用調(diào)整蘭德指數(shù)、互信息、同質(zhì)性完整性等指標(biāo)。這在將聚類用于“半監(jiān)督”學(xué)習(xí)或與已有分類對比時有用。5.3 常見“天坑”與應(yīng)對策略坑數(shù)據(jù)未標(biāo)準(zhǔn)化導(dǎo)致距離被大數(shù)量級特征主導(dǎo)。對策將“數(shù)據(jù)標(biāo)準(zhǔn)化”刻在腦子里作為建模流程的第一步檢查項。坑盲目使用默認(rèn)參數(shù)特別是DBSCAN的eps和MinPts。對策對于DBSCAN繪制k-距離圖。對每個點(diǎn)計算它到第k個最近鄰的距離并排序繪圖。通常圖中拐點(diǎn)對應(yīng)的距離可以作為eps的參考值。MinPts一般從較小的值如數(shù)據(jù)維度1開始嘗試。坑過度解讀聚類結(jié)果強(qiáng)行給沒有明顯意義的簇賦予解釋。對策聚類可能產(chǎn)生沒有實際意義的“數(shù)學(xué)簇”。如果某個簇的特征剖面混亂沒有清晰的模式或者所有簇的特征都非常相似就要警惕。這可能意味著數(shù)據(jù)本身就不具備明顯的聚類結(jié)構(gòu)或者你選用的特征/算法不合適。在論文中誠實報告這一點(diǎn)也是科學(xué)態(tài)度的體現(xiàn)。坑忽略可視化僅憑指標(biāo)判斷。對策一定要可視化指標(biāo)可能騙人但圖形往往能直觀暴露問題比如發(fā)現(xiàn)了非球狀簇這時該用DBSCAN或者發(fā)現(xiàn)了異常點(diǎn)對質(zhì)心的影響。坑在論文中只寫“我們使用了K-Means”而不說明為什么用、參數(shù)怎么選的、K值如何確定。對策在建模論文中算法的選擇、參數(shù)的確定過程、以及評估指標(biāo)的選擇本身就是模型建立的重要組成部分必須詳細(xì)闡述。這是體現(xiàn)你建模思想深度的關(guān)鍵段落。6. 從賽題到論文一個完整的建模案例框架假設(shè)我們面對一道類似“城市可持續(xù)發(fā)展水平評估與分類”的題目。數(shù)據(jù)包含各城市的經(jīng)濟(jì)、社會、環(huán)境、資源等多維度指標(biāo)。第一步問題重述與特征構(gòu)建明確目標(biāo)對城市進(jìn)行“可持續(xù)發(fā)展類型”的聚類為分類施策提供依據(jù)。 特征工程從原始數(shù)據(jù)中我們可能構(gòu)建以下幾類特征經(jīng)濟(jì)活力人均GDP增長率、第三產(chǎn)業(yè)占比。社會公平基尼系數(shù)、教育醫(yī)療投入占比。環(huán)境壓力單位GDP能耗、空氣質(zhì)量優(yōu)良天數(shù)。資源效率水資源重復(fù)利用率、工業(yè)固體廢物綜合利用率。 對所有數(shù)值特征進(jìn)行Z-score標(biāo)準(zhǔn)化。第二步探索性分析與預(yù)處理查看數(shù)據(jù)分布處理缺失值。嘗試用PCA降維并可視化初步觀察數(shù)據(jù)是否存在明顯的聚集傾向。第三步聚類算法實施與比較嘗試K-Means使用肘部法則和輪廓系數(shù)確定K值范圍例如3-6。分別運(yùn)行計算輪廓系數(shù)。嘗試層次聚類繪制樹狀圖觀察在K3,4,5時的切割情況是否清晰。嘗試DBSCAN通過k-距離圖確定eps嘗試不同的MinPts觀察發(fā)現(xiàn)的簇數(shù)和噪聲點(diǎn)是否合理。對比與選擇比較不同算法在輪廓系數(shù)、簇的可解釋性上的表現(xiàn)。可能發(fā)現(xiàn)K-Means在K4時輪廓系數(shù)最高且層次聚類的樹狀圖在4類時結(jié)構(gòu)清晰因此選定K4的K-Means結(jié)果作為主模型。將DBSCAN發(fā)現(xiàn)的噪聲點(diǎn)極端特殊城市單獨(dú)列出分析。第四步結(jié)果分析與解讀可視化使用PCA降維至2維繪制散點(diǎn)圖標(biāo)注4個簇。簇特征分析計算每個簇在各特征上的均值制作雷達(dá)圖。描述每個簇簇A均衡領(lǐng)先型經(jīng)濟(jì)、社會、環(huán)境、資源各指標(biāo)均優(yōu)于平均水平。代表可持續(xù)發(fā)展綜合水平最高的城市。簇B經(jīng)濟(jì)環(huán)境偏科型經(jīng)濟(jì)指標(biāo)強(qiáng)勁環(huán)境指標(biāo)較好但社會公平指標(biāo)相對滯后。可能面臨經(jīng)濟(jì)增長與社會發(fā)展的不平衡問題。簇C社會資源偏科型社會公平和資源利用效率高但經(jīng)濟(jì)增長乏力環(huán)境壓力大。可能是傳統(tǒng)工業(yè)轉(zhuǎn)型中的城市。簇D相對滯后型多數(shù)指標(biāo)低于平均水平需要全面提升。策略建議針對不同類型的城市提出差異化的政策建議。例如對B類城市建議重點(diǎn)加強(qiáng)社會保障和公共服務(wù)投入對C類城市建議培育新動能加強(qiáng)環(huán)境治理。第五步模型檢驗與優(yōu)化穩(wěn)定性檢驗多次運(yùn)行K-Means不同隨機(jī)種子觀察簇分配結(jié)果是否基本穩(wěn)定。敏感性分析微調(diào)特征組合例如加入或剔除某個有爭議的指標(biāo)觀察聚類結(jié)果的變化是否劇烈。如果變化劇烈說明模型對該特征敏感需要在論文中討論。使用輪廓系數(shù)評估報告最終聚類方案的平均輪廓系數(shù)并展示每個樣本的輪廓系數(shù)分布圖說明聚類效果良好。在整個過程中你的論文需要清晰地展現(xiàn)上述思考鏈條為什么做聚類 - 數(shù)據(jù)怎么處理 - 為什么選這個算法和參數(shù) - 結(jié)果是什么 - 結(jié)果怎么解釋 - 模型是否可靠。這才是數(shù)學(xué)建模論文應(yīng)有的邏輯深度。