









摘要:隨著電子商務的迅猛發展,準確識別異常商品對維護平臺信譽和保護消費者權益至關重要。針對現有方法在處理高維數據和探測復雜異常模式方面的局限性,本文提出了一種基于PCA(主成分分析) 、COPOD(復合概率密度估計) 和IForest(孤立森林) 的PCI級聯異常檢測模型。該模型首先通過PCA對高維數據進行降維,使用COPOD進行初步異常檢測以篩選潛在異常點,最后利用IForest精確識別最終異常點。實驗結果表明,PCI模型的準確度達87.3%,召回率為77.8%,F1分數為0.823,顯著優于傳統方法。該研究表明,PCI級聯模型能有效提高異常商品識別的準確性和可靠性,為電商平臺的風險管理和運營優化提供了新技術方案。
關鍵詞:主成分分析;復合概率密度估計;孤立森林;電子商務數據;異常檢測
中圖分類號:TP181" "文獻標識碼:A
文章編號:1009-3044(2025)08-0037-05
開放科學(資源服務) 標識碼(OSID)
0 引言
近年來,隨著互聯網技術的迅猛發展,電子商務平臺已成為消費者購買商品的重要渠道。然而,中國消費者協會的網購調查發現,異常商品的存在不僅嚴重影響了消費者的購物體驗,也給平臺帶來了經濟損失[1]。異常商品形式多樣,涵蓋價格異常、銷量異常、假冒偽劣和交易異常等。由于商品數據復雜且高維,這些異常商品難以辨別,亟需高效、準確的識別方法。
目前,國內外已有許多關于異常檢測的研究成果。林正聞[2]提出基于統計學習的方法,利用歷史數據構建模型來預測未來的趨勢或模式,這種方法在一些特定的應用場景下能夠提供較高的檢測精度。但是,它在處理大規模數據時計算復雜度較高,而且如果實際的數據分布與模型假設的分布有較大差異,檢測性能可能會顯著下降。盧夢茹[3]提出基于局部密度的方法,通過計算數據點周圍的局部密度來識別異常值,該方法對于處理具有不同密度區域的數據集非常有效。然而,在高維空間中,這種基于距離的方法容易遭受“維度災難”的影響,即所有數據點之間的距離趨向于相等,從而降低檢測的準確性。王楠[4]提出基于聚類的方法,能夠自動發現數據中的自然分組,并據此識別出異常值。不過,這種方法對于特征之間復雜的相互作用考慮不足,可能遺漏一些重要的異常信息。董晴晴[5]提出LOF離群點挖掘方法,通過比較一個點與其鄰域內其他點的局部密度來識別異常點,該方法在處理中等規模數據集時效果良好,但面對大規模數據集時效率較低。付文杰[6]提出基于決策樹與局部密度結合的方法,雖能夠有效地處理數值型和類別型特征,但對于文本等非結構化數據的支持有限,且在處理大規模數據集時的效率和可擴展性仍有待提高。
本文提出了一種基于PCA、COPOD和IForest的PCI級聯異常檢測模型。相比于其他機器學習模型,該模型更善于發掘異常之間的依賴關系和在多維度下的異常,具有逐步細化、減少誤報、高靈活性、強適應性和良好可解釋性的優勢。實驗結果表明,該模型能有效提高異常商品識別的準確性。
1 理論基礎
1.1 主成分分析(PCA)
主成分分析(Principal Component Analysis, PCA) 是一種常用的降維技術,通過線性變換將原始高維數據投影到低維空間,同時保留數據的主要信息。在本研究中,PCA主要用于處理電商平臺復雜的多維商品數據,具體流程如下:
步驟1:數據標準化,對原始數據進行標準化處理,使各特征具有相同的尺度。
步驟2:求協方差矩陣,計算標準化后的數據的協方差矩陣。
步驟3:計算特征值和特征向量,求解協方差矩陣的特征值和特征向量。
步驟4:通過觀察累計方差解釋比例曲線,使用拐點法確定主成分數量。選擇特征值最大的前幾個特征向量作為主成分,這些主成分代表了數據的主要方向。
步驟5:投影,將原始數據投影到主成分空間中。
1.2 復合概率密度估計(COPOD)
復合概率密度估計(Copula-based Outlier Detection, COPOD) 是一種利用Copula函數建模特征之間依賴關系的異常檢測算法,通過計算數據點在Copula函數中的概率密度來識別異常點。本研究中,COPOD用于初步篩選在多個特征維度上表現出異常依賴關系的商品,具體流程如下。
步驟1:數據清洗,去除缺失值和異常值。
步驟2:數據標準化,對數值特征進行歸一化處理,使各特征具有相同的尺度。
步驟3:計算邊際分布,對每個特征變量[Xi]估計其邊際分布[Fi(xi)]。
步驟4:使用邊際分布將每個變量[Xi]變換到[0, 1]區間上的均勻分布[Ui]。即對于每個觀測值[Xij],計算其在邊際分布下的累積概率[uij=Fi(xij)]。
步驟5:構建高斯Copula函數[c(u1,j,u2,j,....,ud,j)],計算聯合概率密度,使用Copula函數建模特征之間的依賴關系。
步驟6:計算異常分數,通過Copula函數計算每個數據點的異常分數。異常分數表示數據點在Copula函數中的概率密度。
步驟7:根據聯合概率密度值的分布,設定一個閾值,該閾值用于區分正常點和潛在的異常點。
1.3 孤立森林(Isolation Forest)
孤立森林(Isolation Forest) 是一種基于決策樹的異常檢測算法,通過隨機分割特征空間,異常點通常比正常點更容易被孤立。在本研究中,孤立森林主要用于識別出那些在多個特征維度上表現異常的商品,具體流程如下:
步驟1:構建孤立樹,通過隨機選擇特征和特征值進行二分裂來構建孤立樹。每棵樹的目標是將數據點盡可能快地隔離。
步驟2:計算路徑長度,對于每個樣本,計算其在每棵孤立樹中的路徑長度,即從根節點到葉節點的邊數。異常點通常比正常點更容易被隔離,因此路徑長度較短。
步驟3:確定異常分數,用計算出的平均路徑長度確定待測數據的異常分數。
步驟4:判定異常與否,最終的異常分數是所有孤立樹的平均值,若異常分數大于或等于異常閾值,則判斷為異常數據,否則判為正常數據。
2 建模分析與評價指標
2.1 PCI級聯模型的構建
PCI級聯模型融合了PCA、COPOD和IForest三種方法。首先,使用PCA對高維數據進行降維,以保留主要信息并降低計算復雜度。接著,利用COPOD對降維后的數據進行初步異常檢測,篩選潛在異常點。最后,使用IForest進一步確認這些異常點,精確識別最終的異常商品。具體的算法流程如下:
步驟1:對數據集X進行預處理,初步篩選與異常檢測相關的特征,進行編碼,并對數據進行標準化和歸一化處理。
步驟2:計算數據集的協方差矩陣,以捕捉各個特征之間的相關性。計算協方差矩陣的特征值和特征向量,通過觀察累計方差解釋比例曲線的拐點位置,選擇前k個主成分,保留數據的主要信息。
步驟3:將原始數據投影到選定的主成分上,得到降維后的數據。
步驟4:對COPOD模型輸入降維后的數據,計算每個樣本的概率密度值。根據概率密度值的分布,設定閾值,將概率密度值低于閾值的樣本標記為潛在的異常點。
步驟5:對潛在的異常點列表進行標準化處理。
步驟6:使用IForest進行精煉檢測,隨機選擇特征和特征值,構建孤立樹,通過遞歸分割將數據點隔離,直到每個數據點被單獨隔離。對于每個樣本,計算其在每棵孤立樹中的路徑長度,并根據路徑長度設置閾值。將路徑長度低于閾值的樣本標記為最終的異常點。
2.2 關鍵參數選擇
使用網格搜索(Grid Search) 遍歷所有參數組合,如表1所示。對于COPOD模型,由于其用于初步篩選,估計異常點占比較高,因此設置較高的污染率參數。對于孤立森林(Isolation Forest) 算法中樹的數量的確定,根據其提出者Liu等人[7]的建議,樹的數量取值應在100和500之間。取值過小可能導致算法不穩定,而取值過大則會浪費計算機資源。因此,建議將樹的數量設置在100到500之間,步長為50。
通過查看F1分數、AUC-ROC和交叉驗證評估每個組合的性能,選擇最佳的參數配置。最終,將最佳參數應用于模型,進行異常檢測和評估,確保模型的準確性和魯棒性。
2.3 評價指標
本研究采用以下評價指標對模型進行評估,以分析和對比模型的性能提升。
1) 混淆矩陣:混淆矩陣是評估分類模型性能的重要工具,特別是在二分類任務中。混淆矩陣通過展示模型的預測結果與實際結果之間的對比,幫助計算各種評價指標,如表2所示。
2) 精確度(Precision) :預測為正類(異常) 的樣本中,真正正類(異常) 的比例,使用式(1) 進行計算。
[Precision=TPTP+FP]" " (1)
3) 召回率(Recall) :所有真實正類(異常) 中,被正確預測為正類(異常) 的比例,使用式(2) 進行計算。
[Recall=TPTP+FN]" " "(2)
4) F1分數(F1 Score) :精確度和召回率的調和平均值,用于綜合評估模型的性能,使用式(3) 進行計算:
[F1 Score=2×Precision×RecallPrecision+Recall]" "(3)
3 異常商品識別
3.1 數據預處理與特征工程
本研究以某電商平臺2021年6月至9月“手機數碼”類目下的1 486 873條商品數據為研究對象,商品數據共有21個字段(主要字段為:商品價格、商品銷量) ,按照月份字段區分,店鋪數據和商品數據之間通過USER_ID字段進行關聯。
3.1.1 數據清洗
本研究選取了2021年6月至9月期間,一級類目為“手機數碼”的交易記錄作為實驗數據。該數據集共包含1 486 873條記錄。數據清洗過程如下:
1) 去重:針對不同月份的數據,對“商品名”和“商品ID”進行去重處理。
2) 刪除空值:刪除“商品名”為空的數據,刪除“商品價格”為空的數據,刪除“店鋪ID”為空的數據,刪除“店鋪名稱”為空的數據。
3) 填充空值:對“商品月銷量”“商品月銷售額”“收藏數”“評論數”這四個數值特征的空值進行填充。若該項商品在其他月份只有兩個月份數據,則取平均值填充;若該項商品在其他月份有三個月份的數據,則取中位數進行填充;若無其他月份數據,則填充值為0。對“一級類目”“二級類目”“三級類目”“四級類目”“五級類目”這五個類別特征的空值進行填充,統一填充為“其他商品”。
3.1.2 數據編碼及文本分析
對于一級、二級、三級、四級和五級類目類別數量不多的情況,采用標簽編碼方式。商品類別特征與目標變量高度相關,因此對商品ID進行目標編碼。使用GloVe的glove.6B.zip進行詞嵌入,維數選擇為200維。
3.1.3 特征工程
本研究對數據集在選擇用于算法模型檢測的字段時,為了保留時序特征和重要特征,幫助識別動態變化,需要設計衍生字段,如表3所示。
3.2 數據探索性分析
通過各種統計和可視化方法,深入了解數據的結構、特征和潛在模式,從而為后續的建模和分析提供堅實的基礎[8]。隨機抽取40萬條數據,以大致了解其數據分布情況。由于價格差異較大,直接觀察難以發現規律,因此部分圖示使用IQR方法暫時過濾商品價格和商品銷量字段中的異常值,以確保后續分析的準確性,其他類別與月份數據采取類似方式進行。
3.2.1 單變量分析
如圖2所示,商品銷量呈明顯的長尾分布,大部分商品銷量較低,集中在0到10之間。隨著銷量的增加,商品數量迅速減少。當銷量達到20左右時,商品數量顯著減少,進一步驗證了這一趨勢。
3.2.2 多變量分析
多特征分析能夠揭示各個特征之間的相互關系,還能幫助識別潛在的模式和趨勢,這對于深入理解數據集的本質特征至關重要。通過綜合考察多個變量的影響,多特征分析有助于構建更為準確的預測模型,提高模型的解釋力和預測能力。此外,它還能有效識別出哪些特征對目標變量具有顯著影響,為后續的數據挖掘和決策制定提供有力支持。
如圖4所示,展示了價格與銷量之間的分布情況。顏色的深淺表示該區域內的數據點數量。從中可以看出,價格較低的商品通常銷量較高,而價格較高的商品銷量較低,這符合市場的一般規律。通過熱力圖,可以識別出價格和銷量之間存在異常關系的商品,這些商品可能需要進一步調查。
3.3 PCI模型訓練
本研究使用PCI級聯模型對1 486 873條“手機數碼”商品數據進行異常檢測,旨在從全部商品數據中準確篩選出目標異常數據。為了評估模型的性能和穩定性,將數據集劃分為訓練集、驗證集和測試集,具體劃分比例如下,訓練集:70%,用于訓練模型。驗證集:15%,用于調優模型參數和防止過擬合。測試集:15%,用于最終評估模型的性能。
1) 通過對PCA的主成分數量與累計方差解釋比例圖進行可視化,如圖5所示,判斷拐點位置,確定主成分數量為17。
2) COPOD模型的最佳參數通過網格搜索(Grid Search) 遍歷所有參數組合確定。
3) 對于孤立森林的參數設置,重點確定樹的數量和子采樣大小。子采樣(max_samples) 參數在實際應用中一般保持默認值256,因此本研究中也保持默認值。在網格參數搜索中,通過設置樹的數量(n_estimators) ,計算得到AUC-ROC評分,如圖6所示,最終得出樹的數量最佳取值為200。
綜上所述,最終參數設置如下:PCA主成分數量為17,COPOD污染率(contamination) 為0.15,COPOD并行作業數(n_jobs) 為1,Isolation Forest樹數量(n_estimators) 為200,Isolation Forest子采樣大小(max_samples) 為256。
經過模型處理,評定每一個數據點的異常值,劃定閾值,最后綜合數據,PCI級聯模型在整個一級類目為“手機數碼”的商品數據中識別出異常商品數量為35 685條。
3.4 實驗結果與分析
為了進一步證實模型的可靠性,隨機抽取5 000條數據進行人工標注,獲取其真實標簽,其中異常商品數量共計610條。使用COPOD模型、孤立森林模型和PCI模型分別進行預測,模型的表現如表4所示。
通過采用PCI級聯模型,在手機數碼類商品的異常檢測中取得了顯著的改進。具體而言,相比于孤立森林模型,PCI級聯模型的精確度從0.849提升至0.873,提高了約2.4%。這意味著在預測為異常的商品中,真正異常的比例更高,減少了誤報的可能性。同時,召回率從0.740提升至0.778,提高了3.8%,表明模型能夠識別更多的實際異常商品,減少了漏檢情況。綜合考慮精確度和召回率,PCI級聯模型的F1分數從0.790提升至0.823,提高了3.3%,表明模型的整體性能得到了明顯增強。此外,PCI級聯模型將誤報的正常商品數量從79個減少至70個,顯著降低了11%,進一步提高了模型的可靠性和實用性。
盡管異常商品的總數量從530增加至545,但增量并不明顯,這主要是因為模型更加謹慎地對待疑似異常商品,確保了更高的檢測準確性和可靠性。綜上所述,PCI級聯模型在手機數碼類商品的異常檢測中表現優異,顯著提升了模型的精確度、召回率和整體性能,為實際應用提供了可靠的解決方案。
4 結論
本文提出的PCI級聯模型在“手機數碼”類商品的異常檢測中表現出顯著的優勢。相比于孤立森林模型,PCI級聯模型的精確度提高了2.4%,召回率提高了3.8%,F1分數提升了3.3%,誤報率顯著降低了11%。這些改進不僅提升了模型的檢測準確度和可靠性,還減少了誤報的可能性,使模型在實際應用中更加實用。
然而,本研究仍存在一些局限性,模型參數的選擇需要進一步優化。目前的參數設置是通過網格搜索獲得的,但更精細的調優可能進一步提升模型性能。此外,時序特征的設計對數據質量要求較高,低質量的數據輸入可能導致模型準確性降低。未來的研究將致力于解決這些問題,包括參數優化、數據質量保障和時序特征設計的改進,以進一步提升模型在更廣泛場景中的適用性和魯棒性。
參考文獻:
[1] 中消協啟動\"雙11\"網購調查抓負面典型[J].家電科技, 2016(10): 1.
[2] 林正聞.基于統計學習的KPI指標異常值檢測和根本原因分析[D].上海:上海師范大學,2023.
[3] 盧夢茹.基于局部密度的異常檢測算法研究[D].金華:浙江師范大學,2023.
[4] 王楠.基于聚類的異常檢測方法研究[D].桂林:桂林電子科技大學, 2022.
[5] 董晴晴.基于離群點挖掘的電商平臺信用炒作檢測研究[D].鄭州:華北水利水電大學, 2016.
[6] 付文杰.基于Python的大數據網購商品異常價格與銷量識別[J].網絡安全和信息化, 2022(10): 72-76.
[7] LIU F T,TING K M,ZHOU Z H.Isolation forest[C]//2008 Eighth IEEE International Conference on Data Mining.December 15-19,2008,Pisa,Italy.IEEE,2008:413-422.
[8] 吳翌琳,房祥忠.大數據探索性分析[M].2版.北京:中國人民大學出版社,2020.
【通聯編輯:唐一東】