function xxx = lect04pc idata = load('c:\Data\USInterestRates.dat'); %figure(3);waterfall(idata) [T,n] = size(idata); data = idata(2:T,:)-idata(1:T-1,:); mm = mean(data); [pcs,comp,vars,t2] = princomp(data); disp(' variances % var.') disp([vars 100*vars/sum(vars)]) % correlation graph %figure(4);mesh(corrcoef(data)) % variances figure(1) pareto(100*vars/sum(vars));axis([0.5 12.5 0 100]) % factor loadings figure(2) subplot(3,1,1);plot(pcs(:,1));axis([0 12 -1 1]) subplot(3,1,2);plot(pcs(:,2));axis([0 12 -1 1]) subplot(3,1,3);plot(pcs(:,3));axis([0 12 -1 1]) % pcs1 = pcs(:,1:3); % take three loadings comp1 = comp(:,1:3); % take three components fitted = comp1*pcs1'; % recompose means for i=1:size(data,2) fitted(:,i)=fitted(:,i)+mm(i); end fitted = cumsum(fitted); for i=1:size(data,2) fitted(:,i)=fitted(:,i)+idata(1,i); end figure(5); subplot(3,1,1) plot(fitted(:,1),'r');hold on; plot(idata(:,1),'g');hold off; subplot(3,1,2) plot(fitted(:,3),'r');hold on; plot(idata(:,3),'g');hold off; subplot(3,1,3) plot(fitted(:,9),'r');hold on; plot(idata(:,9),'g');hold off;