因子分析——應用


因子分析——應用

 

P248

在一項消費者愛好的研究中,隨機邀請了一些顧客對某種新食品進行評價,共有5項指標(變量1-5)味道,價格,風味,適於快餐,補充能量。得到他們的相關系數矩陣。

 

求出載荷矩陣:

clc,clear;
clc,clear
r=[1 0.02 0.96 0.42 0.01
   0.02 1 0.13 0.71 0.85
   0.96 0.13 1 0.5 0.11
   0.42 0.71 0.5 1 0.79
   0.01 0.85 0.11 0.79 1];
[vec1,val,rate] = 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;

 

 

其實從相關系數矩陣中就可以看出,變量1,3之間聯系很大,變量2,5之間聯系很大。於是可以期望,因子模型可以取2個,至多3個公共因子。

% 公共因子個數
num = 2;
​
% 累積貢獻率
con = cumsum(rate(1:num));
​
% 提出兩個因子的載荷矩陣
a1 = a(:,[1:num]);
​
% 沒有旋轉的特殊方差
tcha = diag(r-a1*a1');
% 旋轉載荷矩陣,B 為旋轉因子載荷矩陣,T 為正交矩陣
[B,T] = rotatefactors(a1,'method','varimax');
​
% 求因子載荷矩陣a1的共同度
gtd1 = sum(a1.^2,2);
​
% 求因子載荷矩陣B的共同度
gtd2 = sum(B.^2,2);
​
% 分別計算兩個因子載荷矩陣對應的方差貢獻率
w = [sum(a1.^2),sum(B.^2)];

對此整理出表格:

 

 

從載荷矩陣來看,5個變量的貢獻值都比較大,表明了這兩個公共因子的確很好的解釋了每個變量方差的絕大部分。

很明顯,變量2,4,5在旋轉因子 上有大載荷,變量 1 ,3 在旋轉因子 上有大載荷,因此我們有理由稱 為營養因子, 為滋味因子。旋轉效果一目了然。

 

 


免責聲明!

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



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