% Utilizzando i dati della zona A1:D101 % 1) Costuire il boxplot della variabile spesa per ogni modalità della variabile componenti % 2) Calcolare la matrice di correlazione, la matrice di cograduazione ed i relativi p-values. Commentare la significatività della relazione lineare tra spesa e visite e la significatività della cograduazione tra spesa e visite. % 3) Costruire la matrice dei diagrammi di dispersioni delle variabili età, visite e spesa utilizzando un diverso simbolo in base al numero di componenti % 4) Utilizzando tutte le variabili applicare la tecnica delle componenti principali. % Interpretare le prime due componenti latenti. % Che caratteristiche hanno le unità che presentano valori molto bassi per la prima componente principale? % 5) Costruire il biplot ed interpretare l'angolo nel biplot tra i vettori associati alle variabili visite e spesa % 6) Dopo aver standardizzato le variabili costruire la matrice delle distanze Euclidee tra le unità 10:15. % 7) Costruire un diagramma di dispersione con 6 punti che presentano una perfetta contrograduazione ma una correlazione lineare non esattamente pari a -1 % 8) Rappresentare tramite facce le prime 20 unità statistiche. %% Caricamento dati X=readtable('SDEfeb2021.xlsx','Range','A1:D101','ReadRowNames',false); X.Properties.VariableNames(1)="eta"; %% Boxplot % 1) Costuire il boxplot della variabile spesa per ogni modalità della variabile componenti boxplot(X.spesa,X.componenti); %% Xdouble Dataset in formato array (solo numeri senza intestazioni) Xdouble=X{:,:}; %% Matrice di correlazione [R,Pval]=corr(Xdouble); % nomiVar = vettore che contiene i nomi delle variabili nomiVar=X.Properties.VariableNames; disp('Matrice di correlazione e p-values del test di assenza di correlazione') Rtable=array2table(R,'VariableNames',nomiVar,'RowNames',nomiVar); disp(Rtable) Pvaltable=array2table(Pval,'VariableNames',nomiVar,'RowNames',nomiVar); disp(Pvaltable) % Relazione lineare altamente significativa tra visite e spesa %% Matrice di cograduazione [R,Pval]=corr(Xdouble,'Type','Spearman'); % nomiq = vettore che contiene i nomi delle variabili nomiVar=X.Properties.VariableNames; disp('Matrice di cograduazione e p-values del test di assenza di cograduazione') Rtable=array2table(R,'VariableNames',nomiVar,'RowNames',nomiVar); disp(Rtable) Pvaltable=array2table(Pval,'VariableNames',nomiVar,'RowNames',nomiVar); disp(Pvaltable) %% Scatterplot matrix % 3) Costruire la matrice dei diagrammi di dispersioni delle variabili età, % visite e spesa utilizzando un diverso simbolo in base al numero di % componenti spmplot(X(:,1:3),X{:,4}) %% Analisi in componenti principali outPCA=pcaFS(X); % Utilizzando il criterio di spiegare almeno 0.95^4 dovrei spiegare almeno % l'81 per cento circa. Con le prime due PC spiego solo il 82.07 per cento % Prima CP (correlata positivamente con spesa e visite) % Seconda CP (correlata positivamente con età e componenti) % Valori elevati della prima PC = consumatori con elevate visite e elevata spesa % Valori bassi della prima PC = consumatori con basse visite e bassa spesa %% Biplot % 5) Costruire il biplot ed interpretare l'angolo nel biplot tra i vettori associati alle variabili visite e spesa % Dall'output di pcaFS % Angolo tra le variabili spesa e visite molto piccolo. % Variabili correlate in maniera forte e diretta %% Matrice distanze euclidee % 6) Dopo aver standardizzato le variabili costruire la matrice delle % distanze Euclidee tra le unità 10:15. StEucliDist=squareform(pdist(Xdouble,'seuclidean')); StEucliDist=StEucliDist(10:15,10:15); %% rhoxy=-1 ma rxy non esattamente uguale a -1 % 7) Costruire un diagramma di dispersione con 6 punti che presentano una % perfetta contrograduazione ma una correlazione lineare non esattamente % pari a -1 figure x=(1:6)'; y=flip(x); y(1)=10; plot(x,y,'o') xlabel('asse x') ylabel('asse y') % Coefficiente di cograduazione disp('Coefficiente di cograduazione') disp(corr(x,y,'Type','Spearman')) % Coefficiente di correlazione disp('Coefficiente di correlazione') disp(corr(x,y)) % I punti presentano perfetta contrograduazione ma relazione lineare non % esattamente pari a -1 (non sono tutti lungo la retta) %% Rappresentazione iconica tramite facce % 8) Rappresentare tramite facce le prime 20 unità statistiche. glyphplot(X{1:20,:},'glyph','face')