x
i
=
μ
i
+
a
i
1
F
1
+
a
i
2
F
2
+
a
i
3
F
3
+
a
i
4
F
4
+
ε
i
,
i
=
1
,
2
,
⋯
,
10
x_i=μ_i+a_{i1}F_1+a_{i2}F_2+a_{i3}F_3+a_{i4}F_4+ε_i, i=1,2,⋯,10
xi=μi+ai1F1+ai2F2+ai3F3+ai4F4+εi,i=1,2,⋯,10
其中
设有
p
p
p个原始变量
x
i
x_i
xi,标准化后为
X
i
X_i
Xi(一般都要标准化),它们可能相关,则可以建立因子分析模型如下:
X
i
=
μ
i
+
a
i
1
F
1
+
a
i
2
F
2
+
.
.
.
+
a
i
m
F
m
+
ε
i
,
i
=
1
,
2
,
⋯
,
p
,
m
≤
p
X_i=μ_i+a_{i1}F_1+a_{i2}F_2+...+a_{im}F_m+ε_i, i=1,2,⋯,p,m\le p
Xi=μi+ai1F1+ai2F2+...+aimFm+εi,i=1,2,⋯,p,m≤p
或
或
X
−
μ
=
Λ
F
+
ε
并且满足
C
o
v
(
X
)
=
Λ
Λ
T
+
d
i
a
g
(
σ
1
2
,
σ
2
2
,
.
.
.
,
σ
3
2
)
X
X
X是经过标准化的,所以
C
o
v
(
X
i
)
=
1
Cov(X_i)=1
Cov(Xi)=1
设
T
T
T为一个p×p的正交矩阵,令
Λ
~
=
Λ
T
,
F
~
=
T
T
F
\tilde\varLambda=\varLambda T,\tilde F=T^TF
Λ~=ΛT,F~=TTF
则(1)可以表达为
X
−
μ
=
Λ
~
F
~
+
ε
X-\mu=\tilde\varLambda \tilde F+\varepsilon
X−μ=Λ~F~+ε
并且新的公共因子
F
~
\tilde F
F~依旧满足条件。
因子载荷 a i j a_{ij} aij是第 i i i个变量与第 j j j个公共因子的相关系数,即 a i j = r x i F j a_{ij}=r_{x_iF_j} aij=rxiFj
变量
X
i
X_i
Xi的共同度是因子载荷矩阵的第
i
i
i行的元素的平方和,记为
h
i
2
=
∑
j
=
1
m
a
i
j
2
h_i^2=\sum_{j=1}^ma_{ij}^2
hi2=∑j=1maij2,由(2)式得到
1
=
∑
j
=
1
m
a
i
j
2
+
σ
i
2
1=\sum_{j=1}^ma_{ij}^2+\sigma_i^2
1=∑j=1maij2+σi2
所有公共因子和特殊因子对变量
X
i
X_i
Xi的贡献为1,如果共同都非常靠近1,则从原变量空间到公共因子空间的转化效果好。
F j F_j Fj对所有的 X i X_i Xi的方差贡献和是因子载荷矩阵的第 j j j行的元素的平方和,记为 S j = ∑ i = 1 p a i j 2 S_j=\sum_{i=1}^p a_{ij}^2 Sj=∑i=1paij2,用以衡量 F j F_j Fj的相对重要性。
样本相关系数矩阵
R
=
c
o
r
r
c
o
e
f
(
x
)
=
c
o
v
(
X
)
=
c
o
r
r
c
o
e
f
(
X
)
R=corrcoef(x)=cov(X)=corrcoef(X)
R=corrcoef(x)=cov(X)=corrcoef(X),
λ
1
≥
λ
2
≥
.
.
.
≥
λ
p
\lambda_1\ge\lambda_2\ge...\ge\lambda_p
λ1≥λ2≥...≥λp为
R
R
R的特征值,
η
1
,
η
2
,
.
.
.
,
η
p
\eta_1,\eta_2,...,\eta_p
η1,η2,...,ηp为相应的标准正交化特征向量。
则因子载荷矩阵
Λ
=
[
λ
1
η
1
,
λ
2
η
2
,
.
.
.
,
λ
p
η
p
]
\varLambda=[\sqrt{\lambda_1}\eta_1,\sqrt{\lambda_2}\eta_2,...,\sqrt{\lambda_p}\eta_p]
Λ=[λ1η1,λ2η2,...,λpηp]
特殊因子的方差
σ
i
2
=
1
−
∑
j
=
1
m
a
i
j
2
\sigma_i^2=1-\sum_{j=1}^ma_{ij}^2
σi2=1−j=1∑maij2
记
R
∗
=
Λ
Λ
T
=
R
−
d
i
a
g
(
σ
1
,
.
.
.
,
σ
m
)
R^*=\varLambda\varLambda^T=R-diag(\sigma_1,...,\sigma_m)
R∗=ΛΛT=R−diag(σ1,...,σm)
R
∗
R^*
R∗为约相关系数矩阵,对角线上的元素是
h
i
2
h_i^2
hi2。
特殊因子的方差一般是未知的,通过如下方法进行估计:
记
λ
1
∗
≥
λ
2
∗
≥
.
.
.
≥
λ
p
∗
\lambda_1^*\ge\lambda_2^*\ge...\ge\lambda_p^*
λ1∗≥λ2∗≥...≥λp∗为
R
R
R的特征值,
η
1
∗
,
η
2
∗
,
.
.
.
,
η
p
∗
\eta_1^*,\eta_2^*,...,\eta_p^*
η1∗,η2∗,...,ηp∗为相应的标准正交化特征向量。
则因子载荷矩阵
Λ
=
[
λ
1
∗
η
1
∗
,
λ
2
∗
η
2
∗
,
.
.
.
,
λ
p
∗
η
p
∗
]
\varLambda=[\sqrt{\lambda_1^*}\eta_1^*,\sqrt{\lambda_2^*}\eta_2^*,...,\sqrt{\lambda_p^*}\eta_p^*]
Λ=[λ1∗η1∗,λ2∗η2∗,...,λp∗ηp∗]
Matlab工具箱求因子载荷矩阵使用的是最大似然估计法,命令是factoran。
F
^
=
(
Λ
T
D
−
1
Λ
)
−
1
Λ
T
D
−
1
(
X
−
μ
)
\hat F=(\varLambda^TD^{-1}\varLambda)^{-1}\varLambda^TD^{-1}(X-\mu)
F^=(ΛTD−1Λ)−1ΛTD−1(X−μ)
D
=
d
i
a
g
(
σ
1
2
,
σ
2
2
,
.
.
.
,
σ
p
2
)
D=diag(\sigma_1^2,\sigma_2^2,...,\sigma_p^2)
D=diag(σ12,σ22,...,σp2)
F ^ = X R − 1 Λ \hat F=XR^{-1}\varLambda F^=XR−1Λ
贡献率数据 | |||
---|---|---|---|
因子 | 贡献 | 贡献率 | 累计贡献率 |
1 | 1.7794 | 44.49 | 44.49 |
2 | 1.6673 | 41.68 | 86.17 |
旋转因子分析表 | ||
---|---|---|
指标 | 主因子1 | 主因子2 |
销售净利率 | 0.893 | 0.0082 |
资产净利率 | 0.372 | 0.8854 |
净资产收益率 | -0.2302 | 0.9386 |
销售毛利率 | 0.8892 | 0.0494 |
主因子1是销售利润银子,主因子2是资产收益因子。
各个因子得分函数为
F
1
=
0.513
x
~
1
+
0.1615
x
~
2
−
0.1831
x
~
3
+
0.5015
x
~
4
F
2
=
−
0.045
x
~
1
+
0.5151
x
~
2
+
0.581
x
~
3
−
0.0199
x
~
4
F_1=0.513\tilde x_1+0.1615\tilde x_2-0.1831\tilde x_3+0.5015\tilde x_4\\ F_2=-0.045\tilde x_1+0.5151\tilde x_2+0.581\tilde x_3-0.0199\tilde x_4
F1=0.513x~1+0.1615x~2−0.1831x~3+0.5015x~4F2=−0.045x~1+0.5151x~2+0.581x~3−0.0199x~4
利用综合因子得分公式
F
=
44.49
F
1
+
41.68
F
2
86.17
F=\frac{44.49F_1+41.68F_2}{86.17}
F=86.1744.49F1+41.68F2
F
=
0.829
−
0.0268
y
F=0.829-0.0268y
F=0.829−0.0268y
回归方程在显著性水平0.05的情况下,通过了显著性检验。
clc,clear
load ssgs.txt %把原始数据保存在纯文本文件ssgs.txt中
n=size(ssgs,1); %样本数
x=ssgs(:,1:4);y=ssgs(:,5);%提取自变量和因变量
X=zscore(x); %对x进行标准化
R=corrcoef(X);%求相关系数矩阵
[vec1,val,con1]=pcacov(R); %进行主成分分析的相关计算,vec1特征向量,val特征值,con1贡献率
f1=repmat(sign(sum(vec1)),size(vec1,1),1);
vec2=vec1.*f1; %特征向量正负号转换
f2=repmat(sqrt(val)',size(vec2,1),1);
a=f2.*vec2; %初等载荷矩阵,选取前两个因子,但是载荷没有接近±1,0,所以旋转因子
am=a(:,1:2);%提出前两列的载荷矩阵
[bm,t]=rotatefactors(am,'Method','varimax');%bm旋转后的载荷矩阵,t正交矩阵
bt=[bm,a(:,3:end)];%旋转后全部因子的载荷矩阵
con2=sum(bt.^2);%因子贡献是每列平方和
rate=con2/sum(con2);%因子贡献率
%注意旋转前和旋转后的贡献率是不一样的,但前两个贡献率之和一样
check=[con1,rate'*100];
coef=inv(R)*bm;%得分函数的系数
score=X*coef;%计算样本在两个因子上的得分
Tscore=(rate(1)*score(:,1)+rate(2)*score(:,2))/sum(rate(1:2));%计算综合得分
[STscore,ind]=sort(Tscore,'descend');%降序排序
display=[score(ind,:)';STscore';ind']; %显示排序结果
[d,dt,e,et,stats]=regress(Tscore,[ones(n,1),y]);%计算F与资产负债的方程,p值=0.0026,通过显著性检验