Rappresentazione dei dati - Università degli Studi della Basilicata

Rappresentazione dei dati
Riprendiamo il data set Ore:
> setwd(..)
> ore<-read.table(‘datasetore.txt',header=TRUE)
> attach(ore)
> head(ore)
ORE
1 15.0
2 23.7
3 19.7
4 15.4
5 18.3
6 23.0
> ore_frame<-data.frame(ore)
> ore_frame$ORE
[1] 15.0 23.7 19.7 15.4 18.3 23.0 14.2 20.8 13.5 20.7 17.4 18.6 12.9 20.3 13.7
[16] 21.4 18.3 29.8 17.1 18.9 10.3 26.1 15.7 14.0 17.8 33.8 23.2 12.9 27.1 16.6
Diagramma delle frequenze cumulate
Nella scuola del Signor X quale percentuale di studenti intervistati
trascorre al più 15 ore a studiare?
F. Rip. empirica
0.8
0.6
0.0
1) È funzione non decrescente.
2) Assume valori tra 0 e 1.
0.2
Proprietà:
0.4
Fn(x)
.
1.0
Un primo diagramma associa a
ciascun elemento del campione
la percentuale di dati che assume
un valore uguale o inferiore ad esso.
Come si calcola?
10
15
20
25
30
35
x
> plot.ecdf(ore_frame$ORE,col.points='blue',col.hor='red',lwd=4,main='F. Rip.
empirica')
E. Di Nardo, a.a. 15/16
3
1. Gli elementi del campione casuale vanno ordinati.
15.0; 23.7; 19.7; 15.4; 18.3; 23.0; 14.2; 20.8; 13.5; 20.7; 17.4; 18.6; 12.9;
20.3; 13.7; 21.4; 18.3; 29.8; 17.1; 18.9; 10.3; 26.1; 15.7; 14.0; 17.8; 33.8;
23.2; 12.9; 27.1; 16.6
10.3; 12.9; 12.9; 13.5; 13.7; 14.0; 14.2; 15.0; 15.4; 15.7; 16.6; 17.1; 17.4;
17.8; 18.3; 18.3; 18.6; 18.9; 19.7; 20.3; 20.7; 20.8; 21.4; 23.0; 23.2;
23.7; 26.1; 27.1; 29.8; 33.8
2. Agli elementi (senza ripetizioni) vanno associate le frequenze cumulate.
Dati Ordinati
10.3
12.9
13.5
13.7
…
18.3
Frequenze cumul.
=1/30
=3/30
=4/30
=5/30
…
=15/30
E. Di Nardo, a.a. 15/16
4
A cosa serve?
Per rispondere al quesito iniziale:
Nella scuola del Signor X quale percentuale di studenti intervistati
trascorre al più 15 ore a studiare?
1.0
F. Rip. empirica
0.4
Fn(x)
0.6
0.8
> ecdfx<-ecdf(ore_frame$ORE)
> ecdfx(15)
[1] 0.2666667
0.0
0.2
0.26
10
15
20
25
30
35
Si traccia una linea verticale inxcorrispondenza di 15 ore fino ad
incontrare il grafico (rosso) e poi si traccia una linea orizzontale
fino ad incontrare l’asse delle y.
E. Di Nardo, a.a. 15/16
5
Ma si può rispondere anche al quesito inverso:
A cosa serve?
Nella scuola del Signor X quante ore (al più) trascorre a studiare
il 50% degli studenti meno volenterosi?
1.0
F. Rip. empirica
0.8
Circa 18 ore.
0.6
0.0
0.2
0.4
Fn(x)
0.50
> quantile(ore_frame$ORE,0.50)
50%
18.3
10
15
20
25
30
35
Si traccia una linea orizzontale
in corrispondenza di 0.5 fino ad incontrare il grafico
x
(rosso) e poi si traccia una linea verticale in basso fino ad incontrare l’asse delle x.
E. Di Nardo, a.a. 15/16
6
Box-plot
E’ un grafico a scatola, che fornisce informazioni sul 50% dei dati che si colloca
al centro del campione.
Valore anomalo=
outlier
Massimo (…)
Metà
50% dei dati
Minimo (…)
> boxplot(ore_frame$ORE,col='red',main='Box-plot ore')
E. Di Nardo, a.a. 15/16
7
> boxplot(ore_frame$ORE,ore_frame2$ORE2,col=c('red','blue'),main='Box-plot
ore',xlab='I scuola vs II scuola')
10
15
20
25
30
Box-plot ore
I scuola vs II scuola
Oltre alle informazioni sul singolo campione, è utile per confrontare più campioni.
E. Di Nardo, a.a. 15/16
8
Le misure numeriche
La media aritmetica
Indice centrale dei dati: somma dei valori numerici presi in considerazione diviso
la numerosità.
Per variabili quantitative: scala intervallare o rapporto.
Per il suo calcolo vengono usati tutti i valori.
Un insieme di dati ha una sola media.
La media risente di valori anomali.
Se ai dati viene aggiunta una costante, la media risulta traslata di quella
costante.
La somma delle distanze dei dati dalla media è zero.
Esempio: Per i dati (3;4;5) la media è 4; inoltre (3-4)+(4-4)+(5-4)=0
è 0.
Esempio: Per i dati (3;4;5) la media è 4. Per i dati (4;5;6) la media è 5=4+1.
Esempio: il valore della media per i dati relativi al dataset sulle ore di studio
(capitolo precedente) è 19.006.
> mean(ore_frame$ORE)
[1] 19.00667
Significato della media:
Il sistema nella figura risulta in equilibrio:
Per i dati relativi al primo dataset sulle ore di studio (capitolo precedente),
il valore della media risulta 19.00.
La media è detta statistica. Una statistica è una funzione del campione casuale.
La media è una statistica non robusta
1 2
3
4
La media è 3
5
1 2
3
4
15
La media è 5
1 2
3
4 100
La media è 22
La media per classi di modalità
Supponiamo che i dati relativi al numero di ore, siano stati forniti in tabella, secondo le classi
di modalità (ad esempio quelle usate per l’istogramma).
> objhist<-hist(ore_frame$ORE)
> str(objhist)
List of 6
$ breaks : num [1:6] 10 15 20 25 30 35
$ counts : int [1:5] 8 11 7 3 1
$ density : num [1:5] 0.05333 0.07333 0.04667 0.02 0.00667
$ mids : num [1:5] 12.5 17.5 22.5 27.5 32.5
$ xname : chr "ore_frame$ORE"
∑
.
!
=18.8
Come si calcola la media?
Classi
[10;15) [15;20)
"
[20;25)
[25;30)
[30;35)
Centri
12.5
17.5
22.5
27.5
32.5
Freq.
Assolute
8
11
7
3
1
> media<-objhist$counts%*%objhist$mids/sum(objhist$counts)
> media
[,1]
Media pesata
[1,] 18.83333
La media pesata
La media pesata (o ponderata) di un insieme di numeri, secondo
degli assegnati coefficienti (=pesi), è data dalla seguente formula:
∑ %
&
# $
# $
Se i pesi sono pari a 1…
∑# $
Esempio: Voto medio di uno studente alla fine del primo anno del corso di Laurea in Economia
Materia
CFU
Voto Materia
CFU Voto
Materia
CFU
Voto
Matematica
generale
6
21
Diritto
privato
10
26
Economia
aziendale
10
27
Economia
politica
10
25
Economia
e gestione
delle
imprese
10
23
Geografia
Economica
6
27
> CFU<-c(6,10,10,10,10,6)
> voto<-c(21,25,26,23,27,27)
> mediapesata<-CFU%*%voto/sum(CFU)
> mediapesata
[,1]
[1,] 24.96154
> mean(voto)
[1] 24.83333
Rientra nel caso della media pesata, la media di una distribuzione di frequenza:
> stanze<-c(1,2,3,4,5,6,7)
> app<-c(300,500,2000,3000,150,100,300)
> mediaapp<-stanze%*%app/sum(app)
> mediaapp
[,1]
[1,] 3.582677
# stanze
# appartamenti
1
300
2
500
3
2.000
4
3.000
5
150
6
100
7
300
La media geometrica
La media geometrica di un insieme di numeri è la radice n-esima
del loro prodotto:
*
' (⋯
La media geometrica viene utilizzata quando si vuole analizzare il variare di un
fenomeno nel tempo, per esempio il tasso di variazione dei prezzi o i tassi di
rendimento di capitali.
Esempio: Un impiegato ha ricevuto un 5% di aumento di stipendio nel 2012 e un 15%
di aumento nell’anno successivo. Quanto vale la percentuale di crescita media?
Un 5% di aumento nel salario =
da 100 a 105
Un 15% di aumento nel salario =
da 100 a 115
In percentuale 1.05=105/100 e 1.15=115/100
.
1.15
1.05=1.09886
L’aumento medio è di 9.89%
> (1.15*1.05)^(1/2)
[1] 1.098863
L’impiegato che all’inizio del 2012 aveva 1 euro, alla fine del 2012, per effetto dell’aumento,
ha 1.05 euro = 1 × 1.05 euro. All’inizio del 2013 l’impiegato ha un 1.05 euro che, per effetto
dell’aumento, diventa 1.05×1.15 alla fine del 2013.
La media armonica
La media armonica di un insieme di numeri è l’inverso
della media aritmetica degli inversi. Serve a ricavare
un valore centrale sul tempo per dati che si riferiscono a intervalli temporali diversi.
∑ 0' 1/
Esempio: Tempo in secondi di 4 impiegati per produrre un singolo pezzo:
32, 28, 35, 31
Gli inversi
'
1(
0.03,
'
(4
0.036,
'
16
0.029,
'
1'
0.032
rappresentano il no. di pezzi prodotti per unità di tempo (per sec.)
'/1(:'/(4:'/16:'/1'
=0.032
;
rappresenta il no. medio di pezzi prodotti per unità di tempo (per sec.)
La media:
L’inverso della media
'
=31.25
<.<1(
rappresenta il tempo medio (in secondi) per produrre un singolo pezzo
Esercizio1: Si calcoli la media della serie storica riportata in Tabella
Anno
2000
2001
2002
2003
2004
Prodotto interno lordo
1166,5
1218,5
1260,6
1300,9
1351,3
Esercizio2: Un’automobile percorre 3 tratti di autostrada della stessa lunghezza di 50 km alle
seguenti velocità orarie (km/h) costanti: 100, 120 e 130. Si determini la velocità media.
'
'
'
Gli inversi '<< , '(< , '1<
rappresentano il tempo impiegato per percorrere 1 km
La media:
> (1/100+1/120+1/130)/3
[1] 0.008675214
rappresenta il tempo medio impiegato per percorrere 1 km
L’inverso della media
'
=115.27
<.<<4=
rappresenta la velocità media (spazio/tempo)
Mediana
La mediana è il valore centrale dei dati.
Esempio1: L’età per un campione di 5 studenti è 21; 25; 19; 20; 22.
1. Campione ordinato: 19; 20; 21; 22; 25.
2. La mediana è: 19; 20; 21; 22; 25.
Esempio2: L’altezza (in cm) di 4 giocatori di basket è 185; 186;
Una possibile scelta:
>
'4=:'4?
(
? 189; 190
187,5
Proprietà
Per variabili qualitative ordinali.
Per variabili quantitative: scala intervallare o rapporto.
Un insieme di dati ha una sola mediana.
La mediana non risente di valori anomali.
> summary(c(186,189,190,185))
Min. 1st Qu. Median Mean 3rd Qu. Max.
185.0 185.8 187.5
187.5 189.2 190.0
La mediana è una statistica robusta.
1 2
3
4
5
1 2
1 2
La mediana è 3
3
4
15
3
4 100
La mediana è 3
La mediana è 3
La mediana per distribuzioni di frequenze
# stanze
# appartamenti
1
300
2
500
3
2.000
4
3.000
5
150
6
100
7
300
> stanze<-c(1,2,3,4,5,6,7)
> app<-c(300,500,2000,3000,150,100,300)
> library('Hmisc')
> wtd.quantile(stanze,app)
0% 25% 50% 75% 100%
1 3
4
4
7
Per installare la libreria:
> install.packages('Hmisc')
Moda
E’ l’elemento che appare più spesso nel campione.
Ordinali
Colore capelli
(carattere)
Neri
Castani
N° persone
(frequenza assoluta)
10
6
Può essere calcolata per tutti i tipi
di variabili.
Moda
Nominali
Rossi
1
# stanze
# appartamenti
biondi
5
1
300
totale
22
2
500
3
2.000
4
3.000
5
150
6
100
7
300
Moda
Per dati di tipo intervallare o rapporto, bisogna in genere far riferimento alle
classi di modalità.
Unimodale
Bimodale
Può essere una sola (unimodale),
possono essere due (bimodale),
più di tre (multimodale).
Può non essere significativa.
La moda è il punto medio della
classe con frequenza più elevata.
Il valore della moda è 3.200
Moda
Multimodale
Peso (in grammi)
# neonati
1.800-2.200
10
2.200-2.600
32
2.600-3.000
120
3.000-3.400
254
3.400-3.800
134
3.800-4.200
40
4.200-4.600
10
Asimmetria
Un poligono di frequenza simmetrico ha questa forma:
Media=Moda=Mediana
Indici di posizione
Coda sinistra
Coda destra
Poligoni asimmetrici hanno questa forma:
Asimmetria Positiva
Asimmetria Negativa
Moda
Moda
Coda Sinistra
Coda destra
Media
Mediana
Regola: Coda destra se Media > Mediana.
Media
Mediana
Coda sinistra se Media < Mediana.
Possibile indice: Asimmetria = media - mediana
E’ un metodo robusto?
Coda sinistra
Modalità
Frequenza
1
1
2
2
3
3
4
4
5
5
1
6
6
0
7
7
8
7
6
Come
calcolare
le medie?
5
4
3
2
1
2
3
4
5
6
Modalità
Frequenza
1
7
2
6
5
3
5
4
4
4
3
5
3
6
2
7
1
Coda destra
8
7
6
2
1
0
1
2
3
4
5
6
7
7
Possibile indice: Asimmetria = media - mediana
E’ un metodo robusto?
Coda sinistra
8
> x1<-c(1,2,3,4,5,6,7)
> fr1<-c(1,2,3,4,5,6,7)
> wtd.quantile(x1,fr1)
0% 25% 50% 75% 100%
1.00 4.00 5.00 6.25 7.00
> wtd.mean(x1,fr1)
[1] 5
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
In entrambi i casi media – mediana =0
Coda destra
8
> fr2<-c(7,6,5,4,3,2,1)
> wtd.quantile(x1,fr2)
0% 25% 50% 75% 100%
1.00 1.75 3.00 4.00 7.00
> wtd.mean(x1,fr2)
[1] 3
>
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
Generiamo i due insiemi di dati:
> x<-c(rep(1,1),rep(2,2),rep(3,3),rep(4,4),rep(5,5),rep(6,6),rep(7,7))
>x
[1] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 78
7
> library('e1071')
> skewness(x)
[1] -0.5466986
6
5
4
3
2
Coefficiente di asimmetria (skewness)
negativo = coda sinistra!
1
0
1
2
3
4
5
6
7
> y<-c(rep(7,1),rep(6,2),rep(5,3),rep(4,4),rep(3,5),rep(2,6),rep(1,7))
8
> skewness(y)
7
[1] 0.5466986
6
5
Coefficiente di asimmetria (skewness)
positivo = coda destra!
4
3
2
1
0
1
2
3
4
5
6
7
Quartili
Il primo quartile è quel valore che lascia a sinistra il 25% dei dati.
o Il primo quartile può appartenere al campione casuale oppure no.
Esempio: L’età per un campione di 5 studenti è 21; 25; 19; 20; 22.
1. Il campione va ordinato: 19; 20; 21; 22; 25.
2. Il primo quartile è: 19;
? 20; 21; 22; 25.
> summary(c(21, 25, 19, 20, 22))
Min. 1st Qu. Median Mean 3rd Qu. Max.
19.0 20.0
21.0
21.4 22.0
25.0
Esempio: L’altezza di 4 giocatori di basket è 186; 189; 190; 185
Il primo quartile è…. 185; ? 186; 189; 190
> summary(c(186,189,190,185))
Min. 1st Qu. Median Mean 3rd Qu. Max.
185.0 185.8 187.5
187.5 189.2 190.0
Quartili
Il terzo quartile è quel valore che lascia a sinistra il 75% dei dati.
o Il terzo quartile può appartenere al campione casuale oppure no.
Esempio: L’età per un campione di 5 studenti è 21; 25; 19; 20; 22.
1. Il campione va ordinato: 19; 20; 21; 22; 25.
2. Il terzo quartile è: 19; 20; 21; 22; ? 25.
> summary(c(21, 25, 19, 20, 22))
Min. 1st Qu. Median Mean 3rd Qu. Max.
19.0 20.0
21.0
21.4 22.0
25.0
Esempio: L’altezza di 4 giocatori di basket è 186; 189; 190; 185
Il terzo quartile è…. 185; 186; 189; ? 190
> summary(c(186,189,190,185))
Min. 1st Qu. Median Mean 3rd Qu. Max.
185.0 185.8 187.5
187.5 189.2 190.0
Il secondo quartile vale…?
Esempio:
Box-plot
10.3; 12.9; 12.9; 13.5; 13.7; 14.0; 14.2; 15.0; 15.4; 15.7; 16.6; 17.1; 17.4;
17.8; 18.3; 18.3; 18.6; 18.9; 19.7; 20.3; 20.7; 20.8; 21.4; 23.0; 23.2;
23.7; 26.1; 27.1; 29.8; 33.8
> summary(ore_frame$ORE)
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.30 15.10 18.30 19.01 21.25 33.80
> IQR(ore_frame$ORE)
[1] 6.15
Intervallo interquartile = Q3 – Q1
Outliers
Sono valori del campione casuale troppo «distanti» dal resto del campione casuale.
Regola del pollice: Si dicono outliers quei valori che distano dal primo e dal terzo quartile più
di 1.5*(Q3-Q1).
> 1.5*IQR(ore_frame$ORE)
[1] 9.225
Sono considerati outliers i valori
inferiori a
Q1- 9.225=5.875
Poiché il min=10.3 > 5.875, allora il baffo
inferiore è collocato in corrispondenza
del minimo.
Sono considerati outliers i valori
superiori a
Q3+9.225=21.25+9.225=30.47
Poiché il max=33.8 > 30.47, allora 33.8 è
un outlier e il baffo superiore è collocato
in corrispondenza di 30.47.
Percentili
Andando da un medico per fare una visita di controllo a vostro cugino, dopo aver misurato
l’altezza, vedrete che farà uso di un grafico tipo quello della figura sottostante:
Poi rivolgendosi alla mamma
sentenzierà con aria preoccupata qualcosa del tipo: “Signora,
suo figlio è al 95-esimo
percentile….”
Cosa significa percentile?
Un percentile x è quel valore (non necessariamente del campione) che lascia a
sinistra x% dei dati.
E allora dire che il proprio figlio ha un peso al 95-esimo percentile, vuole dire che il 95%
della popolazione maschile della stessa età ha un peso inferiore.
Esempio:
Calcolo dei percentili
10.3; 12.9; 12.9; 13.5; 13.7; 14.0; 14.2; 15.0; 15.4; 15.7; 16.6; 17.1; 17.4;
17.8; 18.3; 18.3; 18.6; 18.9; 19.7; 20.3; 20.7; 20.8; 21.4; 23.0; 23.2;
23.7; 26.1; 27.1; 29.8; 33.8
> quantile(ore_frame$ORE, probs = 0.90)
90%
26.2
0.90
Il 90% degli intervistati dedica allo studio
non più di 26.2 ore.
Se volessi avere
l’informazione inversa…
Quale percentuale di studenti studia
non più di 26.2 ore?
> ecdfx<-ecdf(ore_frame$ORE)
> ecdfx(26.2)
[1] 1
26.2
Calcolo dei percentili per le classi di modalità
Se non si conoscono i valori del campione, ma un suo riassunto in forma tabellare…
[10;14) [14;18) [18;22) [22;26) [26;30) [30;34)
5
9
9
3
3
1
> oreclassi<-c(10,14,18,22,26,30,34)
> orefreq<-c(0,5,14,23,26,29,30)
> wtd.Ecdf(oreclassi,orefreq)
$x
[1] 10 14 18 22 26 30 34
$ecdf
[1] 0.00000000 0.03937008 0.14960630 0.33070866 0.53543307 0.76377953
1.00000000
> cumsum(orefreq)/sum(orefreq)
[1] 0.00000000 0.03937008 0.14960630 0.33070866 0.53543307 0.76377953 1.00000000
Indici di dispersione
Si dicono indici di dispersione quegli indici che misurano
la variabilità del campione casuale.
Campo di variazione (CV) = max - min
Intervallo interquartile (IQR)= Q3 – Q1
Deviazione standard (campionaria) = @ &
A B
#
&
Esempio:
La media campionaria è risultata 19.00
10.3; 12.9; 12.9; 13.5; 13.7; 14.0; 14.2; 15.0; 15.4; 15.7; 16.6; 17.1; 17.4;
17.8; 18.3; 18.3; 18.6; 18.9; 19.7; 20.3; 20.7; 20.8; 21.4; 23.0; 23.2;
23.7; 26.1; 27.1; 29.8; 33.8
La varianza è la media aritmetica dei quadrati delle distanze dei singoli elementi del
campione dalla media:
> var(ore_frame$ORE)
[1] 28.70202
10.3 12.9 12.9 13.5 13.7
19.01
19.7 20.3 20.7 20.8 21.4
28.7 (è il quadrato di una distanza)
> sd(ore_frame$ORE)
[1] 5.357427
La deviazione standard fornisce una misura della «concentrazione» dei
dati attorno alla media.
Il I dataset ha una variabilità
maggiore del II dataset.
La deviazione standard non è una statistica robusta.
1 2
3
4
5
1 2
1 2
C.V. = 4
IQR = 2
S = 1.58
3
4
3
4 100
15
C.V. = 14
IQR = 2
S = 5.07
C.V. = 99
IQR = 2
S = 43.62
Per variabili quantitative: scala intervallare o rapporto.
Per il suo calcolo vengono usati tutti i dati.
Un insieme di dati ha una sola deviazione standard.
2 3
4
5
101
C.V. = 99
IQR = 2
S = 43.62
Assume valore sempre positivo.
Vale zero quando tutti i dati assumono lo stesso valore (variabile statistica
degenere) (Esempio: (2,2,2), media =2, s=0)
Invariante per traslazione: ossia se ad ogni dato viene aggiunta una quantità
costante, la deviazione standard non cambia.
La deviazione standard per classi di modalità
Supponiamo che i dati relativi al numero di ore, siano stati forniti in tabella, secondo le classi
di modalità (ad esempio quelle usate per l’istogramma).
Per il calcolo della varianza (e quindi della deviazione standard) si usa lo stesso procedimento
visto per la media, ossia
Classi
[10;14) [14;18) [18;22) [22;26)
[26;30)
[30;34)
Centri
12
16
20
24
28
32
Freq.
Assolute
5
9
9
3
3
1
> wtd.mean(objhist$mids, objhist$counts)
[1] 18.83333
> wtd.var(objhist$mids, objhist$counts)
[1] 29.1954
Un caso particolare: stessa media 0,
stessa varianza 1.
Per variabili qualitative, è opportuno usare un indice di dispersione di natura diversa:
# stanze
# appartamenti
Freq.rel.
1 − G' ( + ⋯ + GI (
1
300
0.047
2
500
0.079
Minimo: quando vi è una sola
modalità con frequenza relativa 1
3
2.000
0.315
4
3.000
0.472
E=0
Massimo: quando tutte le
modalità sono equifrequenti '⁄I.
5
150
0.024
6
100
0.016
7
300
0.047
Indice di eterogeneità (di Gini)
E
K
K−1
1
1
Assume sempre valori positivi.
=
1
−
=
E = 1 − ( + ⋯+ (
(
K
K
K
K
> stanze
Esempio:
[1] 1 2 3 4 5 6 7
> 1-freqapp%*%freqapp
> app
[,1]
[1] 300 500 2000 3000 150 100 300
[1,] 0.6661293
> freqapp<-app/sum(app)
> freqapp
[1] 0.04724409 0.07874016 0.31496063 0.47244094 0.02362205 0.01574803 0.04724409