徐夢琳 韓馳 劉經緯
關鍵詞:多元統計分析;支持向量機算法;二次鄰近算法;判別分析
中圖分類號:TP274+.3;TP391.1 ? ? ?文獻標識碼:A 文章編號:2096-4706(2019)06-0104-02
Keywords:multivariate statistical analysis;support vector machine algorithm;quadratic proximity algorithm;discriminant analysis
0 ?引 ?言
葡萄酒質量的鑒別在過去需要耗費大量的人力,因此通過算法分析葡萄酒的各個屬性來判別葡萄酒的質量是十分必要的。在實際分析過程中,利用線性判別分析算法對白葡萄酒質量進行判別時,測試集誤差率達到了47.8%。利用鄰近算法判別時,測試集誤差率達到了37.9%。利用樸素貝葉斯算法判別時,測試集誤差率達到了55.3%;對于紅葡萄酒,利用線性判別分析算法判別時,測試集誤差率達到了40.2%。利用鄰近算法判別時,測試集誤差率達到了30%。利用樸素貝葉斯算法判別時,測試集誤差率達到了44.8%。盡管紅葡萄酒的判別結果明顯好于白葡萄酒,但對于這兩種葡萄酒而言這些常見的判別方法都出現了極高的錯誤率,因此對葡萄酒質量判別瓶頸的研究就顯得十分重要。
1 ?研究方法
1.1 ?有序多分類邏輯回歸算法
有序多分類邏輯回歸算法將因變量劃分為程度各異的等級,對這多個等級進行Logistic回歸模擬。并且和普通邏輯回歸一樣,有序多分類邏輯回歸算法也是廣義線性回歸。在本文中將質量評分3~9分看作有大小關系的等級序列,利用有序多分類邏輯回歸算法探究評分之間的大小關系是否為造成葡萄酒判別錯誤率高的原因。
1.2 ?二次鄰近算法
傳統鄰近算法是將被判別的樣本放入訓練集建立的預測模型中,根據樣本周圍其他數據樣本的分布來確定此樣本自身的分布。其中的參數k是用來確定樣本周圍其他數據樣本的個數,其取值會影響模型的判別結果,k值太大判別結果會出現過擬合,而k值太小判別結果會不精確。本文利用循環遍歷嘗試所有可能的值來確認參數k的取值。
二次鄰近算法是對傳統鄰近算法的改進。針對葡萄酒數據集,傳統的鄰近算法并不管用。但是通過對傳統鄰近算法的分析可以推測,傳統鄰近算法判別錯誤率極高的原因可能在于對質量等級為5、6、7分的中等葡萄酒的判別結果相互的混淆。為了提高判別精度,探究葡萄酒質量判別的瓶頸,提出了二次鄰近算法。即,提取出第一次鄰近算法判別結果中混淆嚴重的部分,將其放入新建立的預測模型中進行再一次的鄰近算法的判別。在本文中,第二次鄰近算法的預測模型是利用實際質量等級為5、6、7分的葡萄酒觀測數據建立的。在最終結果中,包含使用兩次鄰近算法的易混淆部分的結果以及第一次鄰近算法的易區分部分的結果。
1.3 ?支持向量機
支持向量機是深度學習算法的一種,支持向量機是通過引入核函數,將樣本空間映射到高維特征空間中,從而使在起始的樣本空間非線性可分轉化為在高維特征空間中線性可分。[1]在支持向量機中核函數的選擇直接關系到判別模型的建立,常用的核函數有線性核、多項式核、高斯核、Sigmoid核。核函數的選取需要結合數據自身的情況。
2 ?模型驗證
2.1 ?數據處理
本文使用的Wine Quality數據集由葡萄牙吉馬良斯米尼奧大學的Paulo Cortez提供。數據集中的葡萄酒源自Vinho Verde地區,由于紅、白葡萄酒之間差異較大,使用紅葡萄酒和白葡萄酒樣品創建了兩個數據集。輸入包括客觀測試(例如:PH值),輸出基于傳感數據(葡萄酒專家至少進行3次評估的中位數)。每位專家都對葡萄酒質量進行評分介于0分(非常差)和10分(非常優秀)之間。
每條數據有12個屬性值——固定酸度、揮發性酸度、檸檬酸、殘糖、氯化物、游離二氧化硫、二氧化硫總量、密度、PH值、硫酸鹽、酒精。白葡萄酒包括4898條觀測數據,紅葡萄酒數據集包括1599條觀測數據。并分別取這兩種葡萄酒的70%的觀測數據作為訓練集用于模型建立,30%的觀測數據作為測試集用于模型驗證。因變量質量評分實際在白葡萄酒數據集中只包含3~9分,在紅葡萄酒數據集中只包含3~8分,都不服從正態分布。
2.2 ?有序多分類邏輯回歸算法
有序多分類邏輯回歸的白葡萄酒模型預測結果在訓練集中錯誤率就已經達到了47.8%,測試集錯誤率為47.7%。并且實際質量評分為5分的白葡萄酒訓練集數據有51.7%被判斷為6、7分,實際質量評分為6分的白葡萄酒訓練集數據有23.8%被判斷為5分和7分,實際質量評分為7分的白葡萄酒訓練集數據有77.4%被判斷為6分和7分,白葡萄酒測試集結果與訓練集類似。對于紅葡萄酒數據集,訓練集錯誤率為40.1%,測試集錯誤率為40%。實際質量評分為5分的紅葡萄酒訓練集數據有23.7%被判斷為6、7分,實際質量評分為6分的紅葡萄酒訓練集數據有37%被判斷為5分和7分,實際質量評分為7分的紅葡萄酒訓練集數據有78.4%被判斷為6分和7分,紅葡萄酒測試集結果與訓練集也類似。
分析數據發現,盡管紅葡萄酒數據集的錯誤率低于白葡萄酒,但是有序多分類邏輯回歸對于這兩種葡萄酒的判別結果均不理想,因此葡萄酒等級的有序并不是造成葡萄酒判別錯誤率高的根本原因。同時觀察本次模型預測結果可以猜測,葡萄酒判別錯誤率高的根本原因可能評分為5、6、7分的中等葡萄酒極易混淆。
2.3 ?二次鄰近算法
第一次使用鄰近算法的白葡萄酒數據集錯誤率最小在k值取1時,此時測試集錯誤率最小,為37.9%。由于評分為5、6、7分的白葡萄酒相互混淆,將第一次鄰近算法判別的結果放入利用實際評分為5、6、7分的白葡萄酒觀測數據建立的二次模型中預測,結果仍不理想。原因在于:(1)盡管對評分為5、6、7分的白葡萄酒數據進行了單獨的第二次鄰近算法建模,但錯誤率仍然達到了33.7%;(2)第二次鄰近算法的結果必然涵蓋了對非中等質量葡萄酒的誤判。對紅葡萄酒二次鄰近算法建模的結果也不理想,第一次對所有觀測數據建模的錯誤率達到了31%,單獨對中等質量的紅葡萄酒建模后的判別錯誤率仍有28%,最終二次建模的結果也不理想。錯誤率高的原因和白葡萄酒類似。二次鄰近算法的模型預測結果驗證了有序多分類邏輯回歸算法中做出的猜想——中等質量的葡萄酒的判別是葡萄酒判別過程中的瓶頸。
2.4 ?支持向量機算法
為了進一步確定葡萄酒判別的瓶頸,對于紅、白葡萄酒數據集進行了進一步的支持向量機模型預測分析。白葡萄酒利用支持向量機算法建模時,發現不改變不同質量評分白葡萄酒之間的權重比時,訓練集錯誤率為38%,測試集錯誤率為43%。而不斷增加評分為5、6、7分的白葡萄酒的權重,錯誤率會逐漸減小。最終利用支持向量機算法模型預測的白葡萄酒訓練集錯誤率降到了3.6%,測試集錯誤率為37.7%。對紅葡萄酒進行支持向量機算法模型預測產生的結果類似,不調整權重時,訓練集錯誤率為31.1%,測試集錯誤率為37.3%。增大評分為5、6、7分的紅葡萄酒的權重后,訓練集錯誤率減至1.1%,測試集誤差為41.9%。調整權重之后的判別結果可能是出現了過擬合現象,但是調整懲罰系數之后,訓練集和測試集結果仍然存在比較大的差異。因此支持向量機算法模型預測的結果說明,中等質量的葡萄酒極易在算法中相互混淆的原因是,中等質量的葡萄酒的差異不大并且具備各自的特點。
3 ?結 ?論
本文對于常見多元統計分析方法在葡萄酒質量判別過程中存在較大誤差的情況進行了分析。通過有序多分類邏輯回歸算法、二次鄰近算法、支持向量機算法對葡萄酒質量判別的瓶頸進行了研究。結果表明紅葡萄酒相對白葡萄酒而言容易判別,但紅、白葡萄酒的評分依據是十分相似的。綜合兩種葡萄酒判別的結果,發現葡萄酒質量判別的瓶頸在于中等質量的葡萄酒在模型預測的過程中極易產生混淆。在葡萄酒釀造過程中,多種醇類物質和脂類物質貢獻了葡萄酒的香氣,并且不同的釀造方法,存放時間都對葡萄酒和口感和質量產生影響。[2]因此,由于影響葡萄酒質量的因素太多,低等葡萄酒的各個理化指標都無優勢,而高等葡萄酒各個指標都有明顯優勢,都易于辨別;中等質量葡萄酒只是相對于低等質量葡萄酒而言某些理化指標有優勢,且不同品牌的中等葡萄酒優勢各異,難以辨別。
參考文獻:
[1] 楊浩,孟娜,王婧,等.基于支持向量機的京津冀城市群熱環境時空形態模擬 [J].地球信息科學學報,2019,21(2):190-200.
[2] 房玉林,王華,張莉,等.不同釀造工藝對毛葡萄酒香氣的影響 [J].農業工程學報,2007(9):246-250.
作者簡介:徐夢琳(1998-),女,漢族,江西南昌人,本科在讀,研究方向:大數據分析。