當前位置:首頁 » 編程語言 » 主成分分析c語言實現
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

主成分分析c語言實現

發布時間: 2022-07-23 06:16:26

① 什麼是主成分分析主成分分析的步驟有哪些

主成分分析是指通過將一組可能存在相關性的變數轉換城一組線性不相關的變數,轉換後的這組變數叫主成分。

主成分分析步驟:1、對原始數據標准化,2、計算相關系數,3、計算特徵,4、確定主成分,5、合成主成分。

主成分分析的原理是設法將原來變數重新組合成一組新的相互無關的幾個綜合變數,同時根據實際需要從中可以取出幾個較少的總和變數盡可能多地反映原來變數的信息的統計方法叫做主成分分析或稱主分量分析,也是數學上處理降維的一種方法。

(1)主成分分析c語言實現擴展閱讀

主成分分析的主要作用

1.主成分分析能降低所研究的數據空間的維數。

2.有時可通過因子負荷aij的結論,弄清X變數間的某些關系。

3.多維數據的一種圖形表示方法。

4.由主成分分析法構造回歸模型。即把各主成分作為新自變數代替原來自變數x做回歸分析。

5.用主成分分析篩選回歸變數。

最經典的做法就是用F1(選取的第一個線性組合,即第一個綜合指標)的方差來表達,即Va(rF1)越大,表示F1包含的信息越多。因此在所有的線性組合中選取的F1應該是方差最大的,故稱F1為第一主成分。

② 幫忙找以下論文!謝謝^^^^

建議你去專門的文獻檢索的論壇求助:
比如:小木蟲、網上讀書園地、零點花園……

因為需要資料庫的入口(帳號,密碼),能找到教育網的代理IP也行。

③ 急!!!跪求用MATLAB實現基於主成分分析法的人臉識別系統的演算法

人臉檢測的演算法很多呀 主成分分析法就是PCA 實際上就是個降維的方法 你可以提取haar特徵 進行PCA之後 訓練檢測 就可以了 網上有代碼下的 單獨PCA的演算法我沒找過 可能有 你可以網路 谷歌一下的

④ 主成分分析怎麼進行標准化

先將x1-x12作為指標名在轉置排列,即行為指標名,列為數值。然後打開軟體,導入數據,單擊分析->數據縮減->因子分析,進入因子分析窗口,選中所有變數加入右邊框,點擊描述->相關矩陣-,勾選系數,kmo兩項單擊繼續回到因子分析窗口,在選擇旋轉,勾選無,然後按確定就行了。一般軟體會進行標准化處理的,應該不用你自己處理。
這個步驟只是大致的,因為SPSS版本不同,界面也會有所不同,還有中英文版的,所以可能還要你對軟體的語言翻譯一下。身邊現在只有中文版的,不好意思啦~~

⑤ 如何對導入的數據進行主成分分析

多元線性回歸
1.打開數據,依次點擊:analyse--regression,打開多元線性回歸對話框。
2.將因變數和自變數放入格子的列表裡,上面的是因變數,下面的是自變數。
3.設置回歸方法,這里選擇最簡單的方法:enter,它指的是將所有的變數一次納入到方程。其他方法都是逐步進入的方法。
4.等級資料,連續資料不需要設置虛擬變數。多分類變數需要設置虛擬變數。
5.選項裡面至少選擇95%CI。
點擊ok。

因子分析
1輸入數據。
2點Analyze 下拉菜單,選Data Rection 下的Factor 。
3打開Factor Analysis後,將數據變數逐個選中進入Variables 對話框中。
4單擊主對話框中的Descriptive按扭,打開Factor Analysis: Descriptives子對話框,在Statistics欄中選擇Univariate Descriptives項要求輸出個變數的均值與標准差,在Correlation Matrix 欄內選擇Coefficients項,要求計算相關系數矩陣,單擊Continue按鈕返回Factor Analysis主對話框。
5單擊主對話框中的Extraction 按鈕,打開如下圖所示的Factor Analysis: Extraction 子對話框。在Method列表中選擇默認因子抽取方法——Principal Components,在Analyze 欄中選擇默認的Correlation Matrix 項要求從相關系數矩陣出發求解主成分,在Exact 欄中選擇Number of Factors;6, 要求顯示所有主成分的得分和所能解釋的方差。單擊Continue按鈕返回Factor Analysis主對話框。
6單擊主對話框中的OK 按鈕,輸出結果。

⑥ PCA主成分分析圖像數據降維代碼求教

獲取n行m列原始數據,寫成n*m的矩陣形式;
數據中心化。即把每個屬性的均值處理設為0(下面木羊將給出自己編寫的源代碼,木羊的數據用列代表屬性,在該步驟中,就把每列的均值都設置為0)。
根據中心化後的矩陣求協方差矩陣。協方差有三種值,0表示屬性之間相互獨立,沒有影響;正值表示屬性是正相關的關系,若屬性A和屬性B是正相關關系,則A增加B也增加,A減小B也減小;負值表示屬性是負相關的關系,若屬性C和屬性D是負相關關系,則C增加D減小,C減小D增加。所以,協方差矩陣也可以理解為相關系數矩陣,表示屬性間的相關程度。
根據協方差矩陣求特徵值矩陣。特徵值矩陣只有對角線上的元素有值,上三角和下三角元素都為0.
根據特徵值矩陣求對應的特徵向量。
對特徵值矩陣進行排序,並設定一個閾值,若前i個特徵矩陣的和>=設定的閾值,則就有i個主成分,取其對應的特徵向量,定為主成分向量矩陣。
原始矩陣乘以轉置後的主成分向量即得降維後的矩陣。比如,原始數據是150*4的矩陣,在步驟6中取得了2個主成分,那麼主成分矩陣就是2*4的矩陣。150*4的矩陣乘以4*2的矩陣,即得150*2的矩陣,體現了降維效果。(選取這個屬性較少的數據集是為了方便初學者的理解,在實際工程中,我們的屬性值往往不止4個,但降維方法都一樣的。)

⑦ 求主成分分析的代碼

太復雜!

⑧ 如何利用r語言代碼進行主成分分析

princomp(x, cor = FALSE, scores = TRUE, covmat = NULL, subset = rep_len(TRUE, nrow(as.matrix(x))), )當cor = TRUE是使用相關系數矩陣計算 當cor = FALSE是使用協方差矩陣計算 用相關系數矩陣計算就相當於先標准化,在進行主成分分析 用。

⑨ 利用matlab 進行主成分分析時如何獲得主成分得分矩陣,或者獲得主成分得分矩陣的調用函數是什麼啊1

在軟體Matlab中實現主成分分析可以採取兩種方式實現:一是通過編程來實現;二是直接調用Matlab中自帶程序實現。

通過直接調用Matlab中的程序可以實現主成分分析:

式中:X為輸入數據矩陣
(一般要求n>m)
輸出變數:
①pc 主分量fi的系數,也叫因子系數;注意:pcTpc=單位陣
②score是主分量下的得分值;得分矩陣與數據矩陣X的階數是一致的;
③variance是score對應列的方差向量,即A的特徵值;容易計算方差所佔的百分比
percent-v = 100*variance/sum(variance);
④t2表示檢驗的t2-統計量(方差分析要用)
計算過程中應用到計算模型:
(要求p<m)
例:表1為某地區農業生態經濟系統各區域單元相關指標數據,運用主成分分析方法可以用更少的指標信息較為精確地描述該地區農業生態經濟的發展狀況。
表1 某農業生態經濟系統各區域單元的有關數據
樣本序號 x1:人口密度(人/km2) x 2:人均耕地面積(ha) x 3:森林覆蓋率(%) x 4:農民人均純收入(元/人) x 5:人均糧食產量 (kg/人) x 6:經濟作物占農作物播面比例(%) x 7:耕地佔土地面積比率(%) x 8:果園與林地面積之比(%) x 9:灌溉田佔耕地面積之比(%)
1 363.912 0.352 16.101 192.11 295.34 26.724 18.492 2.231 26.262
2 141.503 1.684 24.301 1 752.35 452.26 32.314 14.464 1.455 27.066
3 100.695 1.067 65.601 1 181.54 270.12 18.266 0.162 7.474 12.489
4 143.739 1.336 33.205 1 436.12 354.26 17.486 11.805 1.892 17.534
5 131.412 1.623 16.607 1 405.09 586.59 40.683 14.401 0.303 22.932
6 68.337 2.032 76.204 1 540.29 216.39 8.128 4.065 0.011 4.861
7 95.416 0.801 71.106 926.35 291.52 8.135 4.063 0.012 4.862
8 62.901 1.652 73.307 1 501.24 225.25 18.352 2.645 0.034 3.201
9 86.624 0.841 68.904 897.36 196.37 16.861 5.176 0.055 6.167
10 91.394 0.812 66.502 911.24 226.51 18.279 5.643 0.076 4.477
11 76.912 0.858 50.302 103.52 217.09 19.793 4.881 0.001 6.165
12 51.274 1.041 64.609 968.33 181.38 4.005 4.066 0.015 5.402
13 68.831 0.836 62.804 957.14 194.04 9.110 4.484 0.002 5.790
14 77.301 0.623 60.102 824.37 188.09 19.409 5.721 5.055 8.413
15 76.948 1.022 68.001 1 255.42 211.55 11.102 3.133 0.010 3.425
16 99.265 0.654 60.702 1 251.03 220.91 4.383 4.615 0.011 5.593
17 118.505 0.661 63.304 1 246.47 242.16 10.706 6.053 0.154 8.701
18 141.473 0.737 54.206 814.21 193.46 11.419 6.442 0.012 12.945
19 137.761 0.598 55.901 1 124.05 228.44 9.521 7.881 0.069 12.654
20 117.612 1.245 54.503 805.67 175.23 18.106 5.789 0.048 8.461
21 122.781 0.731 49.102 1 313.11 236.29 26.724 7.162 0.092 10.078

對於上述例子,Matlab進行主成分分析,可以得到如下結果。
① 以及每一個主成分的貢獻率和累計貢獻率,如表2和圖1。

表2. 特徵根及主成分貢獻率
主成分 特徵值 貢獻率% 累積貢獻率%
1 4.661 51.791 51.791
2 2.089 23.216 75.007
3 1.043 11.589 86.596
4 0.507 5.638 92.234
5 0.315 3.502 95.736
6 0.193 2.140 97.876
7 0.114 1.271 99.147
8 4.533E-02 0.504 99.650
9 3.147E-02 0.350 100.000

圖1 特徵根
② 前3幾個主成分的載荷系數如表3所示。
表3 前三個主成分在原變數上的載荷
前三個主成分
變數 1 2 3
X1 0.158 -0.255 -0.059
X2 0.026 0.424 -0.027
X3 -0.207 0.046 0.091
X4 0.009 0.415 0.036
X5 0.174 0.212 -0.011
X6 0.176 0.086 0.120
X7 0.200 -0.064 -0.241
X8 0.042 -0.048 0.930
X9 0.207 -0.012 0.088