函數 > 數據分析 > 主元件分析 > 範例:主元件分析 1
範例:主元件分析 1
使用 NipalsloadingsscoresPCAeigenvalsPCAvariance 函數執行主元件分析 (PCA)。
Nipals 函數
1. 定義每欄各代表一項變數的數據集。
按一下以複製此運算式
按一下以複製此運算式
2. 繪製數據集。
按一下以複製此運算式
在本圖表中,x-y 面與 x-z 面重疊以揭露數據的趨勢線。數據其實是幾乎全在一個平面上的楕圓形點雲。這三個變數都線性相關,完美平面的偏差都是因為雜訊所致。
3. 使用 rowscols 函數定義列與欄索引。
按一下以複製此運算式
按一下以複製此運算式
4. 使用均數函數求解數據的均數,然後減去每個變數的均數,以置中數據。
按一下以複製此運算式
按一下以複製此運算式
5. 繪製置中的數據。
按一下以複製此運算式
* 
數據現已集中在原點周圍。此為 Nipals 函數自動運行的步驟之一。
在許多 PCA 應用中,也常會縮放數據讓變數有相同的權重,例如當不同的變數有不同的單位時。將各變數 (數據各欄) 縮放成單位變異數很常見,但不適用於此數據,所以此處未使用縮放。
6. 使用 Nipals 函數建立新的變數空間。使用 3 個主元件,此為可能的上限,因為一開始只有 3 個變數。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
Nipals 函數的輸出是 6 個個別矩陣的巢狀矩陣。使用此矩陣求解數據的 loadingsscoreseigenvalseigenvecs。視需要使用 Nipals2 函數與最後兩個矩陣,以萃取其他元件。
影響力與分數
1. 呼叫 loadings 函數以擷取在 NIPALS_Result 第二個矩陣中所求得的數據。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
LOADINGS 的每一欄都是負載向量。
2. 呼叫 scores 函數以擷取在 NIPALS_Result 第一個矩陣中所求得的數據。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
分數代表加上影響力向量以重建原始頻譜的比例。將其視之為強度。數據 = LOADINGS * SCOREST
3. 繪製儲存在 SCORES 矩陣中的數據。
按一下以複製此運算式
已旋轉數據,所以第一個變數可以說明最大量的變異數。表現在圖表上是橢圓形雲的長軸,現與 x 軸平行。與 z 軸平行的第三個變數的值非常小。此變數在大多數的用途中可予以忽略。您已壓縮數據。
PCA 變異數與本徵值
1. 使用 PCAvariance 函數傳回 3 個主元件的累積變異數。
按一下以複製此運算式
按一下以複製此運算式
前兩個元件會製造方程組中 99.9% 的變異數。
2. 使用 PCAeigenvals 函數萃取主元件的本徵值。
按一下以複製此運算式
按一下以複製此運算式
這是否有幫助?