首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

主成份分析法 (PCA) 與層次分析法 (AHP) 差異與適用場景

     編輯:程式設計疑難解答

兩者同屬多準則決策/降維工具,但**理論基礎、輸入輸出、適用問題截然不同**。

核心差異對照

維度層次分析法 (AHP)主成份分析法 (PCA)
理論基礎心理學/決策理論:成對比較矩陣求特徵向量得權重統計學/線性代數:協方差矩陣特徵分解得主成份
輸入資料專家主觀判斷:準則兩兩比較重要性 (1~9 標度)客觀觀測數值:多變量樣本矩陣 (n 樣本 × p 變數)
輸出結果各準則/方案**權重向量**、一致性比率 (CR)**主成份** (線性組合)、解釋變異量比例、載荷矩陣
主要目的多目標決策**定性定量結合**、算出優先順序**降維**、去除多重共線性、資料視覺化
主觀性高 (依賴專家打分)低 (純數學變換)
典型應用供應商選擇、專案優先級、人才甄選、政策評估基因表達分析、影像壓縮、金融風險因子提取、人臉辨識

AHP 運作流程 (簡版)

  1. 建立層次結構:目標 → 準則 → 方案。
  2. 專家填寫成對比較矩陣 (如:價格 vs 品質 = 3:1)。
  3. 計算特徵向量得權重,檢查一致性比率 CR < 0.1。
  4. 層層綜合得方案最終得分排序。

PCA 運作流程 (簡版)

  1. 資料標準化 (零均值、單位方差)。
  2. 計算協方差/相關矩陣,特徵分解得特徵值 λ₁≥λ₂≥... 與特徵向量。
  3. 依解釋變異量累積 (如 >85%) 選前 k 個主成份。
  4. 將原始資料投影到 k 維主成份空間:`Z = X × V_k`。

組合使用策略

  • **先 PCA 降維,再 AHP 賦權**:高維指標先用 PCA 提取少數主成份作為準則,再請專家對這些主成份做 AHP 比較,兼具客觀與主觀優勢。
  • **AHP 定權重,PCA 驗證**:AHP 得出指標權重後,用 PCA 檢查指標間相關性,若高度共線再考慮合併或剔除。

工具支援

  • AHP:Excel 試算表、SuperDecisions、yaahp、Python `ahpy` 套件。
  • PCA:Python `sklearn.decomposition.PCA`、R `prcomp`、MATLAB `pca`、SPSS。

選對工具:決策排序用 AHP,資料降維/去相關用 PCA,兩者互補而非替代。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved