真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于R語言中主成分的示例分析

本篇文章為大家展示了基于R語言中主成分的示例分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元梁山做網(wǎng)站,已為上家服務(wù),為梁山各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

數(shù)據(jù)分析中,我們經(jīng)常會遇到高維的數(shù)據(jù)集,這時候就需要降維簡化計算和模型。 主成分分析是一種經(jīng)典的數(shù)據(jù)降維方法,它要求被分析的變量之間具有相關(guān)性,否則就失去主成分分析的原有意義了。比如在學(xué)生成績綜合評估、地區(qū)發(fā)展綜合評估、運動員綜合能力評估等,往往會有很多評估指標(biāo),這時候就需要進行數(shù)據(jù)降維,用較少的幾個新變量代替原本的變量而盡可能保留原有信息,計算出綜合得分,進而給出綜合評價結(jié)果。

現(xiàn)在假設(shè)原始數(shù)據(jù)像這樣:

基于R語言中主成分的示例分析

主成分分析步驟:

  1. 構(gòu)建原始數(shù)據(jù)矩陣;

  2. 消除量綱——數(shù)據(jù)標(biāo)準(zhǔn)化;

  3. 建立協(xié)方差矩陣(就是相關(guān)系數(shù)矩陣);

  4. 求出特征值、特征向量;

  5. 根據(jù)方差、累積方差貢獻率確定主成分個數(shù);

  6. 求出綜合得分,給出現(xiàn)實意義的解釋。

下面具體從理論方面簡單說明一下相關(guān)的變量意義。

因為有p列數(shù)據(jù),我們假設(shè)會有p個主成分,不會大于p個的,哈哈!然后才從里面挑出特征值大的。假設(shè)每個主成分與每個指標(biāo)(列)滿足關(guān)系:

基于R語言中主成分的示例分析

我們需要求出滿足條件的A = (A1,A2,...Ap),實際上就是P個變量協(xié)方差矩陣的特征向量,具體求法后面慢慢說明。

對于一個有n條數(shù)據(jù)p個指標(biāo)的數(shù)據(jù),構(gòu)建的數(shù)據(jù)矩陣就是X = (Xij)nxp;對于一個矩陣的數(shù)據(jù)標(biāo)準(zhǔn)化就是,對于矩陣所有列分別標(biāo)準(zhǔn)化,拿其中一列來說,數(shù)據(jù)標(biāo)準(zhǔn)化用到的公式是:

基于R語言中主成分的示例分析

對于第i列(Xi)與第j列(Xj)變量,協(xié)方差與相關(guān)系數(shù)矩陣公式如下:

基于R語言中主成分的示例分析

基于R語言中主成分的示例分析

數(shù)據(jù)經(jīng)過標(biāo)準(zhǔn)化后,其實協(xié)方差與相關(guān)系數(shù)矩陣是完全一樣的,因為數(shù)據(jù)經(jīng)過標(biāo)準(zhǔn)化后,方差是1,而協(xié)方差與相關(guān)系數(shù)就相差一個是否除以兩個方差。顯然,協(xié)方差與相關(guān)系數(shù)矩陣都是PxP的。

我們需要求出這個名為R的矩陣的特征值與特征向量(就是前面所說的A1,A2,...Ap這些列向量)。矩陣的特征值就像線性代數(shù)里面那樣求。在R里面只需調(diào)用函數(shù)eigen()就行了。其實,一個矩陣每一列會對應(yīng)一個特征值,而特征值的大小代表了這一列的重要程度,特征值最大的就是第一主成分,特征值越?。ㄔ撎卣髦?SUM(特征值))可以略去。然后根據(jù)p個特征向量算出,每個數(shù)據(jù)記錄(行)在每一個主成分上的得分,再將其與特征值做內(nèi)積/SUM(特征值),就得到最終的綜合得分

主成分分析實例詳解

下面用R語言自帶數(shù)據(jù)集swiss進行主成分分析加以說明,這個數(shù)據(jù)集包含瑞士的47個城市在6個評價指標(biāo)上的數(shù)據(jù)。

數(shù)據(jù)預(yù)處理與數(shù)據(jù)探索

head(swiss)
#判斷數(shù)據(jù)是否適合做主成分分析
cor(swiss)

基于R語言中主成分的示例分析

可見有幾個變量的相關(guān)性還是比較強的,表明這份數(shù)據(jù)適合做主成分分析。
#標(biāo)準(zhǔn)化數(shù)據(jù)(數(shù)據(jù)-均值)/標(biāo)準(zhǔn)差
sc.swiss <- scale(swiss)

構(gòu)建主成分模型

R中構(gòu)建主成分模型用函數(shù)princomp(),第一個參數(shù)表示標(biāo)準(zhǔn)化后的數(shù)據(jù)sc.swiss為數(shù)據(jù)對象,第二個參數(shù)cor = TRUE表明用樣本的相關(guān)矩陣做主成分分析,取值為FALSE表示用協(xié)方差矩陣做主成分分析。當(dāng)然了,這里數(shù)據(jù)經(jīng)過標(biāo)準(zhǔn)化都是一樣的。

pri <- princomp(sc.swiss,cor = TRUE)
summary(pri,loadings = TRUE)

基于R語言中主成分的示例分析

圖中的Loadings那個矩陣就是由相關(guān)系數(shù)矩陣的特征向量按列組成的(圖中不完整的元素是因為這個值太小了,沒有給出),我們暫且把六列(六個特征向量)記為Vec1,Vec2,Vec3,Vec4,Vec5,Vec6,后面需要用到。我們這里給出了六個主成分,當(dāng)然了,我們需要篩選最能表達原始數(shù)據(jù)信息的幾個特征值大的主成分。比如第一個主成分的表達式就是:

Y1 = -0.457Fer-0.424Agr+0.51Exa+0.454Edu-0.350Cat-0.15Inf

screeplot(pri,type = 'lines',col = c('blue','red'))
legend(1,2.5,'這里最陡即為\n主成分個數(shù)',bty = 'n')

根據(jù)碎石圖確定主成分個數(shù)(4個比較合適):

基于R語言中主成分的示例分析

計算主成分綜合得分

這一份數(shù)據(jù)就是瑞士47個城市發(fā)展指標(biāo),比如我們想要為每個城市計算出一個綜合得分,得出每個城市的發(fā)展情況,給出結(jié)論。

基于R語言中主成分的示例分析

使用predict()函數(shù),根據(jù)前面構(gòu)建的主成分模型pri計算每個城市分別在六個主成分上的得分。

這里看一下標(biāo)準(zhǔn)化后的數(shù)據(jù)前六行吧:

基于R語言中主成分的示例分析

計算每一個記錄(行)在每個主成分上的分別得分是這樣,比如對于下面Courtelary這個城市在Comp1(第一個主成分)上的得分就是用標(biāo)準(zhǔn)化后的sc.swiss的第一行與第一個特征向量做內(nèi)積,就是假設(shè):

 Courtelary = (0.8051305  -1.4820682 -0.18668632  0.1062125 -0.7477267       0.77503669)

Vec1 = (0.4569876  0.4242141 -0.5097327 -0.4543119  0.3501111  0.1496668)

把Courtelary 與Vec1看作向量就是,SUM (Courtelary .*Vec1) = 0.3596632,按照這種方法算出Courtelary 在六個主成分上的得分為:

0.3596632        1.3844529        0.8505125        0.9012204       -0.6248550       -0.2803396

按照這種計算方法,我們可以看一下,與下面畫方框的城市Courtelary 在六個主成分上的得分結(jié)果基本是一致的。

基于R語言中主成分的示例分析

在將六個主成分(實際用6列)與六個特征向量做內(nèi)積,就是分別相乘再求和,就得到每個城市綜合得分,具體就是每一行有上面算的六個得分,整個矩陣就是六列,第一列乘以第一個特征值,...,第6列乘以第6個特征值,再把六列加起來成為一列,再除以6,就是最終得分。

看一下前六個城市(一共47個城市)綜合得分:

基于R語言中主成分的示例分析

分數(shù)越小,表明城市發(fā)展越差。

基于R語言中主成分的示例分析

城市綜合得分分布圖

得分最高有大于2的,最低也有接近-2的,顯然城市發(fā)展不平衡,差異性顯著存在。

關(guān)于主成分就到這里,我覺得還是很詳細的,主要就是PxP的矩陣的特征值與特征向量,然后根據(jù)特征向量求出每條數(shù)據(jù)在每個主成分的分別得分,最后根據(jù)特征值算出綜合得分就OK了。

上述內(nèi)容就是基于R語言中主成分的示例分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


名稱欄目:基于R語言中主成分的示例分析
網(wǎng)站URL:http://weahome.cn/article/igdgco.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部