%% Importazione dei dati dentro MATLAB X = readtable("ht_SD.xlsx", 'Sheet','dati','range','A1:D26','ReadRowNames',true); %% 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{:,:}; n=size(Xd,1); % Calcolo delle varianze campionarie disp('Varianze campionarie') varcamp=var(Xd); disp(varcamp); % Calcolo delle varianze campionarie tramite implementazione manuale varcampImpMan=sum((Xd-mean(Xd)).^2)/(n-1); disp('Implementazione manuale delle varianze') disp(varcampImpMan) % 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 AScamp=skewness(Xd,0); disp(AScamp) disp('Indici di asimmmetria implementazione manuale') Xdst=zscore(Xd); AScampImpMan=n/((n-1)*(n-2))*sum(Xdst.^3); % 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 kurcamp=kurtosis(Xd,0); disp(kurcamp) % Implemento la formula nel file di Excel e aggiungo 3 kurcampImpMan=(n+1)*n/((n-1)*(n-2)*(n-3))*sum(Xdst.^4)-3*(n-1)^2/((n-2)*(n-3))+3; % 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(Xdst) % 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