%% Importazione dei dati dentro MATLAB X = readtable("HTss.xlsx", 'Sheet','dati','range','B1:E26','ReadRowNames',true,'Format','Auto'); % Calcolo statistiche descrittive % Definisco la matrice Xd come il contenuto della table X in formato double % (ossia contentente solo i numeri dentro X e senza i nomi di riga e % colonne) Xd=X{:,:}; % Calcolo delle varianze campionarie disp('Varianze campionarie') disp(var(Xd)) % Calcolo degli indici di asimmetria disp('Indici di asimmetria') % Il secondo argimento di skewness consente di specificare che vogliamo la % versione corretta (non distorta) dell'indice disp(skewness(Xd,0)) % Calcolo degli indici di curtosi disp('Indici di curtosi') % Il secondo argimento di skewness consente di specificare che vogliamo la % versione corretta (non distorta) dell'indice % I valori che calcola MATLAB sono uguali a quelli di Excel +3 disp(kurtosis(Xd,0)) % Calcolo degli indici MAD (non normalizzati) disp(' Calcolo degli indici MAD (non normalizzati)') disp(mad(Xd,1)) % Calcolo degli indici MAD (normalizzati) disp(' Calcolo degli indici MAD (normalizzati)') disp(1.4826*mad(Xd,1)) %% Controllo il modo di visualizzare i dati % L'istruzione che segue specifica il tipo di formato di visualizzazione dei % dati (shortG utilizza 5 cifre, il default รจ format short 4 cifre decimali dopo % la virgola) format shortG %% Standardizzazione dei dati % Standardizzazione tramite media e sigma utilizzando la funzione zscore disp('Standardizzazione tradizionale') disp(zscore(Xd)) % Standardizzazione robusta (tramite la funzione zscoreFS dell'FSDA % toolbox). % Osservazione: per installare l'FSDA toolbox dal menu APPS selezionare % "Get More Apps". Nella casella di ricerca "Search for add-ons" digitare % FSDA. disp('Standardizzazione robusta') disp(zscoreFS(Xd)) %% % Confronto tra standardizzazione tradizionale e standardizzazione robusta in % presenza di contaminazione % Il contenuto della matrice di double Xd viene copiato in una nuova % matrice di double denominata Xcont Xcont=Xd; % La prima riga di Xcont viene contaminata con il valore 10000 Xcont(1,:)=10000; disp('Standardizzazione tradizionale (dati contaminati)') disp(zscore(Xcont)) % Tutti i valori sono negativi tranne il primo (per soddisfare il vincolo % che le medie siano 0) disp('Standardizzazione robusta (dati contaminati)') disp(zscoreFS(Xcont)) % La standardizzazione robusta non risente del valore anomalo