%% Domanda 1 % Utilizzando il seed 100 generare una matrice di dimensione 20x3 % di numeri provenienti dalla distribuzione uniforme nell'intervallo 0 15 % Denominare questa matrice con le ultime 2 lettere del proprio cognome. % Calcolare la distanza Euclidea e la distanza di Mahalanobis tra la riga 2 % e la riga 11 di questa matrice. Mostrare i risultati tramite la funzione % disp. rng(100) % rand genera numeri in base alle v.c. Uniforme nell'intervallo [0 1]. % Per ottenere numeri nell'intervallo [0 15] moltiplico il risultato per % 15. NI=15*rand(20,3); dM=squareform(pdist(NI,"mahalanobis")); dE=squareform(pdist(NI,"euclidean")); disp(['Distanza di Mahalanobis tra la riga due e la riga nove :' num2str(dM(2,11))]) disp(['Distanza Euclidea tra la riga due e la riga nove :' num2str(dE(2,11))]) %% Domanda 2 % Caricare in memoria la table di dimensione 200x6 contenente le % caratteristiche facciali di 200 soldati svizzeri tramite l'istruzione % load('head.mat'); % 1) Calcolare e commentare l'indice di curtosi per le variabili del dataset % % Dopo aver standardizzato i dati, % 2) rappresentare graficamene tramite boxplot le variabili del dataset % aggiungendo i nomi delle variabili sull'asse delle ascisse % 3) Applicare il metodo di clustering delle k medie imponento 2 gruppi % Rappresentare graficamente l'allocazione delle unità ai % 2 gruppi che sono stati % ottenuti tramite la matrice dei diagrammi di dispersione. % 4) Mostrare ed interpretare i centroidi che sono stati ottenuti load('head.mat'); Xtable=head; X=Xtable{:,:}; % Calcolare e commentare l'indice di asimmetria per la terza variabile. disp("Indice di curtosi per la sei variabili") disp(kurtosis(X)) % le variabili con curtosi superiore a 3 (in questo caso 1 4 5 e 6) sono % leptocurtiche, cioè più "appuntite" di una normale, quelle con curtosi % inferiori a 3 sono platicurtiche, cioè più "piatte" di una normale. % Standardizzazione % Xst matrice degli scostamenti standardizzati (formato array) Xst=zscore(X); % Xstable matrice degli scostamenti standardizzati (formato table) Xsttable=Xtable; Xsttable{:,:}=Xst; % 2) rappresentare graficamene tramite boxplot le variabili del dataset % aggiungendo i nomi delle variabili sull'asse delle ascisse boxplot(Xst,"Labels",Xtable.Properties.VariableNames) %% Cluster analysis [idx,C]=kmeans(Xst,2); figure spmplot(Xsttable,idx); % Dall'esame dei centroidi emerge che un gruppo è caratterizzato da facce % con lunghezze biometriche inferiori alla media generale e l'altro con lunghezze % superiori a quelle della media generale. disp('Analisi dei centroidi') disp(C) %% Domanda 3 % Caricare in memoria la table di dimensione 200x6 contenente le % caratteristiche facciali di 200 soldati svizzeri % Discutere la quota di varianza spiegata dalle prime due PC % Che caratteristiche presentano i soldati che hanno valori elevati della % prima componente principale? % Dall'esame del biplot che caratteristiche presenta il soldato numero 159 % Che relazione c'è tra la lunghezza delle frecce nel biplot e la % comunalità di una variabile % Mostrare la variabile che presenta la comunalità più alta con riferimento % alle prime 3 componenti principali. % Applicare la tecnica delle componenti principali out=pcaFS(Xtable); % La prima PC è correlata in maniera crescente con tutte le variabili. % Il soldato numero 159 presenta valori elevati della prima PC di % conseguenza presenta una faccia con caratteristiche più grandi della % media. Il soldato 159 si trova nella direzione delle due frecce "length % tragion" di conseguenza presenta valori elevati di queste due variabili % length_tragion_nasion length_tragion_gnathion % % Per coloro che vogliono sapere cosa sono queste variabili % https://www.proz.com/kudoz/english-to-italian/medical-general/1542684-nasion-mid-tragion-distance.html % Osservazione: Il tragion è un punto cefalometrico localizzato sul margine % superiore del trago dell'orecchio; Il nasion è un altro punto di % riferimento antropometrico situato nella parte anteriore del cranio; % corrisponde all'intersezione tra la linea orizzontale che unisce i due % solchi palpebrali superiori e un piano saggitale mediano (per una % identificazione più semplice, il nasion corrisponde alla depressione alla % radice del naso che indica la giunzione delle suture intranasale e % frontonasale). % % La lunghezza delle frecce è proporzionale alla quota di varianza spiegata % di ogni variabile dalle prime due componenti principali % Estraggo la quota di varianza delle variabili spiegata dalle prime 3 componenti % principali comu=out.communalitiesT(:,5); disp(comu) [maxc,indmax]=max(comu{:,1}); disp("Variabile con la più alta comunalità") disp(comu.Properties.RowNames(indmax))