因子分析——因子得分


因子分析——因子得分

 

因子分析的最后一步了,悲傷 !!!

 

 

在因子分析中,人們一般關注的重點是估計因子模型的參數(載荷矩陣),有時公共因子的估計(即所謂的因子得分)也是需要的,因子得分可以用於模型診斷,也可以作為下一步分析的原始數據。

需要指出的是,因子的得分計算並不是通常意義下的參數估計,他是對不可觀測的隨機變量 取值的估計

通常可以用加權最小二乘法和回歸法來估計因子得分

 

栗子哥又來了

 

P252

我國上市公司贏利能力與資本結構的實證分析

這些公司的資本結構有 銷售凈利潤,資產凈利潤,凈資產收益率,銷售毛利率,以及資產負利率

 

clc,clear;
​
load ssgs.txt
x = ssgs(:,[1:4]);
y = ssgs(:,5);
​
n = size(ssgs,1);
​
% 數據標准化 求相關系數矩陣
x = zscore(x);
r = corrcoef(x);
​
% 進行主成分分析的相關計算,求旋轉后的載荷矩陣
[vec1,val,con1] = pcacov(r);
f1 = repmat(sign(sum(vec1)),size(vec1,1),1);
vec2 = vec1.*f1;
f2 = repmat(sqrt(val)',size(vec2,1),1);
a = vec2.*f2;

 

% 提出num個主因子的載荷矩陣
num = 2;
am = a(:,[1:num]);
​
% am 旋轉變換,bm 為旋轉后的載荷矩陣
[bm,t] = rotatefactors(am,'method','varimax');

% am 旋轉變換,bm 為旋轉后的載荷矩陣
[bm,t] = rotatefactors(am,'method','varimax');
​
% bt 前部分是旋轉后的載荷矩陣  后部分為沒有旋轉的載荷矩陣
bt = [bm,a(:,[num+1:end])];
​
% 計算貢獻因子
con2 = sum(bt.^2);
​
% 可以查看一下旋轉后的貢獻率
check = [con1,con2'/sum(con2)*100];
% 旋轉后的因子貢獻率
rate = con2(1:num)/sum(con2);

 

計算得分函數的系數

% 計算得分函數的系數
coef = inv(r)*bm
​
coef =
    0.5060   -0.0450
    0.1615    0.5151
   -0.1831    0.5810
    0.5015   -0.0199
% 計算各個因子得分
score = x*coef;

 

得分函數系數公式:

 
 
% 計算得分的權重
weight = rate/sum(rate);
weight =
    0.5163    0.4837

 

這個公式書上有問題的哦!!!

 

 

各個企業的得分:

 

最后一步,對 ​F 繼續利用,分析和 y 的回歸方程:

% 計算因子 F 與 資產負債 y 的相關系數
[ccoef,p] = corrcoef([Tscore,y]);
​
[d,dt,e,et,stats] = regress(Tscore,[ones(n,1),y]);
d,stats
​
d =0.8290
   -0.0268
​
​
stats =0.4882   13.3524    0.0026    0.2745

得因子分析法的回歸方程:

 

 

至此因子分析的5個步驟就全部完成了,也完成了變量內部聯系的分析,和總體的一個評估,最后回憶一下過程:

  • 數據標准化

  • 相關系數矩陣

  • 載荷矩陣

  • 因子旋轉

  • 因子得分

恭喜大佬完成咯!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM