X=[15 15 8 5 12; 18 17 7 6 19; 17 21 10 13 18; 19 13 15 11 12; 19 19 13 9 15; 20 17 13 10 14]; group=[repmat('A',6,1); repmat('B',6,1); repmat('C',6,1); repmat('D',6,1); repmat('E',6,1)]; group=cellstr(group); X=X(:); % Si tratta di applicare l’analisi della varianza. % Quindi il sistema d’ipotesi è: % \mu_1=\mu_2=\mu_3=\mu_4=\mu_5 %% Boxplot boxplot(X,group); %% Test ANOVA di uguaglianza delle medie % Analisi ANOVA [p,anovatab,stats]=anova1(X,group); % Al livello di significatività alpha = 0,05, con 4 gradi di libertà al % numeratore e 25 al denominatore il valore tabulato di F è 2,76 il quale è % inferiore al risultato del test (11,48) per cui H0 viene rifiutata cioè % si considera significativa la diversità delle medie campionarie e quindi % l'influenza della pubblicità sui punteggi assegnati. %% Calcolo manuale della devianza nei gruppi e della devianza tra i gruppi e degli intervalli di confidenza % unigroup=cell che contiene le etichette dei diversi gruppi unigroup=unique(group); % inizializzazione di devNEI e devFRA devNEI=0; devFRA=0; n=length(X); ngroups=length(unigroup); % conflev = scalare associato all'ampiezza dell'intervallo di confidenza conflev=0.99; zalpha=norminv(1-(1-conflev)/2); Mglobal=mean(X); % inizializzazione della matrice ConfInt % Prima colonna di Confint = estremo inferiore intervallo di confidenza del % gruppo j % Seconda colonna di Confint = Media del gruppo j % Terza colonna di Confint = estremo superiore intervallo di confidenza del % gruppo j Confint=zeros(ngroups,3); for j=1:ngroups booj=strcmp(group,unigroup(j)); % nj = numerosità del gruppo j nj=sum(booj); % Xj= vettore di lunghezza nj che contiene le unità appartenenti al % gruppo j Xj=X(booj); % varj = varianza (corretta) delle unità appartenenti al gruppo j varj=var(Xj); % stdj= standard deviation (s corretto) delle unità appartenenti ai % gruppo j stdj=sqrt(varj); devNEI=devNEI+varj*(nj-1); % Mj=media del gruppo j Mj=mean(Xj); devFRA=devFRA+(Mj-Mglobal)^2 *nj; % Costruzione dell'intervallo di confidenza per le unità appartenenti % al gruppo j Confint(j,:)=[Mj-zalpha*stdj/sqrt(nj) Mj Mj+zalpha*stdj/sqrt(nj)]; end varFRA=devFRA/n; varNEI=devNEI/n; % test ANOVA numANOVA=devFRA/(ngroups-1); denANOVA=devNEI/(n-ngroups); testANOVA=numANOVA/denANOVA; pvaltestANOVA=fcdf(testANOVA,ngroups-1,n-ngroups,'upper'); %% Rappresentazione grafica intervalli di confidenza % Rappresentazione degli intervalli di confidenza tramite la funzione % errorbar errorbar((1:ngroups)',Confint(:,2),(Confint(:,3)-Confint(:,2)),'o') text(1:ngroups,22*ones(ngroups,1),unigroup,'Units','data','HorizontalAlignment','Center') xlim([0.5 5.5]) set(gca,'XTickLabel','') ylabel(['Intervalli di confidenza al ' num2str(100*conflev) '% del voto per ogni strato']) ylim([0 25])