%% Esercizio % Reinizializzare a default il generatore dei numeri casuali % Generare una matrice di dimension n1-by-p (n1=10 e p=2) di numeri casuali % dalla distribuzione N(0,1). Generare una matrice di dimension n2-times-p % (n2=20 e p=2) di numeri casuali dalla distribuzione N(0+dx,1) con dx=5. % Mostrare i due gruppi di unità (utilizzando simboli diversi per i due % gruppi) in un diagramma a dispersione. % Combinare i due gruppi in una matrice X di dimensione (n1+n2)-by-p; % Costruire un grafico a dispersione delle due colonne della matrice X con % l'aggiunta del numero di ogni unità % % CLUSTERING GERARCHICO % % Applicare la metodologia del clustering gerarchico (utilizzando il % metodo del legame medio e la metrica della distanza euclidea). Costruire % il relativo dendrogramma, mostrando tutti i passi della procedura di % agglomerazione. % Tagliare il dendrogramma alla soglia di distanza 3.5. % Personalizzare l'orientamento del dendrogramma e/o la 'ColorThreshold'. % Opzioni 'Orientation', e 'ColorThreshold', % % CLUSTERING NON GERARCHICO % % Applicare la metodologia del clustering non gerarchico utilizzando la % metrica della distanza della città a blocchi e il metodo di clustering % delle kmedie utilizzando 3 gruppi. Rappresentare la classficazione % tramite la funzione spmplot % % Esplorare come cambia la classificazione utilizzando un numero di % gruppi pari a k (con k=2, 3, 4 e 5). Visualizzare il risultato della % classificazione tramite la funzione gscatter. Utilizzare un grafico a 4 % pannelli. Il pannello in alto a sinistra contiene la classificazione con % 2 gruppi, il pannello in alto a destra contiene la classificazione con 3 % gruppi .... % Ripetere la procedura aggiungendo ai 4 pannelli i centroidi dei gruppi. % % % Tramite la funzione di MATLAB evalclusters scegliere il numero ottimo di gruppi. % Come numero di gruppi da esplorare scegliere k=1:6 % Come criterio da utilizzare scegliere CalinskiHarabasz % Osservazione: criterio di CalinskiHarabasz= devianza tra i gruppi / devianza nei gruppi % Rappresentare graficamente l'indice di CalinskiHarabasz in funzione di k % Commentare il grafico. % ESEMPI PRATICI UTILIZZANDO DATASETS NOTI NELLA LETTERATURA DELLA CLUSTER % ANALYSIS % Fare il clear della memoria % Caricare in memoria il dataset contenuto nel file geyser.txt dell'FSDA % toolbox. % Per ulteriori informazioni su questo dataset di veda la sezione datasets % dell'FSDA toolbox. % Costruire il grafico a dispersione delle due % variabili nel dataset. Dall'analisi grafica quanti gruppi sembrano essere % presenti? Ci sono outliers? % Esplorare i risultati che si ottengono utilizzando la metodologia delle % k-medie e la metrica della città a blocchi k=3 % Commentare i risultati ottenuti e l'effetto degli outliers sulla % classificazione. Visualizzare i risultati della classificazione % utilizzando la funzione spmplot. % % Esplorare come varia la classificazione utilizzando diverse metriche. % Fissare k =3 ed esplorare (in un grafico a 4 pannelli) la classificazioen % che si ottiene con le seguenti 4 metriche % 'sqeuclidean', 'cityblock', 'cosine', 'correlation' % % % Calcolare il numero ottimo dei gruppi che viene suggerito % dall'applicazione della funzione evalclusters (utilizzare la distanza Euclidea). % % Utilizzando la funzione tkmeans (trimmed k-means) dell'FSDA toolbox, % analizzare la classificazione che si ottiene quando si impone un numero % di gruppi k=3 e una frazione di trimming alpha pari a 0.05. % Analizzare la stabilità dei risultati al variare della frazione di % trimming alpha. % Osservazione: finora abbiamo lavorato con gruppi di forma sferica. % L'obiettivo dell'esempio che segue è quello di mostrare la necessità di % lavorare con le distanze di Mahalanobis al posto delle distanze Euclidee. % % % Resettare il generatore di numeri casuali. % Generare un numero di unità n1 (n1=100) da una distribuzione normale % bivariata con vettore delle medie mu=(2 3)' e matrice di covarianze % 1 1.5 % 1.5 3 % Generare un numero di unità n2 (n2=100) da una distribuzione normale % bivariata con vettore delle medie mu=(5 3)' e matrice di covarianze % 1 1.4 % 1.4 3 % Combinare i due gruppi in una matrice di dimensione n1+n2-by-2. % Costruire il diagramma di dispersione dei due gruppi che sono stati generati % Applicare la metodologia delle k-medie utilizzando la metrica della % distanza Euclidea e un numero di gruppi pari a 2. Commentare i risultati % della classificazione che si ottiene % Calcolare il numero ottimo di gruppi che risulta dall'applicazione della funzione % evalclusters (come numero minimo e massimo di k scegliere 1 e 10). % Analizzare la classificazione che si ottiene (tramite il metodo kmeans e % la metrica della distanza Euclidea) inserendo il numero ottimo di gruppi % trovato in automatico dalla funzione evalclusters. % Allo scopo di ottenere risultati stabili, utilizzare un numero di % repliche pari a 100 quando si chiama la funzione kmeans. % Applicare al dataset la funzione tclust utilizzando un numero di gruppi % pari a 2, una percentuale di trimming pari a zero e un restriction factor uguale a 100. % Visualizzare i risultati della classificazione e gli ellissi di % confidenza associati a ciascun gruppo. % Commentare i risultati ottenuti. % Fare il clear della memoria e chiudere tutti i grafici % Caricare in memoria i dati della qualità della vita: file % citiesItaly.mat di FSDA % Applicare il metodo di raggruppamento non gerarchico tclust utilizzando % un numero di gruppi pari a 3, una frazione di trimming pari al 3 per % cento ed un valore del fattore di restrizione pari a 10. % Per avere la replicabilità dei risultati impostare l'opzione nsamp a 1000 % Visualizzare e commentare i risultati della classificazione % Mostrare le unità (province che non sono state classificate in quanto % anomale)