Un Istogramma della Grafico delle Frequenze di un gruppo di dati.

In questa sezione studieremo il grafico delle frequenze di una lista di dati numerici attraverso un Istogramma o grafico a colonne. Confronteremo le frequenze effettive con quelle previste utilizzando la Distribuzione Normale o di Gauss. Come esempio prendiamo il vettore di dati qui sotto.

dati={20.17,20.21,20.24,20.13,20.24,20.05,20.18,20.13,20.16,20.15,20.16,20.14,
    20.09,20.24,20.23,20.19,20.21,20.12,20.13,20.20,20.22,20.10,20.20,20.13,
    20.10,20.24,20.15,20.13,20.14,20.16,20.17,20.09,20.21,20.17,20.09,20.18,
    20.16,20.28,20.08,20.24,20.13,20.19,20.26,20.10,20.09,20.11,20.09,20.05,
    20.06,20.18,20.09,20.22,20.15,19.99,20.11,20.13,20.18,20.22,20.10,20.08,
    20.00,20.14,20.18,20.13,20.15,20.09,20.10,20.20,20.16,20.10,20.13,20.16,
    20.10,20.09,20.14,20.20,20.15,20.10,20.12,20.13,20.16,20.14,20.14,20.05,
    20.03,20.13,20.10,20.15,20.21,20.13,20.09,20.22,20.15,20.09,20.21,20.13,
    20.24,20.13,20.09,20.02};

Iniziamo cancellando tutte le variabili usate in precedenza, e inserendo il vettore scelto come esempio. Calcoleremo le frequenze dividendo l'intervallo che contiene i valori del vettore in d sottointervalli: come esempio, scegliamo d=7. Carichiamo infine i pacchetti:
                            Statistics`DataManipulation`      e      Graphics`Graphics`,
contenenti vari comandi utili al nostro studio.
Finito il lavoro, otterremo una sezione di Notebook in grado di genera l'istogramma di una gaussiana a partire da un qualunque vettore "dati", e per un qualunque numero d di suddivisioni.

[Graphics:../Images/index_gr_1.gif]
[Graphics:../Images/index_gr_2.gif]
[Graphics:../Images/index_gr_3.gif]
[Graphics:../Images/index_gr_4.gif]
[Graphics:../Images/index_gr_5.gif]
[Graphics:../Images/index_gr_6.gif]

Calcoliamo ora la lunghezza n del vettore, e il suo valore minimo m, il suo valore massimo M.

[Graphics:../Images/index_gr_7.gif]
[Graphics:../Images/index_gr_8.gif]
[Graphics:../Images/index_gr_9.gif]
[Graphics:../Images/index_gr_10.gif]
[Graphics:../Images/index_gr_11.gif]
[Graphics:../Images/index_gr_12.gif]

Calcoliamo le frequenze di dati nell'intervallo [m,M]. Suddividiamo cioè l'intervallo in d sottointervalli (d scelto in precedenza) di ampiezza amp=(M-m)/d. Contiamo in ognuno di essi quanti valori troviamo appartenenti al vettore "dati" (il comando da usare è BinCounts[.]). Inseriamo il risultato in una lista "freq", e calcoliamone il valore massimo f.

[Graphics:../Images/index_gr_13.gif]
[Graphics:../Images/index_gr_14.gif]
[Graphics:../Images/index_gr_15.gif]
[Graphics:../Images/index_gr_16.gif]
[Graphics:../Images/index_gr_17.gif]
[Graphics:../Images/index_gr_18.gif]

Ogni colonna di un istogramma di frequenze descriverà il numero di dati che cadono in un certo sottointervallo, ovvero la frequenza del sottointervallo. Per disegnare una generica colonna, abbiamo bisogno di 3 informazioni: (1) il punto medio del sottointervallo considerato, (2) la lunghezza di tale sottointervallo, (3) il numero di dati che cadono il tale sottointervallo.

Abbiamo già l'informazione (3): è contenuta della lista "freq". Dobbiamo però ancora definire:
(1) una tabella "midpoints", contenente i punti medi dei sottointervalli (usiamo un comando Table[.], con indice che varia da m+amp/2 fino ad M, e con passo uguale ad "amp").
(2) Una tabella "bin", contenente d volte la lunghezza "amp" di ognuno di questi sottointervalli.

[Graphics:../Images/index_gr_19.gif]
[Graphics:../Images/index_gr_20.gif]
[Graphics:../Images/index_gr_21.gif]
[Graphics:../Images/index_gr_22.gif]

Combiniamo ora le tre liste: midpoints, freq, bin, in un'unica lista L di terne. Ogni terna contiene: il punto medio, la frequenza e la lunghezza dell'intervallo numero i, per i che varia da 1 fino a d. d, come si è detto, è il numero dei sottointervalli. Fornendo L come argomento al comando GeneralizedBarChart[.] disegneremo l'istogramma richiesto. Lo chiameremo "isto" .

[Graphics:../Images/index_gr_23.gif]
[Graphics:../Images/index_gr_24.gif]
[Graphics:../Images/index_gr_25.gif]

[Graphics:../Images/index_gr_26.gif]

[Graphics:../Images/index_gr_27.gif]

Terminamo calcolando la media, la deviazione standard, e relativa Distribuzione Normale relativa allo stesso vettore di dati. Disegneremo quindi il relativo grafico "gauss" delle frequenze previste dalla teoria. Sovrapponiamo quindi per confronto il grafico previsto "gauss" a quello reale (l'istogramma "isto" disegnato in precedenza). Il pacchetto da usare è Statistics`DescriptiveStatistics`. La sovrapposizione di grafici si realizza usando il comando Show[.].

[Graphics:../Images/index_gr_28.gif]
[Graphics:../Images/index_gr_29.gif]
[Graphics:../Images/index_gr_30.gif]
[Graphics:../Images/index_gr_31.gif]
[Graphics:../Images/index_gr_32.gif]
[Graphics:../Images/index_gr_33.gif]
[Graphics:../Images/index_gr_34.gif]
[Graphics:../Images/index_gr_35.gif]
[Graphics:../Images/index_gr_36.gif]
[Graphics:../Images/index_gr_37.gif]

[Graphics:../Images/index_gr_38.gif]

[Graphics:../Images/index_gr_39.gif]
[Graphics:../Images/index_gr_40.gif]

[Graphics:../Images/index_gr_41.gif]

[Graphics:../Images/index_gr_42.gif]

[Graphics:../Images/index_gr_43.gif]
la lista Ek delle frequenze prevista per ogni sottointervallo di [m,M] confrontandola poi con quella reale. A partire da tale confronto si può calcolare l'indice chi quadro, come somma dei quadrati delle differenze relative tra: la frequenza sperimentata e quella reale.

[Graphics:../Images/index_gr_44.gif]
[Graphics:../Images/index_gr_45.gif]
[Graphics:../Images/index_gr_46.gif]
[Graphics:../Images/index_gr_47.gif]
[Graphics:../Images/index_gr_48.gif]
[Graphics:../Images/index_gr_49.gif]
[Graphics:../Images/index_gr_50.gif]

E' opportuno omettere nel calcolo di chi quadro le frequenze del primo e dell'ultimo sottointervallo, perchè si tratta di campioni molto piccoli e particolarmente soggetti ad errore.
Alternativamente, sempre per diminuire l'effetto dell'errore su campioni troppo piccoli, si possono creare nuovi vettori sommando la prima e la seconda frequenza tra loro, e così la penultima e l'ultima, sia per la frequenza teorica che per quella reale.


Converted by Mathematica      May 26, 2003