% Importazione dei dati dentro MATLAB

X = readtable("HTss.xlsx", 'Sheet','dati','range','B1:E26','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{:,:};

% 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 crutosi')
% 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(mad(Xd,1))

% Calcolo degli indici MAD (normalizzati)
disp(1.4826*mad(Xd,1))

%
% 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')
disp(zscore(Xcont))
% Tutti i valori sono negativi tranne il primo (per soddisfare il vincolo
% che le medie siano 0)
disp('Standardizzazione robusta')
disp(zscoreFS(Xcont))
% La standardizzazione robusta non risente del valore anomalo





