因子分析的最后一步了,悲傷 !!!
在因子分析中,人們一般關注的重點是估計因子模型的參數(載荷矩陣),有時公共因子的估計(即所謂的因子得分)也是需要的,因子得分可以用於模型診斷,也可以作為下一步分析的原始數據。
需要指出的是,因子的得分計算並不是通常意義下的參數估計,他是對不可觀測的隨機變量 取值的估計
通常可以用加權最小二乘法和回歸法來估計因子得分
栗子哥又來了
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個步驟就全部完成了,也完成了變量內部聯系的分析,和總體的一個評估,最后回憶一下過程:
-
數據標准化
-
相關系數矩陣
-
載荷矩陣
-
因子旋轉
-
因子得分
恭喜大佬完成咯!!!