当前位置:首页 » 编程语言 » 主成分分析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