主成分分析 R語言


基礎概念

主成分分析(Principal Component Analysis,PCA), 是一種統計方法。通過正交變換將一組可能存在相關性的變量轉換為一組線性不相關的變量,轉換后的這組變量叫主成分。


###原理: 在用統計分析方法研究多變量的課題時,變量個數太多就會增加課題的復雜性。人們自然希望變量個數較少而得到的信息較多。在很多情形,變量之間是有一定的相關關系的,當兩個變量之間有一定相關關系時,可以解釋為這兩個變量反映此課題的信息有一定的重疊。主成分分析是對於原先提出的所有變量,將重復的變量(關系緊密的變量)刪去多余,建立盡可能少的新變量,使得這些新變量是兩兩不相關的,而且這些新變量在反映課題的信息方面盡可能保持原有的信息。

在pca中要用到的相關概念:


####協方差 協方差(Covariance)在概率論和統計學中用於衡量兩個變量的總體誤差。而方差是協方差的一種特殊情況,即當兩個變量是相同的情況。總的來說,協方差是一種用來度量兩個隨機變量關系的統計量。

協方差表示方式:

如果兩個變量的變化趨勢一致,也就是說如果其中一個大於自身的期望值,另外一個也大於自身的期望值,那么兩個變量之間的協方差就是正值。 如果兩個變量的變化趨勢相反,即其中一個大於自身的期望值,另外一個卻小於自身的期望值,那么兩個變量之間的協方差就是負值。如果X與Y是統計獨立的,那么二者之間的協方差就是0。

換句話說,協方差為正時說明X和Y是正相關關系,協方差為負時X和Y是負相關關系,協方差為0時X和Y相互獨立。

當樣本是n維數據時,它們的協方差實際上是協方差矩陣(對稱方陣),方陣的邊長是C2n。比如對於3維數據(x,y,z),計算它的協方差就是:


####pca計算過程
  • 第一步,分別求特征的平均值,然后對於所有的樣例,都減去對應的均值
  • 第二步,求特征協方差矩陣
  • 第三步,求協方差的特征值和特征向量
  • 第四步,將特征值按照從大到小的順序排序,選擇其中最大的k個,然后將其對應的k個特征向量分別作為列向量組成特征向量矩陣。
  • 第五步,將樣本點投影到選取的特征向量上。假設樣例數為m,特征數為n,減去均值后的樣本矩陣為DataAdjust(mn),協方差矩陣是nn,選取的k個特征向量組成的矩陣為EigenVectors(n*k)。那么投影后的數據FinalData為

整個過程,就是將原始樣例的n維特征變成了k維,這k維就是原始特征在k維上的投影。


進行主成分分析主要步驟如下: 1. 指標數據標准化 2. 指標之間的相關性判定; 3. 確定主成分個數m; 4. 主成分Fi表達式; 5. 主成分Fi命名;

主成分分析(principal component analysis,PCA)是一種降維技術,把多個變量化為能夠反映原始變量大部分信息的少數幾個主成分。
設X有p個變量,為n*p階矩陣,即n個樣本的p維向量。首先對X的p個變量尋找正規化線性組合,使它的方差達到最大,這個新的變量稱為第一主成分,抽取第一主成分后,第二主成分的抽取方法與第一主成分一樣,依次類推,直到各主成分累積方差達到總方差的一定比例。

主成分分析實例

p=princomp(USArrests,cor=TRUE)
summary(p,loadings=TRUE)

----Standard deviation 標准差 其平方為方差=特征值
----Proportion of Variance 方差貢獻率
----Cumulative Proportion 方差累計貢獻率

screeplot(p,type="lines")

圖中的點在第三個成分的下降已經變得非常平穩了,因而選擇前兩個變量就能獲得較好的信息解釋,這也就意味着后兩個變量可以舍棄。

也可以利用loadings參數中反映的系數值對主成分進行構建方程
y=-0.536murder-0.583assault-0.278urbanpop-0.543rape
y=0.418murder+0.188assault-0.873urbanpop-0.167rape

pre<-predict(p)
pre

對個主成分的值進行預測的結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM