Programmazione + Statistica descrittiva in

Lab in Informatica
Laurea in Biologia / Biologia Molecolare, Università di Padova
2011/2012
Calcoli con Fogli Elettronici
Applicazioni nella statistica descrittiva
Ivilin Stoianov, Alessia Ceccato
[email protected]
•
•
•
•
Introduzione
Struttura ed inserimento dati
Elaborazione dei dati
Statistica descrittiva
Stoianov, Ceccato
[email protected]
2
Che cosa è un
Foglio di Calcolo ?
• Un foglio di calcolo / foglio elettronico / spreadsheet
e' un programma che permette di:
– inserire
– elaborare
– visualizzare
vari tipi di informazioni digitali (dati) in una tabella.
• Le applicazioni piu' diffuse
Calc(Open Office), Excel(Microsoft Office)
Stoianov, Ceccato
[email protected]
3
Un Foglio di Calcolo
• Struttura:
– un file di tipo foglio di calcolo contiene una o più tabelle (fogli).
– una tabella consiste in una griglia di celle.
– la cella è il contenitore principale d’informazione digitale (dati) di
diversi tipi (numerici, testuali, formule).
• L’informazione:
– viene inserita nelle celle;
– elaborata (automaticamente) tramite calcoli (formule);
– visualizzata in modo testuale, numerico o grafico.
Stoianov, Ceccato
[email protected]
4
www.openoffice.org
OpenOffice è un pacchetto gratuito di applicazioni orientati
all' Elaborazioni dei Dati e Documenti nel ufficio e la casa
•
•
•
•
•
Elaborazione testi
Foglio di calcolo
Presentazioni
Grafica vettoriale
Archiviazione dati
Aprite un foglio di calcolo:
Menu d'avvio: Applicazioni → OpenOffice → OpenOfficeCalc
Stoianov, Ceccato
[email protected]
5
OpenOffice-Calc
Barra-Titolo
HELP
? barra MENU
barre degli strumenti:
operazioni frequenti
indirizzo delle
celle attive
Barra delle formule
indice colonna
cella attiva
indice riga
griglia di
celle
Nome tabelle
Menù contestuale
(mouse-tasto destro)
Scroll-bars
Stoianov, Ceccato
[email protected]
Barra stato
6
Esercizio
•
•
•
•
Esplora il menu
Creare un nuovo file – foglio di calcolo
Salvare il file con il nome calcolo1.ods
Esplorare il menu HELP (GUIDA)
Stoianov, Ceccato
[email protected]
7
•
•
•
•
Introduzione
Struttura ed inserimento dati
Elaborazione dei dati
Statistica descrittiva
Stoianov, Ceccato
[email protected]
8
Struttura di un foglio di calcolo
• un foglio di calcolo è una griglia composta da celle
• ciascuna cella è identificata (riferita) da una colonna (A, B,
…) e una riga (1, 2, …) (Esempio: cella D8)
• I riferimenti corrispondono agli indirizzi nella memoria e
permettono calcoli automatizzati (programmi)
D8
Stoianov, Ceccato
[email protected]
9
Valori
• una cella può essere vuota oppure contenere un valore
Stoianov, Ceccato
[email protected]
10
Tipi di Valori
• le celle B1, B3, C3 contengono dei valori di tipo testuale
• la cella C1 contiene un valore di tipo data
• le celle B4, B5, B6 e C4, C5, C6 contengono
dei valori di tipo numerico
Stoianov, Ceccato
[email protected]
11
Interpretazione dei Valori
I valori possono avere diversi interpretazioni:
• Contenuto
–
–
–
–
–
Numero
Data/ora
Testo
Logico
Formula
interi (4), reali (3,14), valuta (12$), percentuali (35%)
(12 Aprile 2004) scrivere: 12/04/2004
Corso di informatica
(Vero / Falso).
espressioni (matematici, testuali, …) su altre celle
=SUM(A3:A10)
• Interpretazione: (con tasto-destro-mouseFormato Celle)
– Generale, numero, frazione, valuta, data, ora, …
2007
1
 numero o anno
 numero, valore logico, testo
Stoianov, Ceccato
[email protected]
12
Esercizio
•
Nel foglio di calcolo che avete gia' aperto
– copiare i valori (testi,numeri e dati) che sono riportati qui
sotto facendo attenzione che siano interpretati
correttamente dal foglio di calcolo
– colorare le celle che contengono dei numeri
– allineare al centro tutti i valori
– disegnare tutti i bordi delle celle piene e cambiare lo stile
del testo
Stoianov, Ceccato
[email protected]
13
Intervalli
• una singola cella viene riferita con colonna e riga (es: A3)
• possiamo riferire anche a (compatti) intervalli di celle.
• Esempi: B2:B10, B12:E12, D3:F8
Stoianov, Ceccato
[email protected]
14
Insiemi di Intervalli
• Un intervallo è composto da un
compatto rettangolare insieme di celle.
• E’ possibile riferirsi anche a insiemi di intervalli
• Ad esempio: (intervalli disgiunti) C2:C10;D4:F10
Stoianov, Ceccato
[email protected]
15
Selezione di celle
• Per selezionare una cella basta cliccarci sopra
• Per selezionare un intervallo di celle ci si deve
posizionare all’angolo in alto a sinistra del intervallo e
tenendo premuto il tasto sinistro del mouse si arriva
all’angolo in basso a destra
• In modo alternativo ci si può spostare con i tasti cursore
tenendo premuto lo SHIFT
• Si può anche selezionare una parte non rettangolare o
un’intera riga o colonna
•Per selezionare due cose non adiacenti usare il tasto Ctrl
Stoianov, Ceccato
[email protected]
16
Inserimento e eliminazione
di celle, righe e colonne
• E’ possibile inserire una cella nel punto individuato dal
cursore con Inserisci|Celle
• Ci sono due possibilità:
- tutte le celle di quella riga verranno spostate a destra
- tutte le celle di quella colonna verranno spostate in basso
• Allo stesso modo è possibile eliminare la cella corrente con
Modifica|Elimina: tutte le celle di quella riga verranno spostate a
sinistra oppure tutte le celle di quella colonna verranno spostate in alto
• E’ inoltre possibile inserire o eliminare intere righe o colonne
Stoianov, Ceccato
[email protected]
17
Inserimento di dati
•
•
•
•
•
Foglio di lavoro:
in uno già aperto o creare un nuovo (File > Nuovo)
Tabella:
selezionare una tabella o creare nuove.
Inserimento semplice: (i) selezionare una cella; (ii) scrivere l’informazione.
Inserimento di una serie: (i) scrivere due elementi; (ii) selezionarli ed
estendere il gruppo muovendo il cursore (di forma “+” ).
Modifica dei dati: scrivere nuovi valori, oppure fare un doppio click
sulla cella (o F2) e modificare il contenuto.
• Copia & Incolla, Spostare.
• Cancellare un valore: mouse-tasto destro  Cancella contenuto.
• Eliminare una cella: mouse-tasto destro  Elimina;
segue domanda come spostare le celle intorno.
• Menù contestuale: per ogni tipo di attività, le operazioni spesso eseguite
sono accessibili da un menu contestuale (premere il tasto destro del mouse).
Stoianov, Ceccato
[email protected]
18
Nominare i dati
•
Nominare dei dati in una colonna
–
–
Di solito i dati in un vettore-colonna vengono nominati nella prima riga.
Questo nome viene usato per varie elaborazioni (es., grafici).
Studente Eta
1
15
2
14
3
16
4
15
5
14
classe 8 ore
6.74
7.98
6.03
7.56
6.14
classe 9 ore
8.31
7.72
8.15
8.45
7.50
Stoianov, Ceccato
10
8
6
4
2
0
Studente
classe 8 ore
classe 9 ore
2
[email protected]
4
19
Esercizio
•
•
•
•
•
Creare un nuovo foglio di lavoro
Determinare tre colonne per inserire il nome, l’età, e data di
nascita di 10 vostri amici e nominare le colonne (nella prima riga)
(ad esempio, colonne A, B, C; nomi: “Nome”,”Età”,”Data”)
Inserire i dati nelle tre colonne, cominciando dalla seconda riga
Salvare il file come Nomi.ods
Applicare diverse formattazioni (allineamento, colore, bordi, stile)
per le diverse colonne
Stoianov, Ceccato
[email protected]
20
•
•
•
•
Introduzione
Inserimento e struttura dati
Elaborazione dei dati
Statistica descrittiva
Stoianov, Ceccato
[email protected]
21
Calcoli con Formule
Cosa servono: Eseguire calcoli su dati (o sul risultato di altre formule).
Inserimento:
Supponiamo che il risultato singolo numero/testo
(i) selezionare una cella,
(ii) scrivere ‘=‘ e la formula;
(iii) Invio
Esempio: =somma(A1:A10)<Invio>
SUM(A1:A10)
Si nota:
-
I calcoli vengono eseguiti automaticamente.
il risultato compare sulla cella selezionata.
la formula compare sulla barra delle formule.
per copiare la formula: (1) selezionare; (2) copia; (3) Incolla
per copiare solo i risultati: (3’) (menu)ModificaIncolla SpecialeValori.
modificare una formula: doppio click.
Stoianov, Ceccato
[email protected]
22
Riferimento dei dati
Esempi
-
una cella:
<colonna><numero_riga>
B3
-
vettore-riga:
<rif_cella_sinistra>:<rif_cella_destra>
B1:D10
-
vettore-colonna: <rif_cella_in_alto>:<rif_cella_in_basso>
B1:B10
-
intera riga:
1:1
-
intera colonna: <colonna>:<colonna>
B:B
-
tabella:
B1:D10
-
gruppo di celle: <rif_cella1>;<rif_cella2>; …
<num_riga>:<num_riga>
<cella_sx_in_alto>:<cella_dx_in_basso>
Stoianov, Ceccato
[email protected]
B1;F4;B7
23
Calcoli semplici
N1 N2
5 10
•
•
•
•
Cominciamo sempre con ‘=‘
operazioni di base:
+,-,*,/,
priorità delle operazioni:* / > + cambiare priorità: con parentesi ( )
"=A2*(3+B2)"
X
1
2
3
Stoianov, Ceccato
Operazione
"=A2+B2"
"=A2-B2"
"=A2*B2"
"=A2/B2"
Y
Operazione
3 "=A10:A12+B10:B12"
2 usa Maiusc-Ctrl-Invio
1
[email protected]
Risultato
15
-5
50
0.5
65
X+Y
4
4
4
24
Formule con funzioni (numeriche)
•
Esiste una grande varietà di funzioni (numeriche, testuali, ecc.).
es. radice quadrato  radq(B2),
media
 media(A1:A10)
•
SQRT(B2)
AVERAGE(A1:A10)
Per inserire una funzione:
(1) selezionare una cella (o più celle se il risultato non è scalare);
(2) scrivere ’=‘;
(3a) scrivere il nome della funzione più i suoi parametri, oppure
(3b) fare click su ‘fx’ e scegliere la funzione; dopo scegliere gli argomenti.
•
Alcune delle principali funzioni numeriche:
–
–
–
–
–
–
–
sen(), cos(), exp(), potenza(), radq()
casuale(), int(), segno(), ass()
somma(), media(), mediana(), var(), dev.st(), conta.numeri()
min(), max()
sin(), cos(), exp(), power(), sqrt()
rand(), int(), sign(), abs()
sum(), average(), median, mode(), var(), stdev(), count()
Stoianov, Ceccato
[email protected]
25
Funzioni di testo
Testo: una sequenza di lettere, numeri, simboli.
– Inserimento di testo nelle celle: ‘abc , ’12baba
– testo-costante (in formule): “abc”
Alcune funzioni con parametri testuali:
• lunghezza(t)
restituisce il numero di simboli in una stringa t.
• concatena(t1;t2;t3;..) unisce diversi elementi di testo in un elemento
• sinistra(t;n)
restituisce i primi n simboli a sinistra di un testo t.
• stringa.estrai(t;p;n) restituisce n simboli di un testo t, cominciando da p
• destra(t;n)
restituisce i primi n simboli a destra di un testo t.
• identico(t1;t2)
verifica se due testi t1 e t2 sono uguali.
• trova(t;T)
rileva un testo t all'interno di un altro testo T.
• testo(n;form)
converte il numero n in testo, usando il formato form
• valore(t)
converte un testo t in un numero.
• len(), concatenate(), left(), mid(), right(), exact(), text(), value()
Stoianov, Ceccato
[email protected]
26
Calcoli logici
• I valori logici:
VERO e FALSO (oppure, 1 e 0)
• Operazioni che producono un risultato logico:
=, >, >=, <, <=, <>,
• Funzioni logiche:
e(a;b), o(a,b), non(a)
• Funzioni condizionali:
se(condizione; se_vero; se_falso)
IF()
dipendente dal valore condizione, restituisce il valore se_vero / se_falso
Si nota: se_vero o se_falso possono essere altre funzioni condizionali.
• Una generalizzazione della funzione se()
scegli(indice; val1; val2; val3; …)
????
dipendente dal valore indice, restituisce il valore val1 o val2, o val3 …
Stoianov, Ceccato
[email protected]
27
Calcoli vettoriali
Scopo: identici calcoli su ciascun elemento di un insieme di dati
(di solito, vettore).
Inserimento:
1. Determinare i dati da elaborare e le celle per il risultato.
2. Inserire la formula che calcola il primo elemento del risultato.
3. Copiare la formula nelle celle che contengono il resto del
risultato.
Si nota: la formula può essere copiata con Copia – Incolla,
oppure “trascinando” la cella.
Fate una prova.
Stoianov, Ceccato
[email protected]
28
Riferimenti assoluti e relativi
Il sistema di riferimenti assoluti e relativi serve per l’automatizzazione
della scrittura di operazioni su vettori / matrici
Riferimenti assoluti e relativi:
- relativo: il solito <colonna><riga> (es.: A1)
- assoluto: con un prefisso $ davanti la colonna o la riga (es: A$1)
Un riferimento copiato:
- cambia,
se è relativo
- rimane costante se è assoluto
(A1)
($A$1)
Utilizzo:
- I riferimenti assoluti indicano valori scalari, costante, ecc.
- I riferimenti relativi indicano gli elementi delle matrici.
Stoianov, Ceccato
[email protected]
29
Riferimenti assoluti e relativi (2)
Si ricorda: i riferimenti assoluti ($A$1) non cambiano
i riferimenti relativi (A1) cambiano:
Esempi:
•
A1 cambia la colonna (es. A->B) e la riga (es., 1->2)
se viene trascinato su una riga o colonna.
•
$A1 (la colonna e' fissa) cambia solo la riga
se viene trascinato in una riga
•
A$1 (la riga e' fissa) cambia solo colonna
se viene trascinato in una colonna
•
$A$1 non cambia in nessun tipo di trascinamento
Stoianov, Ceccato
[email protected]
30
Esercizio
• Calcoli su dati scalari:
– inserire in A1: “=2+3”
– inserire in: A1: 2, A2: 3, A3: “=A1+A2”
• Aritmetica su due vettori:
– Preparare 2 colonne con intestazione x e y (X=1,2..10, Y=1,2..10)
– Calcolare le seguenti operazioni vettoriali: x+y, x-y, x*y,
ogni operazione in una colonna indicando in ogni colonna il tipo di
operazione effettuata
• Aritmetica su un vettore e una costante:
– Preparare 1 colonna X=1,2..10, e una costante p=2,5
– Calcolare la potenza X^p
– Cambiare p e osservare il risultato
• Formule con funzioni numeriche sui valori di un vettore:
– Preparare argomento X: [9,25,36,81]
– Calcolare: radq(X) sqrt()
– S2_Math.ods: somma delle colonne mult_cor, sub_time, read_time
Stoianov, Ceccato
[email protected]
31
Esercizio
(formule testuali)
• Scrivere in due colonne intitolate `Nome', e
`Cognome' il nome e il cognome di 10 persone
• Concatenare il Nome e Cognome
• Convertire il testo in maiuscolo
Stoianov, Ceccato
[email protected]
32
•
•
•
•
Introduzione
Inserimento e struttura dati
Elaborazione dei dati
Statistica descrittiva
Stoianov, Ceccato
[email protected]
33
Distribuzioni di probabilità empirica
1) OSSERVAZIONI
campione X:
scala di misura Y
N osservazioni {x1,x2 … xN}
K livelli [y1 … yK]
Esempio: il sesso {M,F} di 30 persone: [M,F,F,F,F,M,F,M,M,F,M,M ...]
2) NUMERO di OSSERVAZIONI
frequenza fi del livello yi∈Y nel campione X:
il numero di osservazioni di yi nel X
probabilità empirica pi di un livello yi∈Y nel campione X: pi= fi / N
3) DISTRIBUZIONE del NUMERO di OSSERVAZIONI
distribuzione di frequenze F(y) nel campione X:
l’insieme di frequenze fi di ciascun livello yi ∈Y nel campione X
distribuzione di probabilità empirica P(y) nel campione X:
l’insieme di probabilità empirica pi di ciascun livello yi ∈Y nel campione X
[email protected]
34
Frequenze
[email protected]
35
Categorie abbinate
•
Se abbiamo dati numerici con tanti livelli, rischiamo di avere
pochi osservazioni per ciascun livello … Che cosa fare ?
•
Soluzione: definire una scala S derivata dalla scala originale
Y,con un limitato numero di livelli (bin) {s1, s2, … sM}.
•
Nella nuova scala S, ciascuno livello si raggruppa livelli {yi1, yi2, … sik}
•
In una scala ad intervalli (ad esempio tempo, spazio, ecc), il numero di
livelli raggruppati in ciascun nuovo livello si deve essere uguale, per
rispettare la omogeneità della scala originale.
•
ESEMPIO:
Raggruppare i 1000 livelli 0 – 1000 mm in una scala con 10 livelli.
[email protected]
36
Distribuzioni di frequenze di dati
numerici nei Fogli Elettronici
Se abbiamo dati X di tipo numerico (scala ad intervalli), possiamo utilizzare
la funzione frequency() per calcolare la distribuzione dei dati X.
1.
2.
3.
Avendo le osservazioni X in una colonna (es.: B2:B21)
Inserire i livelli S in un’altra colonna (es: D2:D11)
Applicare la funzione frequency(vettore_osserv.; vettore_categorie)
•
Selezionare una colonna per il risultato (es., E2:E11)
•
Scrivere ‘=frequency(’
•
Selezionare / riferire le osservazioni; scrivere ‘;’
•
Selezionare / riferire le categorie; scrivere ‘)’
•
Premere ‘Ctrl-Maiusc-Invio’ (solo ‘Invio’ calcola una frequenza solo!!)
Si nota:
–
I livelli indicati definiscono una nuova scala S per i dati.
–
La frequenza fi di ciascun livello si riporta il numero di osservazioni
con valori (si-1 ... si].
[email protected]
37
Distribuzioni:
calcolo e rappresentazione grafico
Grafici:
1. Pochi livelli: Istogramma
(diagramma a barre)
Nome
Ivan
Sara
Tomi
Piero
Linda
Maria
Stefano
Leo
Boris
sesso
1
2
1
1
2
2
1
1
1
Sesso F
p()
1
6
0.6667
2
3
0.375
=FREQUENZA(B2:B10;D2:D3)
=E2/CONTA.NUMERI(B2:B10)
7
6
F
5
4
3
2
1
0
1
2. Tanti livelli: Grafico a
linea
Nome
Ivan
Sara
Tomi
Piero
Linda
Maria
Stefano
Leo
Boris
RT
380
430
515
475
460
560
420
510
497
[email protected]
RT
400
450
500
550
600
F
1
2
3
2
1
2
p()
0.1111
0.2222
0.3333
0.2222
0.1111
=FREQUENZA(B2:B10;D2:D6)
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
p()
38
Esercizio: probabilità empirica
•
File S3_RT.xls
•
•
•
Calcolare le frequenze degli RT (bin a distanza di 50)
Calcolare la distribuzione di probabilità empirica
Fare grafico della distribuzione di probabilità.
[email protected]
39
Tendenze centrali
1.
Se abbiamo dati in una colonna (es.: B2:B21)
1.
La media = somma divisa per il numero dei punti.
- selezionare una cella per il risultato (di solito sotto i dati) (es: B23)
- scrivere ‘=sum(’;
- selezionare le osservazioni; ‘)’; Premere ‘Invio’
- in un’altra cella, dividere la somma per il numero dei dati ( count() )
3.
Mediana o moda: ordinare i dati e trovare:
- la categoria centrale (mediana)
- più-frequente (moda)
(oppure utilizzando distribuzioni di frequenze: la categoria più numerosa)
[email protected]
40
Variabilità
•
Range / Intervallo (distanza tra i valori estremi):
•
Somma dei quadrati delle distanze dalla media (scarti) SS X = ∑ ( xi − X )
•
Varianza della popolazione (la media degli scarti2):
σ 2X
•
(
x −X)
∑
=
i
n
2
(
x
∑
=
2
i
− 2xi X + X 2
n
) = ∑x
2
i
n
σ2
X
(
x −X)
∑
=
2
i
n
−X2 = X2−X2
Deviazione standard (Scarto quadratico medio):
[email protected]
max(X) – min(X)
σ X = σ 2X
41
2
Calcolo della varianza / dev.st
I. La varianza (della popolazione):
̄ 2
∑ ( xi− X )
Algoritmo A: la media del quadrato delle scarti
Var X =
n
1.
Calcolare la media M
2.
Calcolare gli scarti dalla media Di=(Xi-M)
3.
Calcolare il quadrato degli scarti Di2=Di*Di.
4.
Calcolare la media del quadrato delle distanze var = media(Di2).
Algoritmo B: la diff. tra la media dei quadrati e il quadrato della media:
2
2
1.
Calcolare la media M1
X
2.
Calcolare i quadrati: Xi2
3.
Calcolare la media dei quadrati M2
4.
Calcolare il quadrato della media M1*M1
5.
Calcolare la differenza var=M2-M1*M1.
̄
Var = X − X
II. La dev. standard:
dst=sqrt(var)
[email protected]
σ = √Var
X
X
42
Covarianza
•
Due variabili aleatorie (stocastiche) X e Y possono co-variare.
•
La covarianza – la media del prodotto di X e Y normalizzati con loro
medie – esprime il grado di dipendenza lineare tra X e Y:
(per.es.: studenti con voto alto in Matematica hanno alto voto in Informatica.)
Cov( X , Y ) = E [ ( X − E ( X ) ) ( Y − E ( Y ) ) ]
= E ( XY ) − E ( Y ) E ( X )
–
–
•
se positivo: al crescere di x in media cresce anche y,
se negativo al crescere di x in media decrescere y.
Si nota:la covarianza di una variabile con se stessa = la varianza !
Algoritmo A:
1.
Calcolare le medie Mx e My
2.
Calcolare il prodotto degli scarti Di = (Xi-Mx) (Yi-My)
3.
Calcolare la media Cov = media(Di).
Algoritmo B:
1.
Calcolare i prodotti XiYi
2.
Calcolare le medie Mx, My, Mxy
3.
Calcolare la differenza Cov=Mxy - Mx My.
[email protected]
43
Funzioni per la statistica descrittiva
Funzione
Sintassi
(ad esempio, per le osservazioni in A2:A150)
•
MEDIA
AVERAGE(A2:A150)
•
MEDIANA
MEDIAN(A2:A150)
•
VARIANZA della popolazione
•
SCARTO quadr.med. (pop.)
STDEV(A2:A150)
•
COVARIANZA tra 2 campioni
COVAR(A2:A150; B2:B150)
VAR(A2:A150)
[email protected]
44
Esercizio: medie e variabilità
•
File dati: S3_RT
calcolare con e senza funzioni statistiche:
la media, la varianza, e la dev.st. dei RT
•
File dati:
S2_Math
calcolare covarianza tra add_time, sub_time
[email protected]
45