PCA主成分分析R語言- IT閱讀 - ITREAD01.COM - 程式入門教學

文章推薦指數: 80 %
投票人數:10人

作主成分分析並顯示分析結果 #princomp()主成分分析可以從相關陣或者從協方差陣做主成分分析 #cor是邏輯變量當cor=TRUE表示用樣本的相關矩陣R做主成分 ... PCA主成分分析R語言 首頁 最新 HTML CSS JavaScript jQuery Python3 Python2 Java C C++ Go SQL 首頁 最新 Search PCA主成分分析R語言 2018-09-12254 numberble輸入nullLanguage差值rotationtest根據1.PCA優缺點 利用PCA達到降維目的,避免高維災難。

PCA把所有樣本當作一個整體處理,忽略了類別屬性,所以其丟掉的某些屬性可能正好包含了重要的分類信息 2.PCA原理 條件1:給定一個m*n的數據矩陣D,其協方差矩陣為S.如果D經過預處理,使得每個每個屬性的均值均為0,則有S=DTDS=DTD。

PCA的目標是找到一個滿足如下性質的數據變換:-每對不同的新屬性的協方差為0,即屬性間相互獨立;-屬性按照每個屬性捕獲的數據方差大小進行排序;-第一個屬性捕獲盡可能多的數據方差;-滿足正交性的前提下,每個屬性盡可能多的捕獲剩余方差。

條件2:由於協方差矩陣是半正定矩陣,則其具有非負特征值。

令λ1,λ2,...,λnλ1,λ2,...,λn是S的特征值,並且可以排序,保證λ1≥λ2≥...≥λnλ1≥λ2≥...≥λn.令U為S的特征向量矩陣。

因此,有:-數據矩陣D′=DUD′=DU是變換後的數據集,滿足上述條件;-第ii個屬性的方差是λiλi;-原屬性的方差和等於新屬性的方差和;-新屬性排序即為主成分排序; 通常情況下,我們排序較後的主成分其實為次要成分,基於降維目的,只需選取前m個主成分作為新屬性即可。

3.R中使用PCA 程序 PCA的目標是用一組較少的不相關變量代替大量相關變量,同時盡可能保留初始變量的信息,這些推導所得的變量稱為主成分,它們是觀測變量的線性組合。

如第一主成分為: PC1=a1X1=a2X2+……+akXk它是k個觀測變量的加權組合,對初始變量集的方差解釋性最大。

#1.載入並清洗處理數據   read.table()   ovun.sample() #2.作主成分分析並顯示分析結果#princomp()主成分分析可以從相關陣或者從協方差陣做主成分分析#cor是邏輯變量當cor=TRUE表示用樣本的相關矩陣R做主成分分析#當cor=FALSE表示用樣本的協方差陣S做主成分分析  test.pr從原始數據中獲取成分得分 library(psych) pc獲取主成分得分的系數 library(psych) rc未旋轉的主軸叠代因子法 fa用正交旋轉提取因子 fa.varimax正交放置將人為地強制兩個因子不相關 正交旋轉,因子分析的重點在於因子結構矩陣(變量與因子的相關系數) 用斜交旋轉提取因子 fa.promax對於斜交旋轉,因子分析會考慮三個矩陣:因子結構矩陣、因子模式矩陣和因子關聯矩陣 因子模式矩陣即標準化的回歸系數矩陣,它列出了因子的預測變量的權重; 因子關聯矩陣即因子相關系數矩陣; 因子結構矩陣(或稱因子載荷陣),可使用公式F=P*Phi來計算得到,其中F是載荷陣,P為因子模式矩陣,Phi為因子關聯矩陣。

fsm



請為這篇文章評分?