資源描述:
《因子分析的matlab實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、%--------------------------------------------------------------------------%從相關(guān)系數(shù)矩陣出發(fā)進(jìn)行因子分析%--------------------------------------------------------------------------%***************************定義相關(guān)系數(shù)矩陣PHO*****************************PHO=[10.790.360.760.250
2、.510.7910.310.550.170.350.360.3110.350.640.580.760.550.3510.160.380.250.170.640.1610.630.510.350.580.380.631];%******************調(diào)用factoran函數(shù)根據(jù)相關(guān)系數(shù)矩陣作因子分析*****************%從相關(guān)系數(shù)矩陣出發(fā),進(jìn)行因子分析,公共因子數(shù)為2,設(shè)置特殊方差的下限為0,%不進(jìn)行因子旋轉(zhuǎn)[lambda,psi,T]=factoran(PHO,2,'xtype','c
3、ovariance','delta',0,'rotate','none')%定義元胞數(shù)組,以元胞數(shù)組形式顯示結(jié)果%表頭head={'變量','因子f1','因子f2'};%變量名varname={'身高','坐高','胸圍','手臂長','肋圍','腰圍','<貢獻(xiàn)率>','<累積貢獻(xiàn)率>'}';Contribut=100*sum(lambda.^2)/6;%計算貢獻(xiàn)率,因子載荷陣的列元素之和除以維數(shù)CumCont=cumsum(Contribut);%計算累積貢獻(xiàn)率%將因子載荷陣,貢獻(xiàn)率和累積貢獻(xiàn)率放在一起
4、,轉(zhuǎn)為元胞數(shù)組result1=num2cell([lambda;Contribut;CumCont]);%加上表頭和變量名,然后顯示結(jié)果result1=[head;varname,result1]%從相關(guān)系數(shù)矩陣出發(fā),進(jìn)行因子分析,公共因子數(shù)為2,設(shè)置特殊方差的下限為0,%進(jìn)行因子旋轉(zhuǎn)(最大方差旋轉(zhuǎn)法)[lambda,psi,T]=factoran(PHO,2,'xtype','covariance','delta',0)Contribut=100*sum(lambda.^2)/6%計算貢獻(xiàn)率,因子載荷陣的列
5、元素之和除以維數(shù)CumCont=cumsum(Contribut)%計算累積貢獻(xiàn)率%從相關(guān)系數(shù)矩陣出發(fā),進(jìn)行因子分析,公共因子數(shù)為3,設(shè)置特殊方差的下限為0,%進(jìn)行因子旋轉(zhuǎn)(最大方差旋轉(zhuǎn)法)[lambda,psi,T]=factoran(PHO,3,'xtype','covariance','delta',0)Contribut=100*sum(lambda.^2)/6%計算貢獻(xiàn)率,因子載荷陣的列元素之和除以維數(shù)CumCont=cumsum(Contribut)%計算累積貢獻(xiàn)率%---------------
6、-----------------------------------------------------------%讀取examp12_02.xls中數(shù)據(jù),進(jìn)行因子分析%--------------------------------------------------------------------------%*********************************讀取數(shù)據(jù)*********************************[X,textdata]=xlsread('exa
7、mp12_02.xls');%從Excel文件中讀取數(shù)據(jù)X=X(:,3:end);%提取X的第3至最后一列,即要分析的數(shù)據(jù)varname=textdata(4,3:end);%提取textdata的第4行,第3至最后一列,即變量名obsname=textdata(5:end,2);%提取textdata的第2列,第5至最后一行,即國家或地區(qū)名%******************調(diào)用factoran函數(shù)根據(jù)原始觀測數(shù)據(jù)作因子分析*****************%從原始數(shù)據(jù)(實(shí)質(zhì)還是相關(guān)系數(shù)矩陣)出發(fā),進(jìn)行因
8、子分析,公共因子數(shù)為4%進(jìn)行因子旋轉(zhuǎn)(最大方差旋轉(zhuǎn)法)[lambda,psi,T,stats]=factoran(X,4)Contribut=100*sum(lambda.^2)/8%計算貢獻(xiàn)率,因子載荷陣的列元素之和除以維數(shù)CumCont=cumsum(Contribut)%計算累積貢獻(xiàn)率%從原始數(shù)據(jù)(實(shí)質(zhì)還是相關(guān)系數(shù)矩陣)出發(fā),進(jìn)行因子分析,公共因子數(shù)為2%進(jìn)行因子旋轉(zhuǎn)(最大方差旋轉(zhuǎn)法)[lam