%% Caricamento dati X=readtable('SDE2020.xlsx','Range','A1:F60','ReadRowNames',true); %% Distribuzione di frequenze classi=(60000:10000:100000)'; labels=cellstr(strcat(num2str(classi(1:end-1)),'-',num2str(classi(2:end)))); h=histogram(X.POP,classi); RI85=array2table(h.Values','RowNames',labels','VariableNames',{'Distr-Freq'}); disp('Distribuzione di frequenze') disp(RI85) %% Boxplot figure boxplot(X.ALT,X.ZONA) title('Marco Riani') % Commento: per le città del sud distribuzione con forte asimmetria % positiva, maggiore variabilità rispetto a quelle del nord e centro e un % valore anomalo nella coda di destra (Potenza) %% ACP outPCA=pcaFS(X(:,2:end)); % Utilizzando il criterio di spiegare almeno 0.95^4 dovrei spiegare almeno % l'81 per cento circa. Con le prime due PC spiego solo il 73.88 per cento % Prima CP (correlata positivamente con superficie e altitudine e % negativamente con densità) % Seconda CP (correlata positivamente con popolazione) % Valori elevati della prima PC e bassi per la seconda PC==> % città con elevata superficie, elevata altitudine e bassa popolazione %% K means % numero di repliche pari al numero di caratteri del vostro cognome Z=zscore(X{:,2:end}); [classif,Cent]=kmeans(Z,4,'Replicates',5,'Distance','cityblock'); % Osservazione. Cent contiene già i valori dei centroidi nello spazio delle % variabili standardizzate % Y = score non standardizzati Y=outPCA.score; etirighe=X.Properties.RowNames; % Proietto i centroidi nello spazio delle prime due componenti principali centroidiPCA=Cent*outPCA.coeff; %% Rappresentazione degli score + centroidi + gruppi di appartenenza + etichetta città close all idxAndRowLabels=strcat(num2str(classif),'--',etirighe); plot(Y(:,1),Y(:,2),'o') axislim=axis; xlabel('Prima componente principale'); ylabel('Seconda componente principale'); text(Y(:,1),Y(:,2),idxAndRowLabels) % Aggiungo l'asse x line([axislim(1);axislim(2)], [0;0], 'Color','black'); % Aggiungo l'asse y line([0;0],[axislim(3);axislim(4)], 'Color','black'); hold('on') plot(centroidiPCA(:,1),centroidiPCA(:,2),'s','MarkerFaceColor','r','LineWidth',5) % Il cluster che contiene Matera si trova valori elevati di PC1 e bassi di % PC2, quindi città con elevata superficie, elevata altitudine e bassa popolazione %% Matrice dei diagrammi di dispersione (distinta per zona geografica) spmplot(X(:,2:end),X{:,1}) %% Grafico in coordinate parallele (colore diverso a seconda della zona) figure parallelplot(X,'GroupVariable','ZONA') %% 5 punti con perfetta contrograduazione ma relazione lineare vicino o -1 x=(1:5)'; y=flip(x); y(1)=10; plot(x,y,'o') % Coefficiente di cograduazione disp(corr(x,y,'Type','Spearman')) % Coefficiente di correlazione disp(corr(x,y)) % I punti presentano perfetta contrograduazione ma relazione lineare non % esattamente pari a -1 (non sono tutti lungo la retta)