数学建模常用模型14 :因子分析

您所在的位置:网站首页 数学建模对专业有要求吗 数学建模常用模型14 :因子分析

数学建模常用模型14 :因子分析

#数学建模常用模型14 :因子分析| 来源: 网络整理| 查看: 265

给大家安利一款朋友开发的自研国产数据分析基础工具,一键式自动分析,自动生成分析模板,5分钟掌握主流61个统计类数学模型(几乎涵盖SPSS绝大部分功能),以及23个有监督机器学习(包括随机森林,SVM,XGBoost等)

PS:巨方便简单上手,貌似现在是免费

官网:www.mpaidata.com   mpai数据科学平台

 

 

因子分析可以看作是主成分分析的一个扩充,因子分析在数学建模中使用的没有主成分分析那么多。关于因子分析和主成分分析的区别可以看一下司守奎老师的“因子分析”那个章节。一开始就有介绍区别。

因子分析

1)主成分分析法:

例5 研究纽约股票市场上五种股票的周回升率。这里,周回升率=(本星期五市场收盘价-上星期五市场收盘价)/上星期五市场收盘价。从1975年1月到1976年12月,对这五种股票作了100组独立观测。因为随着一般经济状况的变化,股票有集聚的趋势,因此,不同股票周末回升率是彼此相关的。

相关系数矩阵:

                                            

对m=1和m=2,因子分析主成分解见下表。

变量

一个因子

两个因子

因子载荷估计

特殊方差

因子载荷估计

特殊方差

 

 

1

0.7836

0.3860

0.7836

-0.2162

0.3393

2

0.7726

0.4031

0.7726

-0.4581

0.1932

3

0.7947

0.3685

0.7947

-0.2343

0.3136

4

0.7123

0.4926

0.7123

0.4729

0.2690

5

0.7119

0.4931

0.7119

0.5235

0.2191

累积贡献

0.571342

 

0.571342

0.733175

 

对m=2,残差矩阵R - A{A^T} - Cov\left( U \right)

                             

第一个因子F1代表了一般经济条件,称为市场因子,所有股票在这个因子上的载

荷都比较大,且大致相等,第二个因子是化学股和石油股的一个对照,两者分别有比较大的负、正载荷。可见F2使不同的工业部门的股票产生差异,通常称之为工业因子。归纳起来,我们有如下结论:股票回升率由一般经济条件、工业部门活动和各公司本身特殊活动三部分决定。

MATLAB源代码:

 

clc,clear r=[1.000 0.577 0.509 0.387 0.462 0.577 1.000 0.599 0.389 0.322 0.509 0.599 1.000 0.436 0.426 0.387 0.389 0.436 1.000 0.523 0.462 0.322 0.426 0.523 1.000]; %下面利用相关系数矩阵求主成分解,val的列为r的特征向量,即主成分的系数 [vec,val,con]=pcacov(r);%val为r的特征值,con为各个主成分的贡献率 f1=repmat(sign(sum(vec)),size(vec,1),1); %构造与vec同维数的元素为±1的矩阵 vec=vec.*f1; %修改特征向量的正负号,每个特征向量乘以所有分量和的符号函数值 f2=repmat(sqrt(val)',size(vec,1),1); a=vec.*f2 %构造全部因子的载荷矩阵 a1=a(:,1) %提出一个因子的载荷矩阵 tcha1=diag(r-a1*a1') %计算一个因子的特殊方差 a2=a(:,[1,2]) %提出两个因子的载荷矩阵 tcha2=diag(r-a2*a2') %计算两个因子的特殊方差 ccha2=r-a2*a2'-diag(tcha2) %求两个因子时的残差矩阵 gong=cumsum(con) %求累积贡献率

    该MATLAB源代码运行结果中的a为载荷矩阵。主因子方法是对主成分方法的修正。

 

2)主因子分析法:

例 我国上市公司赢利能力与资本结构的实证分析

已知上市公司的数据见表1。

表1 上市公司数据

公司

销售净利率X1

资产净利率X2

净资产收益率X3

销售毛利率X4

资产负利率X5

歌华有线

43.31

7.39

8.73

54.89

15.35

五粮液

17.11

12.13

17.29

44.25

29.69

用友软件

21.11

6.03

7

89.37

13.82

太太药业

29.55

8.62

10.13

73

14.88

浙江阳光

11

8.41

11.83

25.22

25.49

烟台万华

17.63

13.86

15.41

36.44

10.03

方正科技

2.73

4.22

17.16

9.96

74.12

红河光明

29.11

5.44

6.09

56.26

9.85

贵州茅台

20.29

9.48

12.97

82.23

26.73

中铁二局

3.99

4.64

9.35

13.04

50.19

红星发展

22.65

11.13

14.3

50.51

21.59

伊利股份

4.43

7.3

14.36

29.04

44.74

青岛海尔

5.4

8.9

12.53

65.5

23.27

湖北宜化

7.06

2.79

5.24

19.79

40.68

雅戈尔

19.82

10.53

18.55

42.04

37.19

福建南纸

7.26

2.99

6.99

22.72

56.58

MATLAB源代码:

clc,clear load data.txt; %把原始数据保存在纯文本文件data.txt中 n=size(data,1); x=data(:,1:4); y=data(:,5); %分别提出自变量x和因变量y的值 —————————————————————————————————— 如果不需要检验,则不需要把y列入原始数据中,把矩阵x的大小改变一下,以及下文中的m,m为原始数据中变量的个数。 —————————————————————————————————— m=4;%m为变量的个数 x=zscore(x); %数据标准化 r=cov(x); %求标准化数据的协方差阵,即求相关系数矩阵 [vec,val,con]=pcacov(r); %进行主成分分析的相关计算 c=cumsum(con); i=1; while ((c(i)10)) i=i+1; end num=i; f1=repmat(sign(sum(vec)),size(vec,1),1); vec=vec.*f1; %特征向量正负号转换 f2=repmat(sqrt(val)',size(vec,1),1); a=vec.*f2; %求初等载荷矩阵 am=a(:,1:num); %提出num个主因子的载荷矩阵 [b,t]=rotatefactors(am,'method', 'varimax'); %旋转变换,b为旋转后的载荷阵 bt=[b,a(:,num+1:end)]; %旋转后全部因子的载荷矩阵 contr=sum(bt.^2); %计算因子贡献 rate=contr(1:num)/sum(contr); %计算因子贡献率 fprintf('综合因子得分公式:F='); for i=1:num fprintf('+%f*F%d',rate(i),i); end fprintf('\n'); coef=inv(r)*b; %计算得分函数的系数 coef=coef'; for i=1:num fprintf('各个因子得分函数为F%d=',i); for j=1:m fprintf('+(%f)*x_%d',coef(i,j),j); end fprintf('\n'); end %如果仅仅因子分析,程序到此为止 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% score=x*coef';%计算各个因子的得分 weight=rate/sum(rate); %计算得分的权重 Tscore=score*weight'; %对各因子的得分进行加权求和,即求各企业综合得分 [STscore,ind]=sort(Tscore,'descend'); %对企业进行排序 display=[score(ind,:)';STscore';ind']; %显示排序结果 fprintf('排序结果如下:'); for i=1:num fprintf('第%d行为F%d得分,',i,i); end fprintf('第%d行为综合因子得分,第%d为原序列\n',num+1,num+2); disp(display); [ccoef,p]=corrcoef([Tscore,y]); %计算F与资产负债的相关系数 [d,dt,e,et,stats]=regress(Tscore,[ones(n,1),y]);%计算F与资产负债的方程 fprintf('因子分析法的回归方程为:F=%f+(%f*y)',d(1),d(2)); if (stats(3)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3