Elaborazione Statistica e Numerica dei

Dati Sperimentali
G. Graziani (INFN, Sezione di Firenze)

Dispense del corso

a.a. 2007/2008

Edizione aggiornata 2014

Indice
1

Richiami di Teoria della Probabilità

3

1.1

Misure sperimentali ed incertezza . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2

Teoria assiomatica di Kolmogorov

. . . . . . . . . . . . . . . . . . . . . . . . .

4

1.3

Probabilità condizionata e teorema di Bayes . . . . . . . . . . . . . . . . . . . .

5

1.4

Interpretazione frequentista della probabilità

. . . . . . . . . . . . . . . . . . .

5

1.5

Interpretazione bayesiana (soggettiva) della probabilità . . . . . . . . . . . . . .

6

1.6

Distribuzioni di probabilità per una variabile aleatoria e loro proprietà

. . . . .

8

. . . . . . . . . . . . . . . . . .

9

. . . . . . . . . . . . . . . . . . . . . . .

10

1.7.1

Distribuzione uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.7.2

Distribuzione esponenziale . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.7.3

Distribuzione normale

12

1.6.1
1.7

1.8

Alcuni esempi notevoli di distribuzione

13

. . . . . . . . . . . . . . . . . . . . .

15

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

Propagazione degli errori . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

1.10 Variabili aleatorie discrete

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

Distribuzione binomiale e legge dei grandi numeri . . . . . . . . . . . . . . . . .

26

1.12 Distribuzione di Poisson

2

. . . . . . . . . . . . . . . . . . . . . . .

Distribuzione normale multivariata

Funzioni di variabili aleatorie
1.9.1

1.11

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Distribuzioni multivariate, covarianza
1.8.1

1.9

Sul signicato della deviazione standard

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.13

Limite della distribuzione di Poisson, teorema del limite centrale

1.14

La distribuzione di Pearson

27

. . . . . . . .

29

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

Campionamento e Stimatori

35

2.1

Stimatori

35

2.2

Statistica descrittiva
2.2.1

2.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Cifre signicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

Il principio di massima verosimiglianza

i

. . . . . . . . . . . . . . . . . . . . . . .

43

. . . . . . . 91 3. . . . . . . . . . . . . . . . . . .8 3 . . . .1 2. . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4. . .10. .4 z 79 3.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Il caso Gaussiano . . . . . . . . . 63 2. . . 82 3. . . . . . . .4 Retta dei minimi quadrati 4. . . . . . . 80 97 . . . . . . 103 . . . . . . 55 Metodo di von Neumann . . .8 Analisi della varianza . . . . . . . . . . . . . . . .1 Discriminante lineare di Fisher 3. . 69 3.2. . . . . . .6 Test di Student . . . . . . . . . . . . . . . . . . . . .5 Modelli lineari in R . . . . . . . . . . . . . . . . . . . . . . . . 48 Caso multivariato . . . .7 Fit di un istogramma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.8. . . . . .1 Test di un'ipotesi: signicatività e pvalue . . . . . . . . . . .7 Simulazione di campioni: tecniche Montecarlo 2. . . . . . . . . . .1 Principio dei minimi quadrati .2. .8 Errori sulle variabili esplicative . . . . . . . . .5 Runs Test 3. . . . .2 Una soluzione approssimata 63 . . . . . . . . . . . . . . . . . . . . . . 125 .6 Limite degli stimatori ML . . .2 Regressione lineare 4. . . . . . 72 3. . . . . . . . . . . . . . . 87 3. . . . . . . . . . 103 4. . . . . . . . . . . . 92 Test χ2 . . . 104 . . . . . . . . . . . . . . . . . . . . . . .3 Predizione in base al modello 4. . . . . . . . 105 ii . . . .9 Il teorema di NeymanPearson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Intervalli di condenza . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2. . . . . . . 45 2. 102 4. . . . .2. 122 4. . . . . . . .2 Il test . . . . . . . . . .10. 77 3. . . . . . . . . . . . . . .2. . . . . . . . . . 105 4. . . . .10 Ipotesi multiple: problemi di classicazione . . . . . . . . . . . .1 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . .3 Il test di Kolmogorov .5 Stimatori corretti di varianza minima . . . . . . . . . . . . . . . .6. . . . .2. . . 88 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Test di Fisher . . . . . . . . .2. . . . . . . . . . .4 Altre proprietà degli stimatori . . . . . . . . . . . . . . .2. . 47 2. . . . . . . . . . . . Tests statistici di ipotesi 69 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Modelli di dipendenza 101 4. . . . . . . . . . .1 Il teorema di Gauss-Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2. .6 Analisi della covarianza . . . . . . . . 102 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Problemi non lineari 4 . . . . . .2 Modelli lineari . . . . . . . .

. . . . . . 127 141 5. . . . . . . . . . . . . . . .1 Modelli per le incertezze sistematiche . .3 Modelli non lineari: minimizzazione numerica 4. . . . . . . . . . . . . . . . . . .5 4. . . . . . . . . . . . . . . . . . . . . . . . . . 143 Bibliography 153 iii . . . . . . . . . . . . . . . . .2 Stima di errori sistematici . . . . 141 5. . . . . 135 Incertezze sistematiche . . . . . . . .4 Fits di massima verosimiglianza . .

.

Nel capitolo 3 sono illustrati alcuni dei più comuni tests statistici di ipotesi che permettono una valutazione quantitativa dell'accordo fra un campione di dati ed una data ipotesi teorica. per stimare il valore delle variabili teoriche di interesse e la relativa incertezza a partire da un campione di dati. a partire dalla semplice analisi di regressione lineare. Sono inoltre brevemente trattate tecniche analitiche e numeriche di simulazione di campioni di dati. I concetti base di teoria della probabilità sono richiamati nel cap.org).1. utilizzando le tecniche di statistica inferenziale. I modelli parametrici sono trattati nel capitolo 4. ampiamente documentato sulla sua pagina web (si consiglia in particolare il manuale [12]) 1 . Si dovrà poi invertire il problema. attraverso esempi pratici. il problema delle incertezze sistematiche nelle misure . Il capitolo 2 introduce alle tecniche di visualizzazione dei dati (statistica descrittiva) e alla loro analisi quantitativa tramite stimatori.r-project. dopo aver introdotto i relativi principi matematici.Introduzione Questo corso intende introdurre lo studente. tenendo conto delle incertezze casuali e sistematiche che inevitabilmente limitano la precisione e l'adabilità di qualunque osservazione sperimentale. I capitoli successivi trattano vari problemi di statistica inferenziale attraverso esempi ed esercizi. no alla risoluzione numerica di problemi non lineari. l'eetto delle incertezze sui dati sperimentali. tramite la teoria della probabilità. Lo scopo è quello di mostrare come si possa estrarre la maggior informazione possibile da un insieme di dati. nel capitolo 5. Viene inne arontato. Questo necessita innanzi tutto di comprendere. Gli esempi di analisi dei dati sono svolti con l'ausilio dell'ambiente software opensource R (http://www. ai metodi di analisi statistica dei dati ottenuti in esperimenti scientici così come da ogni altro tipo di rilevazione.

.

da eetti dicilmente controllabili (attriti negli ingranaggi della bilancia. sarà discussa nel capitolo 5 3 . Se ad esempio vogliamo conoscere la massa risultato della misurazione mexp m di un oggetto pesandolo su una bilancia. e ai testi contenuti in Bibliograa. etc).1 Misure sperimentali ed incertezza Nell'ambito della sica classica. Si avrà dunque un errore nella misurazione pari a  = mexp − m che varia in generale in modo casuale di misura in misura. dovuta ad esempio una errata calibrazione della bilancia. oltre che da m. 1. ovvero di una variabile che anzichè 1 l'errore della misura ha in generale anche una componente sistematica. Questo tipo di incertezza. Anche senza spingersi a considerare gli eetti di sica quantistica. che in ultima analisi introducono una componente intrinseca di casualità nel processo di misura.Capitolo 1 Richiami di Teoria della Probabilità Per una trattazione più esaustiva e rigorosa. che non portano informazioni su determinazione di La variabile mexp m m. il risultato di una misura sperimentale dovrebbe idealmente essere univocamente determinato dalla conoscenza dello stato del sistema considerato. che tratta modelli deterministici. è un esempio di variabile aleatoria. ussi d'aria. 1 limitano la precisione della misura introducendo un'incertezza nella . [1]. il risultato di ogni esperimento pratico è soggetto a variazioni casuali non predicibili a priori. si faccia riferimento al corso di Probabilità e Statistica. uguale per ogni misurazione. il dipenderà. in particolare [3]. che derivano dall'impossibilità di conoscere tutte le variabili siche del sistema con innita precisione. polvere. che qui per ora non consideriamo. Queste uttuazioni.

essendo una relazione empirica non vericabile in pratica.1 non va intesa come una denizione.1) A. detto spazio degli eventi. Il valore di mexp il valore esatto di non può dunque essere predetto.avere un unico valore ben denito (come m).2 Teoria assiomatica di Kolmogorov La più comune formulazione di teoria della probabilità segue l'approccio assiomatico di Kolmogorov[8]. 1. Dato un certo intervallo di valori A = [ma . possiamo comunque aspettarci che le uttuazioni aleatorie seguano una legge matematica. Per procedere è dunque necessario introdurre una denizione di probabilità più formale. almeno la N (A)/N con cui il risultato mexp ∈ A si manifesta dopo un numero N di misure. ma è ragionevole assumere che il limite per innite misure P (A) = limN →∞ abbia un valore ben denito che chiameremo N (A) N probabilità di ottenere il risultato (1. La probabilità A P di un insieme è denita come un numero reale che ha un valore denito per ogni elemento S. anche ammettendo di conoscere a priori m. Tuttavia. frequenza ci aspettiamo di poter predire. Il numero nito di osservazioni limita i possibili valori della frequenza. assumendo che gli eetti che determinano l'incertezza non dipendano dal tempo. tale da soddisfare i seguenti tre assiomi: ˆ P (A) ≥ 0 ˆ A ∩ B = ∅ =⇒ P (A ∪ B) = P (A) + P (B) ˆ P (S) = 1 da cui si possono facilmente ricavare le proprietà che ci aspettiamo da una denizione consistente di probabilità: 0 ≤ P (A) ≤ 1 P (∅) = 0 ¯ = 1 − P (A) P (A) P (A ∪ B) = P (A) + P (B) − P (A ∩ B) 4 . può assumere un valore diverso per ciascuna osservazione in modo non prevedibile. ovvero che la misura sia riproducibile. mb ]. se non il valore di ogni singola misura. La relazione 1.

o frequentista.2) P (A ∩ B) = P (A)P (B) è indipendente da B. A ∩ B = B ∩ A consegue P (B|A)P (A) P (A|B) = P (B) Dalla denizione 1. di individui.1 diventa un'interpretazione. in particolare se possiamo suddividere l'insieme toinsiemi disgiunti S= S i (1. di probabilità.3) S in sot- Ai : Ai Ai ∩ Aj = ∅ i 6= j nel qual caso S S P (B) = P (B ∩ S) = P (B ∩ ( i Ai )) = P ( i (B ∩ Ai )) = P P = i P (B ∩ Ai ) = i P (B|Ai )P (Ai ) e il teorema di Bayes può essere riscritto nella forma P (B|Ax )P (Ax ) P (Ax |B) = P i P (B|Ai )P (Ai ) 1. mentre l'intersezione costituisce l'AND logico (entrambi i risultati si sono vericati). La relazione 1. più che una denizione. matematicamente soddisfacente. ovvero la descrizione quantitativa delle incertezze sperimentali.1. di probabilità. L'unione di due elementi costituisce l'OR logico dei due risultati (almeno uno dei due risultati si è vericato).4) Interpretazione frequentista della probabilità L'approccio assiomatico permette di dare una denizione astratta.2 e dalla relazione il teorema di Bayes Il teorema è molto utile in pratica. che è consistente con la teoria poiché possiamo facilmente vericare che rispetta i tre assiomi di Kolmogorov. della probabilità consiste nel pensare gli elementi dello spazio S come tutti i possibili valori delle variabili aleatorie che rappresentano i risultati di una misura. arbitrariamente grande.3 Probabilità condizionata e teorema di Bayes Si denisce la probabilità condizionata di A dato B P (A|B) ≡ Gli elementi A e B si dicono P (A ∩ B) P (B) indipendenti se e solo se In tal caso la probabilità condizionata P (A|B) = P (A) (1. L'interpretazione classica. Possiamo ora interprere la teoria nei termini del nostro problema di partenza. Vi sono due variabili aleatorie in gioco: 5 . Illustriamo ora l'importanza pratica del teorema di Bayes tramite un esempio: suppo- niamo di voler diagnosticare una certa malattia attraverso un test clinico su un campione.4 (1.

anche se lo ignoriamo. e di sapere che la probabilità è più elevata per la popolazione di Firenze: P (M |F i) = 7. di contrarre la malattia: P (M ) = 0.1% sia riferita alla popolazione italiana. per cui abbiamo ricavato un valore molto più basso (5.5% In tal caso.5% P (+|M )P (M ) + P (+|S)P (S) Supponiamo ora che la probabilità a priori P (M ) = 0.5 Interpretazione bayesiana (soggettiva) della probabilità L'approccio frequentista. Ad esempio la domanda del signor Tizio è tutto sommato ragionevole: dopo- 6 .1% e l'adabilità del test.7% La probabilità a posteriori di essere malati in presenza di un risultato positivo del test sarà P (M |+) = P (+|M )P (M ) = 5. Rigorosamente. orentino. e la sua probabilità non è denibile.ˆ ogni individuo può essere sano (S ) o malato (M ) ˆ il test può dare un risultato positivo (+) o negativo (−) I costituenti elementari dell'insieme S sono dunque 4: (M +). espressa dalle probabilità condizionate P (+|M ) = 99.6% P (+|M )P (M |F i) + P (+|S)P (S|F i) Supponiamo ora che il signor Tizio. poiché ha necessariamente un valore denito (vero o falso). la probabilità di essere malato per gli abitanti di Firenze che risultano positivi al test sarà P (M |+. nell'approccio frequentista questa domanda è semplicemente mal posta: la variabile il signor Tizio è malato non è aleatoria. (S+). si sottoponga al test e risulti positivo. (M −). pur essendo rigoroso ed oggettivo. detta a priori. (S−). non risulta soddisfacente in molti problemi pratici.6 % ? Ma il signor Tizio fa anche parte della popolazione italiana.6% P (+|S) = 1.5%). Per questo è necessario conoscere le probabilità. Potrebbe domandarsi: qual è la probabilità che io sia malato? L'82. 1. Il teorema di Bayes ci permette di ottenere l'informazione che ci interessa (la probabilità di essere sano o malato) a partire dal dato accessibile sperimentalmente (il risultato del test). F i) = P (+|M )P (M |F i) = 82.

Ma se non fosse a conoscenza del dato P (M |F i) che è più P (M |F i) ma solo di quello nazionale. il signor Tizio stimerà la probabilità a priori di essere malato in base alle informazioni di cui dispone e dunque userà senz'altro il valore specico dell'area in cui vive. il suo grado di condenza di avere la malattia cambierebbe drasticamente. sulla base di un criterio di ragionevolezza. 7 . e infatti non ha alcun senso nell'approccio classico. che viene denita a priori in modo arbitrario cercando. accennando al caso bayesiano dove ritenuto opportuno. Nel proseguo del corso tratteremo per lo più casi che possono essere trattati col rigore dell'approccio frequentista. ˆ la probabilità costituisce un grado di condenza che l'ipotesi sia vera. In questo approccio si rinuncia dunque a una denizione oggettiva di probabilità. La statistica bayesiana cerca di denire delle procedure che. In questo senso si può dire che l'approccio bayesiano include quello frequentista. per usare le parole di Laplace. questa sarà usata come miglior stima della probabilità a priori. di trasformare il buon senso in calcoli. In particolare. non per partecipare ad una rilevazione statistica! Un approccio alternativo al concetto di probabilità è quello Bayesiano (o soggettivo). In questo approccio è lecito parlare della probabilità P (teoria) che una certa ipotesi teorica sia vera. laddove esistano dei dati sperimentali sulla frequenza di un certo risultato. stabilito soggettivamente dall'osservatore. che consiste in una diversa interpretazione della teoria assiomatica della probabilità: ˆ lo spazio S costituisce un insieme di ipotesi che possono essere vere e false. Nel caso del nostro esempio. e i dati sperimentali possono migliorare la nostra condenza sull'ipotesi teorica per mezzo del teorema di Bayes: P (teoria|esperimento) = P (esperimento|teoria)P (teoria) P (esperimento) (1. tali che la loro unione (ovvero l'OR logico di tutte le ipotesi) sia necessariamente vera. cercano di minimizzare l'eetto delle scelte soggettive sul risultato nale dell'analisi statistica.5) Il problema dell'interpretazione bayesiana è che il risultato dipende dall'assunzione a priori P (teoria) che non è denibile oggettivamente.tutto si è sottoposto al test per sapere se ha contratto la malattia.

1.6) che è dunque una funzione monotona crescente con valori fra 0 e 1.7) Dalla denizione seguono le proprietâ Z b a d (x) = p(b) − p(a) = P (a < X < b) Z +∞ d (x) = 1 (1.13) .9) −∞ Se p(x) è invertibile. da proba- bility density function) d (x) = dp(x) dx (1. funzione di ripartizione (o di probabilità cumulativa) la funzione p(x) = P (X < x) (1. La legge di probabilità è espressa indierentemente da una delle tre funzioni q(x). d (x).12) −∞ Si dimostra che la conoscenza di d (x) è equivalente alla conoscenza di E(X) e di tutti i momenti della distribuzione µl = E (X − E(X))l 8  (1. d (x) è il modo più comune di rappresentare la distribuzione dei valori.6 Distribuzioni di probabilità per una variabile aleatoria e loro proprietà Consideriamo il caso in cui il risultato del nostro esperimento sia rappresentato da una variabile aleatoria a valori reali Si denisce X. si denisce funzione quantile q(x) = p −1 (x) per (1. Se questa è derivabile. anche se il graco della PDF p(x).10) 0 ≤ x ≤ 1.8) (1.11) −∞ Analogamente si denisce valore atteso di una generica funzione Z f (x) +∞ E(f (X)) = f (x)d (x)dx (1. Il valore atteso (o valor medio) di una distribuzione è Z +∞ E(X) = xd (x)dx (1. si denisce funzione di densità di probabilità (o PDF.

con

l >1

(si ha ovviamente

µ0 = 1, µ1 = 0).

I momenti quanticano le proprietà essenziali

della distribuzione con importanza decrescente al crescere di l . Il momento secondo

varianza

Z

2

µ2

è detto

+∞

σ ≡ µ2 =

(x − E(X))2 d (x)dx = E(X 2 ) − (E(X))2

(1.14)

−∞
e la sua radice

σ

è detta

deviazione standard.

Nell'analisi dei dati, il valore atteso e la deviazione standard sono i due parametri fondamentali di una distribuzione. Infatti le incertezze in una misura sono tipicamente a media nulla,
ovvero seguono una distribuzione di probabilità con valore atteso nullo. In tal caso, il valore
atteso di X coincide con il valore teorico (valore vero) che vogliamo misurare. La deviazione
standard indica invece di quanto i valori misurati si possano discostare dal valore vero ed è il
modo convenzionale di quanticare l'errore sulla misura.

Il momento terzo è talvolta utilizzato per valutare l'asimmetria della distribuzione tramite il
parametro adimensionale

y = µ3 /σ 3 ,

detto asimmetria. Infatti

d (E(X) + δ) = d (E(X) − δ) ∀δ =⇒ y = 0
(si noti che non è necessariamente vero il viceversa).
Il momento quarto è invece usato per quanticare quanto una distribuzione è piccata, tramite

2

il parametro detto curtosi

k=

µ4
−3
σ4

Altri parametri spesso utilizzati per descrivere in sintesi una distribuzione di probabilità sono
alcuni valori particolari della funzione quantile:
la

mediana q(1/2)

il primo e terzo

quartile q(1/4) e q(3/4).

Se la funzione è simmetrica, la mediana coincide evidentemente col valore atteso, e si ha inoltre
q(3/4)-q(1/2)=q(1/2)-q(1/4)
Un'altra grandezza indicativa è il valore più probabile, o

moda, per il quale

d (x)

ha il valore

massimo.

1.6.1 Sul signicato della deviazione standard
Come già detto, la varianza è il parametro che misura di quanto una variabile aleatoria possa 
uttuare intorno al suo valore atteso. Se tali uttuazioni sono dovute ad errori nella misura,

2 la curtosi è denita in modo da valere 0 per la distribuzione normale. La denizione permette inoltre una
semplice relazione per la curtosi della somma di più variabili aleatorie:

Pn
P
k( 1 Xi ) = (k(Xi ))/n2

9

può dunque essere usata per quanticare l'incertezza nel processo di misura.
standard, che ha le stesse dimensioni della variabile
l'errore sulla misura.

X,

La deviazione

è usata convenzionalmente per indicare

L'interpretazione in termini probabilistici di questo errore, ovvero la

X

probabilità che il valore di

si discosti dal suo valore atteso di non oltre un certo numero di

deviazioni standard, dipende dalla distribuzione in esame. Possiamo però stabilire un limite
superiore a questa probabilità grazie alla

2

Z

diseguaglianza di Chebyshev:

+∞

Z

2

(x − E(x))2 d (x)dx

(x − E(x)) d (x)dx ≥

σ (X) =
−∞
2

|x−E(x)|>t

Z

(1.15)

2

≥t

d (x)dx = t P (|x − E(x)| > t)
|x−E(x)|>t

per una qualunque costante
valore di

X

t.

si discosti di oltre

Se prendiamo

n

t = nσ(X)

otteniamo che la probabilità che il

deviazioni standard dal suo valore atteso è inferiore a

P (|x − E(x)| > nσ(X)) ≤ 1/n2
indipendentemente dalla distribuzione

n−2
(1.16)

d (x)!

Ad esempio, la probabilità che il valore oscilli di oltre 5

σ

rispetto al valore atteso è sempre

inferiore al 4%. Questo risultato giustica in generale l'uso della deviazione standard per indicare un intervallo di valori in cui possiamo essere condenti, con una certa probabilità, che il valore
si trovi, sebbene per le distribuzioni di uso più frequente la probabilità

P (|x − E(x)| > nσ(X))

risulti molto inferiori al limite di Chebyshev.

1.7

Alcuni esempi notevoli di distribuzione

1.7.1 Distribuzione uniforme
Se tutti i valori di una variabile X in un intervallo

A = [a, b]

sono considerati equiprobabili, la

relativa PDF è la distribuzione uniforme

du (x) =
dove

χA (x)

1
χA (x)
(b − a)

(1.17)

è la funzione indicatrice dell'intervallo

(
1
χA (x) =
0

x∈A
x∈
/A

(1.18)

Si verica facilmente che

(b − a)
σu = √
12

(1.19)

nel software R, le funzioni cumulativa, densità e quantile della distribuzione uniforme sono
chiamate rispettivamente punif(), dunif(), qunif()
10

1.7.2 Distribuzione esponenziale
Consideriamo un evento che può avvenire con una probabilità nell'unità di tempo

dP/dt = r,

indipendente dal tempo. Se si osservano diversi eventi di questo tipo, che avvengono tutti con
lo stesso valore di

r

e sono indipendenti fra loro, si parla di

eventi poissoniani. Questo è ad

esempio il caso del decadimento di un nucleo radioattivo, ma anche della prossima estrazione
di un certo numero al lotto (amesso che il sorteggio non sia truccato!).
Consideriamo adesso il tempo di attesa

t

del prossimo evento.

babilità che l'evento non avvenga entro un tempo
innitesimo

dt

t.

Indichiamo con

La variazione di

ps (t)

ps (t)

la pro-

in un intervallo

sarà

dps = −ps (t)rdt
integrando fra 0 e t (e usando

ps (0) = 1)

si ottiene

ps (t) = e−rt
La probabilità che l'evento avvenga entro un tempo

(1.20)

t

è dunque

pe (t) = 1 − ps (t) = 1 − e−rt

(1.21)

Questa è la funzione di ripartizione della distribuzione di probabilità detta esponenziale, che è
denita per

t ≥ 0.

La sua PDF è

de (t) =
dove il parametro

τ ≡ 1/r

1 −t/τ
e
τ

(1.22)

è detto vita media.

Si noti che il tempo 0 a cui comincia l'attesa è arbitrario.
ad un certo tempo

t,

Se l'evento non è avvenuto

possiamo sempre azzerare il tempo e chiederci qual è la probabilità che

l'evento avvenga entro un certo tempo
la stessa nella variabile

t.

t0

a partire da

t,

e la legge di probabilità è esattamente

Infatti l'indipendenza dal tempo di

r

implica che l'evento avvenga

senza memooria, ovvero senza tener conto di quanto tempo si è atteso in passato (un fatto su
cui dovrebbero riettere i giocatori dei numeri ritardatari al lotto!).
Il valore atteso e la varianza della distribuzione sono

Z

+∞

xe−x/τ
dx = τ
τ

(1.23)

(x − τ )2 e−x/τ
dx = τ 2
τ

(1.24)

E(texp ) =
0

2

Z

σ (texp ) =
0

+∞

11

ma i loro valori tabulati sono disponibili nei principali software di analisi.7.14)] Essendo una distribuzione simmetrica attorno a la deviazione standard è pari a µ. sd=3). una distribuzione con due parametri φG (x) = √ 1 exp 2πσ  µ e σ la cui PDF è  −(x − µ)2 2σ 2 (1. il valore atteso è µ. Si dimostra poi che σ.3 Distribuzione normale La distribuzione di probabilità più importante nella scienza statistica è senz'altro la distribuzione normale o gaussiana. [output del comando curve(dnorm(x.1. Una notevole proprietà della gaussiana è che la probabilità dipende solo da u = (x − µ)/σ .1: Esempio di distribuzione di densità gaussiana.25) La funzione cumulativa e la quantile non sono funzioni elementari.26) . ovvero dalla distanza dal valore atteso espressa in sigma: 1 φstd (u) = √ exp 2π 12  −u2 2  (1. sono ottenibili tramite le funzioni pnorm() e qnorm() Figura 1. mean=5.-4. Nel software R.

xn ) = Per ciascuna variabile. . 4) ) [1] 0.29) probabilità marginale (o non condizionata) ! Z mXi (xi ) = (1. . xn ) = P ((X1 < x1 ) ∩ (X2 < x2 ) · · · ∩ (Xn < xn )) e la funzione densità ∂ np ∂x1 ∂x2 . x2 .9999367 Una variabile aleatoria gaussiana ha dunque una probabilità del 68.std = function (Nsigma) { 2*pnorm(Nsigma)-1 } > prob. .8 Distribuzioni multivariate.6826895 0. x2 .9544997 0. i = 1 .32) . L'importanza della distribuzione normale consegue dal teorema del limite centrale. che ha valore atteso E(u) = 0 e varianza σ 2 (u) = 1. che sarà discusso nel paragrafo 1. tramite la relazione Nσ φstd (u)du = 2pstd (Nσ ) − 1 P (|u| < Nσ ) = (1.La distribuzione 1. del 99. n.27% di assumere un valore entro 1 σ dal valore atteso. .13 1. . . .26. La funzione di ripartizione sarà p(x1 . ∂xn d (x1 . . . x2 . del 95. è detta gaussiana standard. 3.30) j6=i mentre la denizione di densità di probabilità condizionata cXY (y|x) = d (x.994% entro 3 σ.27) −Nσ I valori numerici possono essere ottenuti in R dal seguente codice > prob.28) d (x1 . y) mX (x) (1. . si denisce funzione di (1.std( c(1.45% entro 2 σ. . . covarianza Le distribuzioni di probabilità denite nel paragrafo precedente possono essere estese al caso di più variabili aleatorie a valori reali X i . 2.9973002 0.31) permette di scrivere il teorema di Bayes per variabili continue cXY (y|x) = cY X (x|y)mY (y) mX (x) 13 (1. La funzione di ripartizione della gaussiana standard permette di calcolare la probabilità che la variabile sia pari al valore atteso entro Z Nσ deviazioni standard. xn ) Y dxj (1. .

. y) = mX (x)mY (y) Z =⇒ cov(X.36) = E(XY ) − E(X)E(Y ) e risulta particolarmente utile per quanticare la possibile dipendenza fra due variabili. . . y)dxdy (1.33) (x − E(X))2 dm (x)dx (1. è di tipo lineare. Xn ) è Z E(f (X1 . . B Ne consegue che X e Y indipendenti ⇐⇒ d (x.38) può essere considerato come una misura della mutua dipendenza fra le variabili. Y ∈ B) = P (X ∈ A)P (Y ∈ B) ∀A. y)dxdy e µlm I momenti µ20 µ02 e Z Z 2 (x − E(X)) d (x.f (X1 . Se ad esempio la funzione dal valore di X mX (x) è simmetrica e il valore di Y tramite la relazione Se però la relazione fra Y e X Y = X 2. .35) covarianza è detto Z cov(X. y)dxdy = Z Z (x − E(X))mX (x)dx (y − E(Y ))mY (y)dy = 0 (1.37) Una covarianza non nulla mette quindi in evidenza una dipendenza fra le due variabili aleatorie. Quando il valore di anticorrelate. . . Si dimostra facilmente che −1 ≤ ρ ≤ 1. xn )d (x1 . . y)dxdy = σ (X) = µ20 = µ11 (1. Y ) σ(X)σ(Y ) coeciente di correlazione lineare (1. Due variabili X e Y si dicono indipendenti se e solo se P (X ∈ A. . 14 ρ è negativo si dice che le variabili sono . x2 .34) rappresentano le varianze delle due variabili: 2 Il momento (1. . Y ) = µ11 = (x − E(X))(y − E(Y ))d (x. xn )dx1 dx2 . dxn Il valore atteso di una funzione X Nel caso di due variabili Y . la covarianza risulta pari a zero. y) = mX (x)mY (y) Per variabili indipendenti la covarianza è nulla: d (x. i momenti sono deniti come Z = (x − E(X))l (y − E(Y ))m d (x. allora il ρ= è determinato univocamente cov(X. . Xn )) = f (x1 . Y ) = (x − E(X))(y − E(Y ))d (x. Si noti che non è vero il viceversa: una covarianza nulla non implica l'indipendenza fra le variabili.

La matrice varianzacovarianza delle variabili normalizzate matrice di correlazione  1 ρ(X1 .. La variabilità del nostro set  x1 x = .40) 1. Il seguente codice permette di visualizzare la funzione con R.    cov(X2 .41) risulta coincidere con la x. X2 ) . . come graco tridimensionale o disegnando nel piano (X. . X1 ) 1 R=  . xn è dunque descritta al primo ordine dai valori delle varianze e delle covarianze. Y ) 2 − 2ρ deniscono una ellisse (x − E(X)) (y − E(Y )) = k0 σ(X) σ(Y ) (1. . Xn )    1 (1.. X2 ) . Y ) le ellissi di covarianza per diversi valori di 15 k . Xn )    2 σ (Xn ) (1. . .42) Notiamo che i valori che hanno pari densità nel piano  φG (x. Per i calcoli è utile introdurre la  matrice varianzacovarianza  cov(X1 . Questa distribuzione descrive variabili gaussiane (ciascuna distribuzione marginale è una gaussiana unidimensionale) che presentano correlazioni di tipo lineare: E(xi ) = a + bE(xj ) Nel caso bidimensionale. y) = k =⇒ x − E(X) σ(X) detta ellisse di covarianza (k e k0 2  y − E(Y ) + σ(Y ) (X..8.39) ui = (xi − E(xi ))/σ(xi ) è detta 2 σ (X1 ) cov(X1 ..  ρ(X1 .1 Distribuzione normale multivariata Come esempio di funzione densità a più variabili consideriamo la distribuzione normale gaussiana multivariata: φG (x) = dove µ = E(x) 1 √ (2π)n/2   1 T −1 exp − (x − µ) V (x − µ) 2 detV è il vettore dei valori attesi e la matrice simmetrica matrice varianzacovarianza del set di variabili V (1. . y) = 1 p · 2πσ(X)σ(Y ) 1 − ρ2 ( " #) 2  2 1 x − E(X) y − E(Y ) (x − E(X)) (y − E(Y )) exp − + − 2ρ 2 2(1 − ρ ) σ(X) σ(Y ) σ(X) σ(Y ) (1. X1 ) σ 2 (X2 ) V = E (x − E(x))(x − E(x))T =   . ρ(X2 . la forma esplicita della funzione è φG (x.43) sono due valori costanti).

bidnorm. 98.9%. possiamo denire delle regioni in cui le uttuazioni sono entro nσ . 3 sono .y.Figura 1.2: Esempio di distribuzione di densità gaussiana bivariata bidnorm = function(x.rho=0.length=100) persp(x.3%.7)) Analogamente al caso della gaussiana unidimensionale.9 Funzioni di variabili aleatorie La distribuzione densità dy (y) per una variabile y=f(x) 16 n = 1.7).phi=40) contour(x. 2.rho=. E(Y ))exp − 2   La probabilità che i valori di (X.rho=.sy=1 ) { 1/(2*pi*sx*sy*sqrt(1-rho^2))* exp(-1/(2*(1-rho^2))*((x/sx)^2+(y/sy)^2-2*rho*x/sx*y/sy)) } x=seq(-3. 1.y.3.3.y.length=100) y=seq(-3.5%.bidnorm.outer(x. denite dalle ellissi di covarianza n2 φG (x.Y) siano contenuti in queste ellissi per rispettivamente il 39.sx=1.outer(x. 86.y. y) = φG (E(X).y.

per variabili reali. che equivale. ad un cambio di variabile nell'integrazione della funzione densità. funzione f (x) Se la è invertibile si deve avere |dy (y)dy| = |dx (f −1 (y))dx| da cui .è ottenuta dalla distribuzione dx (x) imponendo la conservazione della probabilità.

−1 .

.

df (y) .

.

dy (y) = dx (f −1 (y)) .

.

dy .

(1.44) Alcuni casi semplici sono y = x + a =⇒ dy (y) = dx (y − a) .

.

.

1.

y = bx =⇒ dy (y) = .

.

.

.

X2 .47) A(w) dove A(w) rappresenta l'insieme dei valori di per cui f (x) < w.49) −∞ e la convoluzione di Mellin per il caso z = x1 · x2 ! Z z/x1 Z +∞ d dZ (z) = d1 (x1 )dx1 d2 (x2 )dx2 = dz −∞ −∞   Z +∞ 1 z d1 (x1 ) d2 dx1 |x1 | x1 −∞ 17 (1.x2 )<w) e la funzione densità dW (w) = è detta dpW (w) = d1 ⊗ d2 dw convoluzione delle funzioni d1 e d2 . .50) .46) relazioni che abbiamo già usato per passare dall'eq. 1.48) A(f (x1 . 1. Casi notevoli sono la convoluzione di Fourier per il caso w = x1 + x2 Z +∞  Z w−x1 d dW (w) = d1 (x1 )dx1 d2 (x2 )dx2 = dw −∞ −∞ Z +∞ d1 (x1 )d2 (w − x1)dx1 (1.45) (1. x2 ) < w) = d1 (x1 )dx1 Nel caso di due variabili indipendenti X1 x e −∞ d2 (x2 )dx2 (1. x = (x1 . xn ) Per una funzione di più variabili aleatorie W = f (x) la funzione densità si ottiene dierenziando la funzione di ripartizione calcolata come Z pW (w) = P (f (x) < w) = dx (x)dx (1. x2 . si ha Z +∞ Z pW (w) = P (f (x1 .25 all'eq. .26. dx (y/b) b (1.

a=-1. La funzione densità di probabilità per la variabile Z g(y) = a b 1 fx (y − x)dx = (b − a) Z y è  0    y−2a min(b.min=mya.2*myb+1. questo può essere confrontato con i valori attesi ciascun intervallo in Ii = [yi − δ/2. La funzione runif() di R ci permette di estrarre a caso dei valori con distribuzione uniforme in un dato intervallo.max=myb) x2=runif(n.function(y. Possiamo dunque produrre empirica dei valori ottenuti di y N valori per x1 .deltax)) curve(hy(x. add=T.max=myb) sample=x1 + x2 deltax=(myb-mya)/20 hist(sample. contando La funzione di R hist() ci permette λi di produrre e visualizzare l'istogramma. moltiplicata per il fattore mya=-1 myb=1 n=10000 x1=runif(n.Esempio 1.a=mya.y−a) 1 dx =  (b − a)2   max(a.9. implementata in R dal seguente codice: hy <.y−b) (b−a)2 2b−y (b−a)2 0 y < 2a 2a < y < a + b a + b < y < 2b y > 2b Si ottiene cioè una funzione triangolare. yi + δ/2] Z λi = N · P (y ∈ Ii ) = N · dy (y)dy ' N · dy (yi )δ Ii Il confronto visivo fra il risultato della simulazione e la distribuzione attesa può dunque essere fatto sovrapponendo all'istogramma la funzione densità.min=mya.1 Convoluzione di due variabili distribuite uniformemente Si consideri la variabile y = x1 + x2 con x1 e x2 distribuite uniformemente fra a e b. breaks=seq(2*mya-1. La distribuzione istogramma. col="red") 18 N ·δ : .b=1) { (y > 2*a & y < 2*b) * ((y-2*a) * (y < (a+b)) + (2*b-y) * (y >= (a+b))) /(b-a)^2 } Possiamo vericare la validità della funzione ottenuta tramite una simulazione. y. x2 e dunque può essere rappresentata tramite un la frequenza dei dati in intervalli di y di pari larghezza δ.b=myb) * n * deltax.

ovvero tale che l'errore di misura  possa essere descritto con 0 una gaussiana di valore atteso nullo e deviazione standard σ .Esempio 1.9. Il valore misurato t è dunque Si supponga di misurare il tempo di decadimento t0 = t +  te ( 0 t<0 f (t) = 1 exp(−t/τ ) t ≥ 0 τ con le funzioni densità di probabilità di 1 g() = √ exp(−2 /σ 2 ) 2πσ Vogliamo scrivere con R la funzione densità per la variabile ∞ exp(−t0 /τ ) h(t ) = g()f (t − )d = τ −∞ 0 Z 0 Z t0 t0 g() −∞ exp(/τ ) d τ In questo caso la funzione convoluta non è calcolabile analiticamente. 19 Possiamo allora .2 Convoluzione di una funzione densità gaussiana e una esponenziale t di un nucleo radioattivo con un apparato dotato di risoluzione temporale σ . risolvere l'integrale numericamente utilizzando la funzione integrate() di R.

possiamo simulare un campione e vericare la correttezza della distribuzione densità calcolata.col="blue") 20 . prevt=-6.sigma=1.tau=1) { out=c() for (i in 1:length(t)) { if (i>1) { out[i]=out[i-1] prevt=t[i-1] } else { out[i]=0.tau=1) { dnorm(e.sigma=1.function(e.deltax).add=T. per poter essere disegnata con le funzioni plot o curve.sigma=1.tau=1) { exp(-t/tau)/tau * intfee(t.5)) curve(expconv(x.sigma.tau) } (Si noti che la funzione.breaks=seq(-10.4 t=rexp(n.fee <.rate=1/mytau) eps=rnorm(n.function(t.sigma=mysigma)*n*deltax.sd=sigma)* exp(e/tau) } intfee <.function(t. deve poter agire su un vettore t di lunghezza arbitraria.2 hist(tprime.tau=tau)$value } out } expconv <.) Come nell'esempio precedente.20.sigma=sigma.sd=mysigma) tprime=t+eps deltax=0.t[i]. } out[i] = out[i]+ integrate(fee.prevt.xlim=c(-2. Utilizziamo le funzioni di R per simulare N valori di variabile aleatoria con distribuzione di probabilità esponenziale (rexp()) e normale (rnorm()) n=10000 mytau=1 mysigma=0.tau=mytau.

1. Alcune tecniche di simulazione dei dati saranno brevemente trattate nel paragrafo 2.9. quando questa non sia ricavabile analiticamente. ma è suciente saper stimare E(y) e σ(y) a partire dai valori misurati di errori.7. E(y) = aE(x) x .La simulazione di un campione costituisce in eetti una tecnica numerica di calcolo approssimato della distribuzione convoluta.1 Propagazione degli errori Come già sottolineato. rappresentati dalla matrice varianzacovarianza V (x). il valore atteso e la deviazione standard sono i parametri di maggior interesse nei problemi di analisi dati. Se siamo interessati a conoscere una variabile y = f (x). Vediamo alcuni casi semplici (a è una costante): y =a·x σ 2 (y) = a2 σ 2 (x) 21 e dai relativi Questo procedimento è chiamato propagazione degli errori. nella pratica spesso non è necessario conoscere la forma esatta della distribuzione densità di y.

le equazioni 1.y =a+x σ 2 (y) = σ 2 (x) E(y) = a + E(x) y = x1 + x2 Z E(y) = (x1 + x2 )dx (x1 .51) σ 2 (y) = E (x1 + x2 − E(x1 + x2 ))2 = = E ((x1 − E(x1 )) + (x2 − E(x2 )))2 = = E ((x1 − E(x1 )))2 + E ((x2 − E(x2 )))2 + 2E ((x1 − E(x1 )) ∗ (x2 − E(x2 ))) = = σ 2 (x1 ) + σ 2 (x2 ) + 2cov(x1 . x2 )dx1 dx2 = E(x1 ) + E(x2 ) (1.52) Se le variabili sono indipendenti. x2 ) (1. xj ) (1. tale sarà anche la distribuzione di poiché si dimostra che la convoluzione di Fourier di due gaussiane è ancora una gaussiana. l'errore sulla somma si ottiene semplicemente quadratura gli errori sulle sommando in x. yk ) = n X yi : ali aki σ 2 (xi ) + 2 i=1 Utilizzando la notazione matriciale X ali akj cov(xi .54) i>j hanno distribuzione normale. xj ) (1.56) Veniamo ora al caso non lineare. xi X ai aj cov(xi . In tal caso quindi la distribuzione di y è completamente denita. cominciando col considerare il prodotto e il rapporto di due variabili: 22 . Per una generica trasformazione lineare y = f (x) = a0 + n X ai x i i=1 si ha dunque E(y) = a0 + n X ai E(xi ) = f (E(x)) (1. Nel caso di una trasformazione lineare da n variabili yj = aj0 + n X x a m variabili y: aji xi i=1 si possono calcolare facilmente le covarianze fra le cov(yl .55) i>j y = y 0 + Ax.53) i=1 2 σ (y) = n X a2i σ 2 (xi ) + 2 i=1 Si noti che se le variabili y.55 possono essere riscritte nella forma più compatta Vy = AVx AT (1.53 e 1.

f (x) (1. Ci conviene allora sviluppare la funzione in serie nell'intorno di E(x): f (x) = f (E(x)) + X ∂f (E(x)) · (xi − E(xi )) + . può portare a risultati scorretti quando l'approssimazione lineare non risulti giusticata. . 1/x2 ) (1.57) dunque il valore atteso del prodotto è il prodotto dei valori attesi solo se le variabili sono indipendenti o comunque scorrelate. ∂x i i Se ci limitiamo ad uno sviluppo al primo ordine.60) ed in generale il valore atteso del rapporto è diverso dal rapporto dei valori attesi. y = f (x) non si può dare una formula di propagazione esatta. ma notiamo che sono rilevanti solo i valori della funzione per valori di x che hanno una probabilità Per una generica funzione signicativamente maggiore di zero.61) ad una funzione 1. x2 ) (1. dal valore atteso.36 E(y) = E(x1 )E(x2 ) + cov(x1 . possiamo utilizzare l'eq. . in termini di deviazione standard.54 per ottenere la nota formula di propagazione degli errori 2 σ (y) ' n  X ∂f i=1 2 X ∂f ∂f (E(x)) · σ 2 (xi ) + 2 (E(x)) · (E(x)) · cov(xi . ovvero che non distano molto. xj ) ∂xi ∂xi ∂xj i>j (1.58) = σ 2 (x1 )E(x2 )2 + σ 2 (x2 )E(x1 )2 + σ 2 (x1 )σ 2 (x2 ) da cui σ(x1 x2 ) = E(x1 x2 ) s σ(x1 ) E(x1 ) 2  + σ(x2 ) E(x2 ) 2 Nel caso di variabili indipendenti con errori relativi  + σ(x1 )σ(x2 ) E(x1 )E(x2 ) σ(x)/E(x) 1 terzo termine della somma sotto la radice e si ottiene che l'errore 2 (1. Una regola pratica 23 .y = x1 · x2 ricordando la 1. y = x1 /x2 in questo caso E(y) = E(x1 )E(1/x2 ) + cov(x1 . approssimando dunque lineare nell'intorno di E(x). x2 ) = d1 (x1 )d2 (x2 ) =⇒ σ 2 (y) = E(x21 )E(x22 ) − E(x1 )2 E(x2 )2 = (1. molto utilizzata nella pratica. L'approssimazione E(y) ' E(x1 )/E(x2 ) è valida solo nel caso di errori relativi piccoli sulle x.62) Bisogna tenere presente che questa formula.59) si può trascurare il relativo del prodotto di variabili aleatorie si ottiene sommando in quadratura gli errori relativi delle x. La varianza può essere calcolata nel caso di variabili indipendenti: dx (x1 .

per sincerarsi dell'applicabilità della formula è la verica della condizione h i.

.

.

[f (E(x) + σ(x)) − f (E(x) − σ(x)] − ∂f (E(x)) 2 ∗ σ .

.

.

∂xi .

.

1 .

.

[f (E(x) + σ(x)) − f (E(x) − σ(x))] .

.

h.mean=t.sigma_g.rnorm(N.mean=h.63) Errore su una semplice misura Si supponga di misurare l'accelerazione gravitazionale g.g.05 .col="red") } 24 .mean=g.h. xlim=c(g-5*sigma_g. I valori osservati di h e t possono essere considerati variabili aleatorie gaussiane con errori σ(h) e σ(t).4 # secondi g= accelg(h0. Avremo g h = h0 − t2 2 Nell'approssimazione lineare ci aspettiamo che il valore misurato di con valore atteso E(g) ' (h0 − E(h)) g sia una variabile gaussiana 2 E(t)2 e deviazione standard ottenuta dalla formula di propagazione degli errori: s σ(g) ' 16(h0 − E(h))2 2 4 2 (h) + σ σ (t) E(t)4 E(t)6 Verichiamo la validità dell'approssimazione tramite una simulazione: accelg= function(h0.05) { h0=100 # metri h=2 t=4.t) sigma_g = 2/t^2 * sqrt ( sigma_h^2 + 4/t^2*(h0-h)^2*sigma_t^2 ) cat("g=".g+5*sigma_g)) delta= h$mids[2]-h$mids[1] curve(dnorm(x." +/. Esempio 1.sd=sigma_t)^2 h=hist(sample." m/s^2\n") N=10000 sample = (h0 .3 (1.sigma_g/10).breaks=seq(0.t) { (h0-h)*2/t^2 } simulg = function(sigma_h= 0. misurando l'altezza h dopo un tempo t di un grave lasciato cadere (da fermo) da un'altezza nota h0 .add=T.max(sample)+1.sd=sigma_h))*2 / rnorm(N.".9.sd=sigma_g)*N*delta. sigma_t=0.

05 m e σ(t) = 0.10 g si discosta notevolmente da quello atteso nell'approssimazione lineare.6 possono essere estese al caso di una variabile X a valori discreti x1 . la distribuzione di g σ(h) = risulta distorta rispetto all'approssimazione lineare. . Si noti che non solo l'errore risulta sottostimato. La funzione discreta densità è semplicemente d (Xi ) = P (Xi ) (1. aumentando l'errore su t. Tuttavia. Variabili aleatorie discrete Le funzioni di probabilità introdotte nel paragrafo 1. x2 . . ma anche il valore più probabile di 1. sostituendo gli integrali con sommatorie. .66) (Xi − E(X))l d (Xi ) (1.65) i=1 Il valore atteso e i momenti sono N X Xi d (Xi ) (1.Possiamo vericare che l'approssimazione lineare è giusticata per i valori di default 0. xN .67) E(X) = i=1 µl (X) = N X i=1 25 .64) e la sua condizione di normalizzazione è N X d (Xi ) = 1 (1.05 s.

73) i=1 Per la frequenza f = k/n di successi si ha dunque E(f ) = p r p · (1 − p) σ(f ) = n (1. la probabilità di avere un numero k = Bi di successi è data dal prodotto delle probabilità di avere k successi e n − k insuccessi.70) x=0 n variabili aleatorie bernoulliane indipendenti Bi con uguale parametro P p.1. ovvero per il coeciente binomiale fb (k. n → ∞.1. n. f. f converge alla e dunque l'errore Come vedremo meglio nel prossimo capitolo. il valore della frequenza Le uttuazioni statistiche di sono tanto più piccole quanto maggiore è n.75.69) x=0 1 X σ (X) = (X − p)2 fB (x) = p(1 − p) 2 (1. è E(k) = E( n X Bi ) = n · p (1.72) i=1 e la varianza 2 σ (k) = n X σ 2 (Bi ) = n · p · (1 − p) (1.75) L'equazione 1. che giustica a posteriori l'interpretazione di probabilità 1. p) = La funzione densità ottenuta è detta caso di una tramite n k : n! pk (1 − p)n−k k!(n − k)! (1.74) (1. Il valore atteso e la varianza sono: E(X) = 1 X XfB (x) = p (1. in conseguenza di questa legge l'errore statistico su una generica stima 26 . esprime un concetto noto come legge dei grandi numeri: probabilità p dell'evento nel limite nella determinazione di p. moltiplicata per il numero di combinazioni di n elementi  n Se ora consideriamo di lunghezza k. k p di un certo evento delle quali manifestano l'evento osservato.11 La Distribuzione binomiale e legge dei grandi numeri distribuzione di Bernoulli è una funzione di variabile discreta (successo) e un parametro X con valori 0 o 1 p: ( 1−p X =0 fB (X) = p X=1 (1.71) distribuzione binomiale e si applica in particolare al misura campionaria in cui si vuole stimare la probabilità osservazioni Il valore atteso di k indipendenti.68) e descrive quindi un fenomeno stocastico che può avvenire con probabilità p.

kj ) = n X n X k1 =1 k2 =1 Esempio 1. n. pB ) = = pA · pB pA · (1 − pA ) pB · (1 − pB ) + +2 n n n e dai dati possiamo dunque stimare δ ' (4.7 ± 2. k non sia Se contiamo ad esempio il numero di stelle cadenti osservate durante una notte estiva.8)% 1. . e il calcolo della covarianza fra le variabili conduce a cov(ki .12 Distribuzione di Poisson Consideriamo ora il caso di un esperimento di conteggio in cui il numero di successi limitato. p2 . avremo tipicamente conteggi di poche unità.1 n X ··· (ki − E(ki ))(kj − E(kj ))fmn (k1 . . . . pm−1 ) = Qm Per ciascuna variabile pi . e una percentuale pB =38. ovvero k  n. ciascuno con probabilità ki tali che può assumere un P pi = 1 .11. . km−1 . XB k pj j (1. (n − k + 1) 1 = 1− k k k! n n 1 − nλ 27 (1. Un sondaggio elettorale eseguito su Dalla formula di propagazione degli errori σ 2 (pA − pB ) = σ 2 (pA ) + σ 2 (pB ) − 2cov(pA .7% dei voti. essere descritto da una distribuzione binomiale in cui Questo tipo di eventi può n → ∞. p) = 1− = k!(n − k)! n n  n λk λ n(n − 1) . p1 . p → 0 ma λ = pn ha un valore nito. In questo limite  k  n−k n! λ λ fb (k.76) sono ancora valide le formule 1. La distribuzione binomiale può essere estesa al caso in cui la variabile qualunque numero di valori discreti caso la distribuzione è detta Xi .0% al partito B. In tal multinomiale: n! m Y j=1 kj ! j=1 fmn (k1 .72 e 1. km−1 ) = −npi pj (1.78) .n campionaria è inversamente proporzionale alla radice della dimensione del campione. . . .73. ma non vi è un limite sico al numero di meteore che possono provocare un fenomeno visibile. e può dunque essere reso arbitrariamente piccolo a patto di disporre di un campione sucientemente grande. Vogliamo conoscere l'incertezza statistica sul distacco δ = pA − pB previsto dal sondaggio.77) km =1 Sondaggio elettorale n =1000 persone assegna al partito A una percentuale pA =42. k2 . k2 . n.

09) binpois(500.80) λ.prob=p) ypois=dpois(x. e la varianza σ 2 (k) = λ si ottengono dal limite dei corrispondenti valori per la binomiale o usando la 1.col="red") } par(mfrow=c(2.integer(lambda-5*sd):as. main=paste("N=". Il seguente codice permette di visualizzare il confronto fra la distribuzioni binomiale e poissoniana con λ=N ·p binpois <-function(n=10000.18) binpois(100.5 deviazioni standard x=as.001) { lambda=n*p sd=sqrt(n*p*(1-p)) # scegliamo i limiti del plot come valore atteso # +/.p=0."p=".79) λ.type="s".type="s".66.0.n.0.018) 28 .9) binpois(50.0.lambda=lambda) plot(x. λ) = λ−1/2 λ3/2 λ e dunque l'asimmetria (1.ypois.ybinom. E' interessante notare che anche il valore del momento terzo è pari a P∞ y= diminuisce al crescere di i=0 (k − λ)3 fP (k.2)) binpois(10.0. λ) = che dipende quindi dal solo parametro Il valore atteso E(k) = λ λk −λ e k! (1.integer(lambda+5*sd) ybinom=dbinom(x.p)) points(x.tende alla distribuzione di Poisson fP (k.size=n.

n1 + n2 . Analogamente. p) e fb (k2 . n1 . la somma di due variabili poissoniane con parametri distribuzione poissoniana λ0 fP (k. teorema del limite centrale La somma di due variabili k1 e k2 che seguono distribuzioni binomiali fb (k1 . Si dimostra che il limite continuo della distribuzione di Poisson per λ → ∞ non è altro che la distribuzione normale con 29 .1. λ1 + λ2 ). N N λ0 . n2 .13 Limite della distribuzione di Poisson. p). Se sommiamo otteniamo ancora una poissoniana con parametro λ1 e λ2 segue ancora una variabili poissoniane con parametro la cui distribuzione al crescere di N è sempre più simmetrica e assume la caratteristica forma a campana. p) sarà ks = k1 + k2 = nX 1 +n2 Bi i=1 e seguirà quindi una distribuzione binomiale fb (ks .

col="red") } 30 . λ) e di Gauss (1.3: Confronto fra distribuzioni di Poisson vari valori di fP (x.dpois(x.mean=lambda.integer(lambda+5*sd) plot(x.81) φG (x.lambda=lambda). µ = λ. λ) = √ 1 −(k − λ)2 exp 2λ 2πλ Figura 1.sd=sd). main=paste("lambda=".type="s".valore atteso e varianza pari a λ: limλ→∞ fP (k.integer(lambda-5*sd):as.lambda)) curve(dnorm(x. σ 2 = λ) per λ Il confronto visivo fra la distribuzione di Poisson e il suo limite asintotico è ottenuto dal seguente codice gauspois <-function(lambda) { sd=sqrt(lambda) x=as.add=T.

1) } } delta=sqrt(2*n)/20 # confrontiamo la distribuzione ottenuta con la gaussiana # che ci aspettiamo dal teorema del limite centrale hist(sample. confrontiamo la distribu- n variabili distribuite uniformemente nell'intervallo [−1. Come visto in precedenza.add=T.13. Tuttavia. Il teorema può essere esteso al caso di variabili non identicamente distribuite.-1.col="red") } par(mfrow=c(2. la distribuzione può essere descritta da una gaussiana con ottima approssimazione già per valori di n molto bassi: zione della somma di centrallimit <-function(n. a patto che sia valida la seguenta condizione (detta di Lindeberg): v  . la distribuzione per n = 2 è una funzione triangolare. la funzione densità è descritta da polinomi di grado n − 1 e solo nel limite n → ∞ diventa una gaussiana. per un valore nito del numero di osservazioni N .*n.-1.main=paste("n=". 3 d (x) Convoluzione di più variabili distribuite uniformemente Per dimostrare l'importanza pratica del teorema del limite centrale.1. nel limite N → ∞.2)) gauspois(1) gauspois(5) gauspois(10) gauspois(100) Il fatto che la somma di inniti termini poissoniani risulti in una distribuzione gaussiana è un caso particolare del teorema del limite centrale: la funzione densità della somma di N variabili e varianza s 2 .*n.N=5000) { sample = runif(N.breaks=seq(-1. tende.par(mfrow=c(2.2)) centrallimit(n=2) centrallimit(n=3) centrallimit(n=5) 3 si veda [1] per la dimostrazione. Più in generale. 1].n)) curve(dnorm(x.1 2 µ = N a. xi identicamente distribuite con valore atteso alla distribuzione normale con indipendentemente dalla forma della distribuzione Esempio 1.1) if (n >1) { for (i in 1:(n-1)) { sample = sample + runif(N.sd=2*sqrt(n/12))*N*delta.delta). σ = N s a 2 .

u n X u (xi − E(xi )) .

Pn lim E σi2  = 0 .

|xi − E(xi )| > εt 2 n→∞ .

σ i=1 i i=1 i=1 n X dove per E(X|Y > c)  2.

si intende il valore atteso della variabile che ha valore 31 X per ∀ε > 0 Y >c e 0 altrimenti. .

nel caso di campione di dimensione N = 5000.75). Nei casi reali possiamo dunque aspettarci che l'assunzione di errori gaussiani sia valida entro una certa approssimazione.centrallimit(n=10) Di norma. 1. In tal caso il teorema del limite centrale ci permette di poter assumere che gli errori seguano la distribuzione di Gauss. ma da un teorema matematico valido solo nel limite di inniti contributi all'errore. ma praticamente mai rigorosamente. spesso l'eetto totale risulta dalla somma dei singoli eetti. che non a caso è chiamata normale. eq. gli strumenti di misurazione sono soggetti ad un gran numero di piccoli eetti che possono perturbare la misura. Quello che conta è se la deviazione dalla normalità sia signicativa rispetto all'incertezza statistica del nostro campione di dati (cfr. Nell'esempio precedente. n = 10 variabili e un la distribuzione empirica dei dati non mostra deviazioni 4 signicative dall'ipotesi normale . ma aumentando la dimensione del campione (ad esempio 4 il numero di dati in ciascun intervallo dell'istogramma p multinomiale con deviazione standard σi = ki √ è una variabile aleatoria che segue la distribuzione N pi (1 − p1 ) ' ki . grazie al principio di sovrapposizione. La sica fondamentale di questi eetti può portare alle distribuzioni di probabilità più diverse. tuttavia. Bisogna comunque tener presente che la distribuzione normale non discende da una legge sica fondamentale. Nel graco del caso n = 10 le deviazioni fra i 32 .

la variabile n X (xi − µi )2 2 (1. n) = 1 2g/2 Γ(g/2) dove (χ2 )g/2−1 exp(−χ2 /2) (1. notiamo che il valore atteso di ciascun membro della sommatoria è 1. detta di Pearson o di solo parametro χ2 (chi quadro). come vedremo meglio nel paragrafo 3. quando la probabilità di discostarsi dal valore atteso di oltre 3 deviazioni standard sia dominata da un singolo eetto sico (tipicamente non lineare). nasconda code non gaussiane. 33 . i = 1. Questa proprietà ha importanti applicazioni nell'analisi statistica. . . segue una distribuzione. La distribuzione Gamma. e il momento terzo è 8g .82) χ = σi2 i=1 Se che rappresenta la somma dei quadrati degli scarti rispetto al valore atteso in unità di deviazione standard. n sono variabili aleatorie gaussiane indipendenti con valore atteso µi e deviazione standard σi . Non è infrequente che una distribuzione. come vedremo nei capitoli 3 e 4. questo può avvenire.2. ad esempio. La larghezza relativa della distribuzione σ(x)/E(x) = 2/g p 3/2 e l'asimmetria µ3 /σ = 2 2/g diminuiscono dunque entrambe al crescere di g . che dipende dal g = n: fχ2 (χ2 . l'approssimazione normale non sarebbe più giusticata per descrivere il campione di dati.14 La distribuzione di Pearson xi .84) ∞ Z Γ(x) = 0 è la funzione gamma di Eulero. a prima vista gaussiana. Dalla denizione di varianza. 1. e dunque il valore atteso della distribuzione è pari a g. Il parametro g χ2 è un caso particolare della distribuzione è detto numero di gradi di libertà per motivi che saranno più chiari nei prossimi capitoli. 2 Nel software R la PDF della distribuzione χ può essere ottenuta dalla funzione dchisq() pari a valori ki e i valori predetti nell'ipotesi normale sono compatibili con questa deviazione standard.N = 500000). . Si dimostra che la varianza è p 2g .83) e−t tx−1 dt (1.

add=T. df=10). [output del coman- do curve(dchisq(x.0.col= green ) . curve(dchisq(x. df=2). 5. 20) . df=5).col= red )] .4: Distribuzione di Pearson per 2. curve(dchisq(x.Figura 1. 10 gradi di libertà.add=T.

probabilità di osservazioni di un generico set di variabili. a partire dal campione S. Consideriamo il caso della misura di una singola variabile reale valori PN x= i=1 N 35 xi x. Il nostro generico campione S = (x1 . rappresentate Nell'ipotesi di misura riproducibile. A dierenza di θ . a cui sarà dunque associata una incertezza statistica. . più comunemente. assumeremo che la funzione densità di x sia la stessa per tutte le misure di (xi ) = d (xi ) ∀i (2. . ad esempio il suo valore atteso o la sua varianza. mettendoci dal punto di vista dello sperimentatore che dispone di un campione nito di dati da cui si vogliono ricavare informazioni sul processo stocastico che li ha generati. o. La media aritmetica dei (2. a cui Uno possiamo associare una funzione densità di probabilità nello spazio dei campioni. . 2.1) e che le osservazioni siano indipendenti. xN ) è costituito da dal vettore N x.2) i=1 Lo scopo principale dell'analisi statistica è quello di stimare suoi parametri.3) . continue e/o discrete. d (x). ovvero d (S) = N Y d (xi ) (2. che è una grandezza con un valore univoco.Capitolo 2 Campionamento e Stimatori Invertiremo ora la prospettiva del capitolo precedente. i La dimensione nita del campione limita in generale la precisione della stima. . x2 . lo stimatore è una variabile aleatoria.1 Stimatori stimatore è una funzione θ(S) del campione di dati che permette di stimare un parametro θ della legge di probabilità d (x).

4) Si dice in tal caso che lo stimatore è corretto (unbiased). Essendo la varianza il valore atteso dello scarto quadratico rispetto al valore atteso.10) .2 di indipendenza delle misure. il valore a cui siamo interessati. per stimare l'errore sulla media. Infatti E(xi ) = E(x) N i=1 (2. che è. Può dunque essere interpretata come errore della stima. per uno stimatore corretto. La deviazione standard dello stimatore indica di quanto la stima può dierire dal suo valore atteso.5) è nullo. denito in generale come b(θ) = E(θ) − θ (2.9) (N − 1) N e lo stimatore corretto della deviazione standard è dunque s σ= s N σ02 = (N − 1) 36 PN − x)2 N −1 i=1 (xi (2. Nel caso della media s σ(x) = PN 2 i=1 σ (xi ) = N2 r σ(x) N σ 2 (x) = √ 2 N N (2. poiché il suo bias (distorsione).6) dove abbiamo usato l'assunzione 2.8) Tuttavia questo stimatore non risulta essere corretto: " # X 1 E(σ02 ) = E (xi − x)2 = N " i # X 1 = E ((xi − E(x)) − (x − E(x)))2 = N i " # X 2 = σ 2 (x) + σ 2 (x) − E (x − E(x)) (xi − E(x)) = N i = σ 2 (x) − σ 2 (x) = σ 2 (x) (2. La media aritmetica è un esempio di stimatore consistente.è un esempio di stimatore del valore atteso di PN E(x) = x.7) x. che ci serve. se non altro. per cui vale limN →∞ σ(θ) = 0 Un altro parametro importante da stimare è la varianza di (2. possiamo pensare di usare la media aritmetica dello scarto quadratico rispetto al valore stimato di E(x): PN σ02 = i=1 (xi − x)2 N (2.

dall'inglese root mean square)1 può essere calcolata come 1 σ (σ 2 ) = N 2  N −3 4 µ4 − σ N −1  (2.15) nonostante non risulti essere uno stimatore corretto. si ha σ(σ 2 ) 1 σ(σ) ' ' 2σ 2σ r µ4 = 3σ 4 da cui σ 2σ 4 '√ N 2N (2. essendo ricavato dagli stessi valori xi . è σ(ρ) ' (1 − ρ2 ) √ N (2. e dunque ne restano 37 N −1 per la stima della varianza. lo stimatore corretto per la covarianza risulta essere P cov(X. 1 Possiamo spiegare intuitivamente il fattore N − 1 col fatto che lo scarto quadratico empiricamente non può essere calcolato rispetto al valore vero del valore atteso. Si dice in questo caso che per il calcolo della media abbiamo usato un grado di libertà del sistema. essendo comunque uno stimatore asintoticamente corretto (il bias tende a zero nel limite N → ∞). Ad esempio.17) La procedura per la stima dei quantili di una variabile continua x consiste nell'ordinare i valori in senso crescente ed utilizzare il valore corrispondente alla frazione di valori voluta. prenderemo il valore centrale della lista se il numero valori è dispari. sempre nel caso normale.che è comunemente chiamato La varianza di σ scarto quadratico medio (o rms. Analogamente al caso della varianza. tende a sottostimare le variazioni. ma solo rispetto al suo valore stimato. o approssimativamente tale. Nel caso in cui le variabili X e Y seguono una distribuzione normale bivariata si ha E(ρ) = ρ − ρ(1 − ρ2 ) + o(N −2 ) 2N (2. . si ottiene r 1 µ4 − σ 4 σ(σ) ' 2σ N PN (xi − x)4 µ4 = i=1 N −1 dove Se x (2. Il bias e la varianza di questa x.12) è una variabile normale. che.13) dove si è usata la formula di propagazione degli errori per passare da σ(σ 2 ) a σ(σ).11) da cui. Y ) ' i (xi − x)(yi − y) N = (xy − x · y) N −1 N −1 (2.16) Per semplicità la correzione al bias non viene normalmente applicata. L'errore associato. per stimare la mediana. Y ) σX σY (2. o la media dei due valori centrali se stima dipendono dalla distribuzione di N N di è pari.14) Per la stima del coeciente di correlazione si usa normalmente ρ= cov(X. usando la formula di propagazione degli errori e sostituendo i momenti con i loro stimatori.

mediana.0000997045 1. che contiene una riga per ciascuna osservazione e una colonna per ciascuna variabile.07697420 Time 0.2 Statistica descrittiva Viene chiamata statistica descrittiva l'insieme di tecniche che permettono di sintetizzare.2215204 > cor(Theoph[. che contiene il risultato di un test clinico su un farmaco antiasma.-1]) Wt Dose Time conc Wt 1.0769741957 -0. le caratteristiche di un campione di dati. ad esempio i comandi > mean(Theoph[Theoph$Time==0.0004157549 -0. Poiché queste funzioni sono denite solo per variabili continue. e possono essere applicate anche ad un dataframe per ottenere una stima della matrice varianza/covarianza o di correlazione. tramite semplici stimatori o tramite visualizzazione graca. Possiamo utilizzare le funzioni mean() e sd() per calcolare la media e la rms di una variabile. Digitando il nome del dataframe viene visualizzata l'intera tabella.]) ) [1] 2.58333 > sd(Theoph[Theoph$Time==0.0004958651 47.9896217523 0. Nel software R.0291823 conc -1.02629898 -0.0000000000 -0.0000000000 -0.2. Consideriamo ad esempio uno dei dataframes presenti di default nel software.4902379135 0.0004958651 0. Esempio 2.3036007533 1.-1]) Wt Dose Time conc Wt 83. summary(Teoph) riassume i valori del dataframe.00000000 38 .0000997045 0. cov() e cor() forniscono le stime di varianza. Il comando Per variabili reali.5156305980 -0.87970992 0.1584859 Time 0.49023791 0.1 Esplorazione di un campione di dati I risultati di misure sperimentali vengono solitamente registrati sotto forma di tabelle. nel nostro esempio possiamo usarle escludendo la prima colonna del dataframe che è una variabile discreta: > cov(Theoph[.0717782261 0.9688158860 -6. mentre i singoli valori possono essere richiamati con la notazione Teoph[riga.6).743307 permettono di calcolare la media del peso dei soggetti all'inizio della somministrazione ed il suo errore (cfr eq.2. 2.30360075 conc -0. la quale può essere rappresentata da un qualunque tipo di classe (tipicamente numeric per variabili continue e integer o factor per variabili discrete).9896217523 1. colonna]. Gli stimatori visti nel paragrafo precedente forniscono una prima indicazione riassuntiva della distribuzione dei valori e delle dipendenze fra variabili reali.'Wt']) / sqrt( nrow(Theoph[Theoph$Time==0. sono mostrati i valori degli stimatori di media. covarianza e coeciente di corre- lazione.0000000000 -0.0262989822 -1.07177823 Dose -0. la classe più idonea a rappresentare un generico campione è il dataframe.0004157549 -0. quartili.41498728 -6. Le funzioni var().0291822693 8. chiamato Teoph.8797099 Dose -6.'Wt']) [1] 69. Tutti i software di analisi dati forniscono strumenti di statistica descrittiva più o meno evoluti.1584858779 -6.

xyplot()2 possono essere usate per mettere in evidenza mutue dipendenze fra le variabili. data=Theoph[Theoph$Subject==1. data=Theoph. per avere dettagli su ciascuna funzione.L'istogramma è il modo più comune di rappresentare gracamente la distribuzione dei valori di una variabile: hist(Theoph[Theoph$Time==0.'Wt']) mentre funzioni quali plot(). boxplot().]) boxplot(conc ~ Dose. data=Theoph) library(lattice) xyplot( conc ~ Time. ad esempio: plot( conc ~ Time. groups=Subject) 2 si usi il comando richiede il pacchetto help(nome_f unzione) lattice. 39 La funzione xyplot() .

1 > mean(Theoph[Theoph$Time==0. peso nell'esempio 2. nel calcolo della media del .Il comando pairs() permette di visualizzare le mutue dipendenze fra ogni coppia di variabili. che sono dello stesso ordine o maggiori dell'errore σ(θ).8.1 Cifre signicative Ê importante sottolineare come qualunque stima sia soggetta ad un errore statistico dovuto alla dimensione nita del campione. Nel riportare il valore di uno stimatore presente che l'informazione sul parametro θ θ bisogna dunque tenere è contenuta solo nelle cifre. una sorta di versione graca della matrice di correlazione: pairs(Theoph) 2.'Wt']) [1] 69.2.58333 40 Ad esempio. dette signicative.

Il usso nella direzione verticale viene misurato osservando le particelle che attraversano due rivelatori di supercie S posti uno sopra l'altro a una distanza I dati reali sono pubblicati in rete all'indirizzo http://www2.it/service/Rdsets/decaytimes Il tempo fra due eventi.edu/vvc/cosmicrays/crdatacenter. assumendo che questi siano indipendenti. Conteggi di raggi cosmici Un esperimento situato presso l'università di Stanford misura continuamente il usso di particelle cosmiche (che a livello del mare sono costituiti essenzialmente da particelle chiamate muoni).'Wt']) / sqrt ( nrow(Theoph[Theoph$Time==0. seguirà la distribuzione esponenziale d(t) = re−rt il cui valore atteso è τ = 1/r.html Dai conteggi ottenuti in intervalli di 2 minuti tabulati nel le /afs/math. cosa evidentemente falsa.3 giorni −1 .it/service/Rdsets/decaytimes") tau = mean(dati) sigma.r. e il risultato della stima deve essere riportato come o al massimo come 69. daremmo al lettore l'impressione di aver eettuato una misura accurata no alla quinta cifra decimale. Esempio 2.01) Esempio 2. se riportassimo la nostra stima come 69. se si vogliono considerare due cifre signicative per l'errore (cosa che può essere opportuna in misure di precisione se la prima cifra signicativa dell'errore è 1 o 2).7 70 ± 3.743307 vi sono solo 2 cifre signicative. Ad esempio. Riportare le sole cifre signicative è ancora più importante nel caso (frequente al di fuori delle pubblicazioni scientiche) in cui il risultato di una misura sia dato senza citare esplicitamente l'errore. Disponiamo di una serie di misure del tempo trascorso fra due eventi consecutivi (in giorni).tau = sd(dati)/sqrt( length(dati) ) r = 1/tau sigma.> sd(Theoph[Theoph$Time==0. Le cifre che seguono non portano evidentemente alcuna informazione.2 Stima del rate di un evento Vogliamo stimare la probabilità per unità di tempo (rate) che una meteorite con massa maggiore di 1 Kg colpisca la supercie terrestre.]) ) [1] 2.uni.slac."\n") Il risultato è r = (0. Stimiamo dunque τ tramite la media aritmetica e calcoliamo r ed il suo errore tramite la formula di propagazione degli errori: dati = scan("/afs/math. elencati nel le /afs/math.58333 (copiando banalmente il numero stampato da R)." +/.6 ± 2.stanford.unifi.it/service/Rdsets/CosmoData.txt 41 d.2.uni. .r = sigma.r.sigma.".31 ± 0.tau / tau^2 cat("r=".2.

che può essere stimato dalla media aritmetica C= X Ci /N i la cui deviazione standard è stimata da s σC = 1 N P − C)2 (N − 1) i (Ci Il seguente codice esegue il calcolo: # creiamo un dataframe dal file # l'opzione skip permette di saltare le prime righe # di spiegazione nel file df =read.cm*k.dcm*k.si vuole stimare il usso di raggi cosmici nella direzione verticale. e che la particelle che attraversano i rivelatori possono essere considerate eventi indipendenti. skip=7) # i valori dei conteggi sono la terza colonna del dataframe c = df[. Data l'indipendenza degli eventi.7 # cm^2 deltaT=2 # minuti cm=mean(c) dcm=sqrt(var(c)/n) cat("average counting is "." +/.it/service/Rdsets/CosmoData. θ approssimando l'angolo azimutale a π/2 per tutti gli eventi e l'angolo solido accettato per ciascun 2 punto del rivelatore a ω = S/d ) Fµ è dunque semplicemente proporzionale al valore atteso della distribuzione.dcm." muons/cm^2/sterad/min\n") 42 . supercie e angolo solido Fµ (θ = π/2) = sapendo che d3 Nµ dtdωdS d = 47 cm e S = 251."\n") k=(d/S)^2/deltaT cat("il flusso è ".cm.".unifi.table(file="/afs/math. denito come numero di particelle per unità di tempo.ω S S d2 (abbiamo trascurato le dimensioni lineari dei rivelatori rispetto a d." +/.3] n=length(c) d=47 # cm S=251. il numero di conteggi C misurato in ogni intervallo seguirà una distribuzione di Poisson con valore atteso pari a dC E(C) = ∆T · = ∆T dt Z Fµ dωdS ' ∆T Fµ (θ = π/2) S.txt".7 cm2.".

breaks=x) points(x. In tal caso la media coincide con P 0 l'unico valore misurato C = i Ci e il risultato per il usso resta invariato. dall'inglese maximum likelihood) fornisce un criterio generale per determinare uno stimatore di un parametro nel caso in cui vogliamo stimare un singolo parametro 0 L(S. θ. L'errore standard su C è dunque semplicemente C. è denita come f (xi |θ = θ0 ) (2. Il principio di ML consiste nel prendere come stimatore di θ il valore θM L che massimizza la funzione L(S. La funzione di likelihood.18) i=1 e dunque non è altro che la densità di probabilità del campione. e dunque più verosimili. θM L ) ≥ L(S. il valore C è anche uno √ 0 0 stimatore della varianza. pensata come funzione di θ.19) .566 ± 0.col="red") 2.3 Il principio di massima verosimiglianza Il principio di massima verosimiglianza (ML.lambda=cm)*n. La funzione risponde quindi alla domanda: quanto sarebbe probabile osservare il nostro campione se il parametro θ θ avesse il valore θ0 ? Chiaramente. L'aver suddiviso i conteggi in N intervalli ci permette comunque di valutare visivamente la correttezza dell'ipotesi poissoniana: x=10:60 hist(c. type="s". θ ) = N Y θ.007) muoni/(cm 2 sterad min) Naturalmente avremmo potuto considerare la somma di tutti i conteggi come un unico 0 conteggio corrispondente ad un intervallo ∆T = N ∆T . θ0 ) ∀θ0 43 L: (2.otteniamo Fµ = (0. Sapendo che 0 la varianza della distribuzione di Poisson è uguale al valore atteso. dpois(x. valori di L più alti corrispondono a valori di più compatibili col campione osservato.

Possiamo vericare facilmente che la media è uno stimatore di ML del valore atteso anche per le altre distribuzioni introdotte nel primo capitolo (uniforme. Un'altra importante applicazione del principio riguarda il problema di combinare diverse misure sperimentali della stessa quantità: supponiamo di disporre di 44 n misure della variabile . esponenziale. il principio non garantisce che gli stimatori trovati non siano distorti. di Poisson). Infatti. σ M L ) =0 ∂σ X (xi − µ )2 1 ML =⇒ − + =0 3 σM L σ M L i rP 2 i (xi − µM L ) =⇒ σ M L = N (2. σ) = N Y √ i=1 Per ricavare lo stimatore ML di µ. ssando µ σ. binomiale. θ) m parametri rappresentati dal vettore va massimizzata nello spazio mdimensionale θ. Notiamo che lo stimatore è indipendente dall'altro parametro stimatore per σ. Ricaviamo dunque lo al suo stimatore ML: ∂ log L(S.8. consideriamo il caso di un campione gaussiano: L(S.22) che coincide con lo stimatore 2. in modo da poter trasformare la produttoria in una sommatoria di logaritmi (approtando anche del fatto che molte distribuzioni di probabilità di interesse pratico contengono termini esponenziali): ∂ log L(S. In pratica è consigliabile cercare il massimo della funzione log L.Il principio può essere esteso al caso di caso la funzione L(S. che sappiamo essere corretto solo asintoticamente.21) Il principio giustica dunque l'utilizzo della media aritmetica come stimatore del valore atteso µ. µM L ) =0 ∂µ X 2(xi − µ ) ML =⇒ =0 2 2σ i P xi =⇒ µM L = i N (2. nel qual dei parametri.20) L in funzione di µ tramite gli zeri della derivata parziale. −(xi −µ)2 1 e 2σ2 2πσ cerchiamo il massimo di (2. Come esempio. µ.

24) Altre proprietà degli stimatori In generale si possono avere più stimatori per un dato parametro.5. Esempio 2.sd(medie). Poiché la distribuzione è simmetrica. come possiamo vericare analiticamente o numericamente.breaks=seq(-.5.".1)) hist(medie. possiamo confrontare la media aritmetica e lo stimatore della mediana (introdotto nel paragrafo 2.4 (2.".length=50)) cat("media di medie =". scegliere il più Fra due stimatori corretti. entrambi corretti.. 45 .23) =0 P wi xi = Pi i wi Il principio di ML giustica dunque la nota formula della media pesata. La scelta sul più opportuno da usare dipende dalle proprietà desiderate. La stima ML del valore atteso µ = E(x) sarà ! 2 ∂ log Qn √ 1 i=1 2πσ1 e −(xi −µ) 2 2σ1 =0 ∂µ =⇒ X 2(xi − µ i =⇒ µM L dove wi = 1/σi2 . tramite una semplice simulazione di di simN dati distribuiti secondo la distribuzione gaussiana standard.." +/.length=50)) cat("media di mediane=". Abbiamo già introdotto la consistenza e la correttezza come proprietà ottimali di uno stimatore.". e dunque si tratta di due stimatori.5.sd(medie)/sqrt(simN).mean(medie).mean(mediane).5. M L) 2σi2 (2. del valore atteso. simN=10000) { medie=c() mediane=c() for (i in 1:simN) { sample=rnorm(N) medie[i]=mean(sample) mediane[i]=median(sample) } xpar=par(mfrow=c(2. La varianza di questo stimatore è X 1 1 σ 2 (µM L ) = P wi2 σ 2 (xi ) = P 2 wi ( i wi ) i 2.1 Stime di media e mediana nel caso gaussiano Come esempio.breaks=seq(-.x." +/.4.sd(medie)/sqrt(2*simN). ciascuna con un diverso errore normale σi ."\n") cat("sigma di medie =". ovvero quello che ha varianza minima. La media aritmetica risulta tuttavia uno stimatore più eciente. N campioni Per ciascun campione calcoliamo la media e la mediana e stimiamo la loro media e la loro deviazione standard: mediamediana = function(N=100." +/."\n") hist(mediane. la mediana coincide col valore atteso.1) per un campione gaussiano. conviene solitamente eciente.

sd(mediane).0. implica massimizare la funzione e il risultato non potrà che essere lo stimatore suciente θ o una sua funzione.sd(mediane)/sqrt(simN)."\n") par(xpar) } > mediamediana() media di medie = 0. θ).26) La forma della funzione di likelihood ci permette quindi di riconoscere a vista se uno stimatore è suciente. θ)h(θ. . ovvero meno sensibile agli mediana è infatti più ad esempio.001. Infatti. cosa evidentemente non vera per la media.0010 media di mediane= -0.". ovvero dei dati anomali che non seguono la distribuzione attesa. L'utilizzo della mediana può essere comunque preferibile nel caso in cui il nostro campione contenga degli outlier. L'ecienza di uno stimatore è strettamente legata alla P (S|θ) sucienza.27) − e 2 i xi 2σ 2 P · e N µµM L −N µ2 + 2σ 2 σ2 sono sucienti. h(θ." +/. se esiste uno stimatore suciente.124 ± 0.0017 sigma di mediane= 0. il metodo di ML lo trova.25) Uno stimatore suciente contiene dunque tutta l'informazione su θ contenuta nel campione S. Ad esempio nel caso della gaussiana visto in precedenza L= N Y i=1 −(xi −µ)2 1 √ e 2σ2 = 2πσ   = entrambi gli stimatori σM L e µM L 1 √ 2πσ N 1 √ 2πσ N e −N σ 2 ML 2σ 2 (2.0. denita da indipendente da θ (2. θ) (2. teorema di fattorizzazione di Fisher[5] Vale in questo caso il θ suciente ⇐⇒ L(S.0012 Come previsto. il valore minimo del campione dista 5 o 50 σ outlier: La il suo valore non cambia se. robusta.0.0. Una conseguenza del teorema è che. sd(mediane)/sqrt(2*simN).0014 sigma di medie = 0. i valori sono compatibili con bias nulli nei due casi. che sarà comunque suciente.0002 +/. θ) = g(S.0997 +/.1237 +/. mentre per la deviazione standard della mediana troviamo 0. contro il valore 0. dal valore atteso. Il metodo ML ci permette dunque di estrarre dal campione tutta l'informazione disponibile su 46 θ."\n") cat("sigma di mediane =".0002 +/.1 per la media. massimizzare L in funzione di θ.

xè derivabile in θ e . Notiamo che nell'assunzione di misure indipendenti log L = N X log d (xi ) Iθ ∝ N =⇒ i=1 e dunque l'errore di uno stimatore eciente è sempre proporzionale a Il teorema può essere esteso al caso di n parametri θ.28) Iθ 2 #  = −ES ∂ 2 log L(S.30) che è proprio l'inverso della varianza della media aritmetica. Il teorema vale se la funzione densità delle variabili denita in un intervallo di valori i cui estremi non dipendono da 47 Vθ : θ. a meno che non vogliamo che sia anche robusto.5 Il Stimatori corretti di varianza minima teorema di CramèrRao3 stabilisce che. dato un campione. come  2  ∂ log L(S. con likelihood data dalla 2. è l'inverso della varianza minima. consideriamo ancora il caso della stima del valore atteso µ da un campione normale. θ) ∂θ θ: 2 ∂E(θ) ∂θ (2.2. Si dimostra che gli stimatori ecienti sono anche sucienti. In tal caso si denisce una matrice simmetrica. θ) Fij = ES − ∂θi ∂θj (2. Uno stimatore di varianza minima è detto eciente (o il più eciente). Uno stimatore corretto ed eciente è normalmente il migliore possibile. esiste un valore minimo per la varianza di qualunque stimatore di una variabile  2 σ (θ) ≥ dove " Iθ = ES è chiamata ∂ log L(S.32) 3 si veda [1] per la dimostrazione. Nel caso gaussiano la media.20.29) informazione di Fisher (ES rappresenta il valore atteso nello spazio dei campioni). è dunque eciente. detta matrice di informazione di Fisher. Come esempio. θ) ∂θ2  (2. e quindi quantica l'informazione contenuta in S per poter stimare θ. L'informazione di Fisher sarà  Iµ = −ES ∂ 2 log L(S. Questo importante teorema ci permette quindi di stabilire se la stima di un parametro possa essere migliorata o se abbiamo usato in modo ottimale tutta l'informazione disponibile nei nostri dati. Per uno stimatore corretto. che è lo stimatore ML del valore atteso. √ 1/ N . µ) ∂µ2  = N σ2 (2.31) e il limite di CramèrRao si applica alla matrice varianzacovarianza degli stimatori (Vθ )ij ≥ (F −1 )ij (2.

6. Limite degli stimatori ML Sviluppiamo la funzione di likelihood nell'intorno del massimo: log L(θ) = log L(θM L ) + ∂ 2 log L (θ − θM L )2 ) · + . ovvero all'inverso dell'informazione di Fisher.33) intorno al massimo è parabolico.. il prolo del logaritmo di aspettiamo dunque che L L (2. e ci sia approssimativamente una gaussiana  L(θ) ' L(θM L ) exp dove −(θ − θM L )2 2s2  (2. o più comunemente il minimo di − log L. come conseguenza del teorema del limite centrale.35) Si dimostra (vedi [1]). Il prolo ci permette anche σ(θM L ): θM L ± σ(θM L ).6 per cui gli stimatori ecienti di µ σ e sono indipendenti. 2.33 tendono a zero. il massimo della funzione L. ma ci fornisce solo valori maggiori di 0. Si ha dunque  limN →∞ L(θ) = L(θM L ) exp θM L In questo limite la PDF di −(θ − θM L )2 Iθ 2  (2. che nel limite di innite misure i termini di ordine superiore nell'eq.uni. e s2 tende. alla media nello spazio dei campioni dell'espressione 2.Si ha dunque un limite anche per le covarianze. Gli Se questo è rigorosamente vero nel limite asintotico. 1/Iθ . Il prolo della funzione ci può dire se siamo ragionevolmente vicini al limite: se è descritto da una parabola in un intorno di alcune σ − log L intorno al minimo.. con buona approssimazione.34) 1 s2 = − ∂ 2 log L (θM L ) ∂θ2 (2. abbiamo visto che ∂ 2 log L/∂µ∂σ = 0. di stimare l'errore sulla stima corrispondono a Esempio 2. nel limite di innite misure.36) diventa pure una gaussiana con media θ e varianza stimatori ML sono dunque. Nel caso frequente in cui l'espressione della likelihood non sia calcolabile analiticamente. possiamo assumere che lo stimatore sia. corretti ed ecienti.it/service/Rdsets/polonium 48 . i valori di θ per cui log L = log L(θM L ) − 1/2 Vita media del Polonio Supponiamo di voler misurare la vita media dell'isotopo P o214 osservando la catena di decadi- menti nucleari Bi214 → P o214 → P b210 Il nostro apparato misura la dierenza di tempo σt = 0. per la legge dei grandi numeri. I dati ottenuti si trovano nel le /afs/math.35. può essere vero con buona approssimazione anche con un numero nito di misure. corretto ed eciente. viene calcolato numerica- mente. (θ M L ∂θ2 2 All'ordine più basso. Nel caso della gaussiana.07 texp fra i due decadimenti con risoluzione ms.1 nel limite. 2.

sigma.0.5.142.07 sexpconv = function(t.n=30.5).162. a dierenza di expconv() . che abbiamo già imple- mentato nell'esempio 1.sigma=sigmaT.min+0. E' dunque necessario rinormalizzare la funzione in modo cha l'integrale sia 1: sample = scan("/afs/math.9.tau=tau[i])) ) } out } curve(expconvlik(x.162).lty=2.0.sample=sample).1516.2 e chiamato expconv() .c(min+0.sigma=sigma.lower=0.La distribuzione della variabile texp = t +  è la convoluzione della distribuzione esponenziale del decadimento e della distribuzione gaussiana che descrive l'errore . minimizzando numericamente la funzione expconvlik = function(tau.152 ± 0.tau=1) { (t>0) * expconv(t. pari alla vita media τ .col="red") Possiamo stimare dal graco τ = 0. In questo caso bisogna tener conto che la distribuzione è denita solo per texp > 0.tau) / integrate(expconv. xlab=expression(tau).upper=20*tau.sample=sample) lines(c(0.unifi. ylab="-log(Lik)") min=expconvlik(0.142. Ricaviamo −log(L): allora τ tramite il principio di ML.sample) { out=c() for (i in 1:length(tau) ) { out[i] = -sum( log(sexpconv(sample.sigma=sigmaT.0.tau=tau)$value } Il valore atteso di questa distribuzione non è.it/service/Rdsets/polonium") sigmaT=0.006 49 .

(2.uni. Estrazione di un segnale con fondo uniforme I dati nel le /afs/math.31.1 Caso multivariato Nel caso si un'analisi in cui si vogliano stimare più parametri. La PDF di θM L diventa in tal caso una gaussiana multivariata la cui matrice varianzacovarianza è data dall'inverso di Esempio 2.3 MeV (l'errore della misura segue una distribuzione gaussiana con valore 50 .rdata rappresentano misure di energia di radiazioni γ provenienti da un decadimento nucleare carat- terizzato da un'energia di circa 5 MeV e compresi nell'intervallo di energia fra 0 e 10 MeV.it/service/Rdsets/gaussconfondo. .38) F. l'eq. θ.6.2 (2.33 diventa dove H è la 1 log L(θ) = log L(θM L ) + (θ − θM L )T H(θ − θM L ) + .2.6. Ci si aspetta che tutti i fotoni osservati abbiano la stessa energia µ.37) Nel limite di innite misure limN →∞   1 T L(θ) = L(θM L ) exp − (θ − θM L ) F (θ − θM L ) 2 dove F è la matrice di informazione di Fisher 2. 2 matrice hessiana di log L calcolata nel massimo. rappresentati dal vettore 2. . ma il nostro rivelatore ha una risoluzione di 0.

l'energia x: f (x. σG ) + αdunif (x. Sono inoltre presenti eventi di fondo (ovvero. e si è ottenuta l'ultima relazione assumendo |µ − Eu | << σu . Parametrizziamo la distribuzione di probabilità della variabile misurata. µ e α può Una prima stima dei parametri essere ottenuta stimando il valore atteso e la varianza della distribuzione: Z E(x) = Z xf (x)dx = (1 − α) Z xφGauss (x)dx + α xdunif (x)dx = = (1 − α)µ + αEu 2 2 Z 2 Z 2 σ (x) = E(x ) − E(x) = (1 − α) x φGauss (x)dx + α x2 dunif (x)dx − E(x)2 = 2 = (1 − α)(σG + µ2 ) + α(σu2 + Eu2 ) − ((1 − α)µ + αEu )2 = 2 2 = (1 − α)σG + ασu2 + α(1 − α)(µ − Eu )2 ' (1 − α)σG + ασu2 2 MeV sono il valore atteso e la varianza della distribuzione 2 2 uniforme. xmin = 10 MeV. α) = (1 − α)φGauss (x.3 MeV). µ. xmin . dove Eu = 5M eV e σu2 = 100/12 Ricaviamo dunque gli stimatori α ¯= µ ¯= usando i noti stimatori corretti di E(x) e 2 σ 2 (x) − σG 2 σu2 − σG E(x) − Eu · α ¯ 1−α ¯ σ 2 (x) x¯ = E(x) = X xi /N i σ 2 (x) = X (xi − x¯)2 /(N − 1) i Gli errori standard su queste stime saranno: σ(¯ α) = σG (σ 2 (x)) 2 σu2 − σG s σ(¯ µ) ' σG (E(x)) 1 = 1−α ¯ 1−α ¯ 51 σ 2 (x) N .3 MeV. xmax ) dove σG = 0.atteso nullo e deviazione standard σ = 0. µ. segnali non dovuti alla sorgente osservata) che supponiamo avere una distribuzione di probabilità uniforme. xmin = 0. Vogliamo ricavare la miglior stima dell'energia µ e della frazione di eventi di fondo α nel campione.

dove abbiamo trascurato l'incertezza su s σG (σ 2 (x)) = α ¯ nell'espressione di σ(¯ µ) e s   1 N −3 2 µ4 (x) − µ (x) ' N N −1 2 P µ4 (x) = 2 µ4 (x) − σ 2 (x) N − x¯)4 N −1 i (xi Stimiamo i valori numerici e verichiamo gracamente il risultato: gaussconfondo= function(x.mu.mean=mu.2.s1=0.min=0.3 myalpha=(var(sam)-s1^2)/(25/3-s1^2) mu4=mean((sam-mean(sam))^4) dvar=sqrt((mu4-var(sam)^2)/n) mydalpha=dvar/(25/3-s1^2) > mymu=(mean(sam)-5*myalpha)/(1-myalpha) > mydmu = sqrt(var(sam)/(n*(1-myalpha)^2)) > cat stima > cat stima ("stima di alpha: "."\n") di mu: 5.".mu=mymu)*n*0.alpha=myalpha.mydalpha.myalpha.3) { (1-alpha)*dnorm(x.02 ("stima di mu: "."...breaks=seq(0.alpha.0.0.10.2)) curve(gaussconfondo(x.sd=s1)+alpha*dunif(x.mydmu.rdata") n=length(sam) s1=0." +/." +/.59 +/."\n") di alpha: 0.0.14 hist(sam.mymu.add=T.col="red") 52 .43 +/.max=10) } > > > > > > > sam=scan("gaussconfondo.

alpha=a[i]. abbiamo utilizzato con lo stesso peso tutti gli eventi.sample. dovremmo µ e α. lo stimatore abbia alta ecienza e bias trascurabile. può essere migliorata.mu=m))) } 53 .E' evidente che la stima di µ. seppur sensata entro l'errore stimato.m) { out=c() for (i in 1:length(a)) { out[i] = -sum(log(gaussconfondo(sample. vista la statistica relativamente elevata del campione. Questo non è sorprendente dal momento che. Ci aspettiamo inoltre che. Calcoliamo il massimo della funzione di likelihood numericamente minimizzando la quantità − log L. poichè i parametri descrivono caratteristiche diverse del campione. usando la media aritmetica. Tuttavia ci aspettiamo trovare il minimo variando simultaneamente i due parametri che la correlazione fra i due parametri sia piccola. E' dunque ragionevole stimare un parametro alla volta. anche quelli del fondo che non portano alcuna informazione su µ ma aggiungono solo rumore alla nostra stima. ed eventualmente ranare la stima procedendo in modo iterativo: loglikgfa = function(a. In generale. Il metodo di ML ci fornisce invece uno stimatore che estrae dai dati il massimo dell'informazione.

0.614 ± 0.17.sam.25) # possiamo stimare visivamente dal grafico # mu_ML = 5.5. Come ci si poteva aspettare. Notiamo anche come il sia parabolico.15.5.a) { out=c() for (i in 1:length(m)) { out[i] = -sum(log(gaussconfondo(sample.xlab=expression(mu)) curve(loglikgfa(x. confermandoci che siamo prossimi al limite asintotico in cui gli stimatori di ML sono corretti ed ecienti.0.myalpha).sam.alpha=a.0.192).5.out } loglikgfmu = function(m.650 +/.55.0.0.192 ± 0.21.650).65.192 +/. Verichiamo inne gracamente l'accordo fra i dati e la miglior stima ottenuta: 54 .5. la precisione della nostra stima è decisamente migliorata.mu=m[i]))) } out } # prima stima di mu e alpha curve(loglikgfmu(x.016 curve(loglikgfa(x.0.016 α ¯ M L = 0.mymu).sam. in particolare per prolo di log L µ. valutando i valori per cui − log L dierisce di 1/2 dal minimo: µ ¯M L = 5.015 # seconda iterazione curve(loglikgfmu(x.xlab=expression(alpha)) Dai graci possiamo stimare.5.015 Una ulteriore iterazione non produce variazioni rilevanti.0.5.7) # possiamo stimare visivamente dal grafico # alpha_ML = 0.sam.sample.

accenneremo soltanto in questo paragrafo ad alcune tecniche di simulazione elementari..7 Simulazione di campioni: tecniche Montecarlo Come già visto in numerosi esempi.2. e si parla in tal caso di numeri pseudo random. lungi dal voler dare qui un quadro esaustivo della materia. Il primo passo consiste nell'avere un algoritmo che generi una sequenza di valori casuali. le distribuzioni di probabilità di quantità di interesse. Uno dei più semplici esempi di algoritmi di generazione pseudorandom è il seguente: 55 .add=T.col="red") 2. Qualunque algoritmo matematico darà.hist(sam. anche se i valori seguono apparentemente la distribuzione voluta. una sequenza predicibile. possono essere stimate numericamente tramite la simulazione al computer di un campione di valori estratto a caso secondo il modello probabilistico ipotizzato. a partire da un valore di partenza (detto seme). tipicamente distribuiti uniformemente in un intervallo dato.192)*n*0. in problemi complessi non risolvibili analiticamente.2)) curve(gaussconfondo(x.alpha=0. La generazione di numeri casuali al computer è una applicazione di primaria importanza in matematica (si pensi ad esempio alla crittograa) e..0.mu=5.614.10. una procedura chiamata in gergo simulazione MonteCarlo.breaks=seq(0.

m=500000. breaks=50) Il limite di un algoritmo pseudorandom è la lunghezza necessariamente nita della sequenza di numeri che può essere prodotta senza ripetersi . E' possibile denire il seme tramite il comando set.seed) per maggiori dettagli. Esistono anche generatori truerandom (o misti).39) m Si ottiene così una sequenza di numeri con Con m sucientemente grande. che sfrutta le uttuazioni sui tempi di arrivo dei segnali da periferiche quali il mouse e la tastiera. Ne è un esempio il generatore implementato nello pseudole /dev/random del sistema operativo Linux. i valori (ni − 1)/(m − 2) seguono approssimativamente la distribuzione uniforme fra 0 e 1. . e che sono ovviamente in contrasto fra loro. Una sequenza di numeri random da questo generatore può essere ottenuta tramite il comando od /dev/random Si noterà che la sequenza si interrompe in assenza di un input sucientemente casuale.Random. ma è suciente muovere un pò il mouse per vederla ripartire. cosa che può risultare utile nel confrontare due analisi sullo stesso campione MonteCarlo. 56 . si costruiscono i valori successivi come ni+1 = mod dove a e m sono numeri interi maggiori di 1.  an  i (2.seed(x) in modo da poter riprodurre più volte la stessa sequenza di numeri pseudorandom.dato il seme n0 . seed=2501. valore discreto fra 1 e m-1. . come il rumore termico o un fenomeno quantistico come l'eetto fotoelettrico. a=3456 ) { out=c(seed) i=1 while (i < N) { out[i+1]= (a*out[i]) %% m i=i+1 } (out-1)/(m-2) } hist( myrandom(10000). si veda help(. La scelta dell' algoritmo più opportuno dipende dunque dall'applicazione ed è un compromesso fra le due richieste. Questa lunghezza e l'ecienza del calcolo (rapidità dell'algoritmo) sono i due parametri che caratterizzano le performances di un algoritmo di generazione. L'algoritmo può essere implementato in R dal seguente codice: myrandom= function(N. in cui i valori sono ottenuti da un processo sico intrinsecamente casuale. Nel software R. sono implementati diversi algoritmi di generazione.

Più semplicemente.02 spread=0. dovremo applicare il cambio di f (x)dx = du (r)dr ovvero Z x p(x) = 0 0 r Z du (r)dr = r f (x )dx = −∞ (2.sd=spread) prezzo.42) si può ottenere un campione distribuito secondo la distribu- τ come xi = −τ log(1 − ri ) Nel software R.3.3 anno.corrente=1 rinfl= 1. da un sequenza ri zione esponenziale con parametro (2. ogni funzione di probabilità implementata ha il suo generatore.corrente=2007 prezzofuturo = function(anno) { n=anno-anno. prezzo superi 3e Sapendo che il prezzo corrente è pari a 1e. r = 1. . rexp(). proble- ma risolvibile tramite le funzioni di Bessel.41) 0 La soluzione è dunque semplicemente la funzione quantile x(r) = q(r) Ad esempio. ci interessa la probabilità che il fra 5 anni.1 Evoluzione di un prezzo Si vuole simulare l'evoluzione futura del prezzo di un prodotto. possiamo risolvere il problema con una simulazione MonteCarlo: prezzo.corrente * rinfl^n * prod(1+s) 57 . La variabile prezzo fra n anni è data da n Y P (y + n) = P (y) · r · (1 + si ) n i=1 La sua funzione densità è dunque ottenibile dalla convoluzione di Mellin di n gaussiane.Il passo successivo consiste nell'utilizzare la sequenza di valori (pseudo)random per simulare una generica distribuzione densità f (x). ) ad una sequenza ottenuta con runif(). Questi sono equivalenti ad applicare la corrispondente funzione quantile (qnorm().02 è il rate di inazione medio e lo spread s è una variabile aleatoria che segue una distribuzione gaussiana con valore atteso nullo e deviazione standard σ = 0. Esempio 2. rpois(). etc.40) (2. .corrente s = rnorm(n. r è una variabile aleatoria distribuita uniformemente variabile x(r) tale che Se fra 0 e 1. . ad esempio rnorm().7. assumendo che l'aumento annuale segua il semplice modello P (y + 1) = P (y) · r · (1 + s) dove P (y) indica il prezzo per l'anno y . qexp().

0.114 +/.breaks=50) cat("stima del valore atteso : ". # calcoliamo la frazione oltre 3 e il suo errore piuditre = length(prezzi[prezzi > 3])/N dpiuditre = sqrt(piuditre*(1-piuditre)/N) cat("frazione oltre 3 euro: "." +/.sd(prezzi).dpiuditre.0335 +/.piuditre.0018 Si noti che il valore atteso e la deviazione standard avrebbero potuto essere stimati usando la formula di propagazione degli errori: E(P (y + n)) = P (y) · rn E( n n Y Y (1 + si )) = P (y) · rn E(1 + si ) = P (y) · rn i=1 i=1 58 . } > simprezzo(2012) stima del valore atteso : 1." \n")."." +/.017 frazione oltre 3 euro: 0.sqrt(var(prezzi)/N). cat("stima della deviazione standard : ".0.0." +/.mean(prezzi).".N=10000) { prezzi = c() for (i in 1:N) { prezzi[i] = prezzofuturo(anno) } hist(prezzi.".818 +/.008 stima della deviazione standard : 0.} simprezzo= function(anno." \n"). sqrt((sum((prezzi-mean(prezzi))^4)/(N-1)-var(prezzi)^2)/N)." \n").

nell'estrarre coppie di punti Esempio 2. 0 < y < max[a.max=1. y). avremmo assunto la distribuzione di P (Y + n) gaussiana e calcolato la probabilità di superare 3 euro come > atteso = prezzo.005236028 ottenendo 0. il problema può essere risolto tramite un algoritmo numerico. consiste (x. distribuite uniformemente negli intervalli a < x < b. L'algoritmo più semplice.b] (f (x)).7. I valori di x che soddisfano la relazione y ≤ f (x) saranno distribuiti secondo la PDF f (x) nell'intervallo [a. (X.7. Y ) distribuite uniformemente negli intervalli e accettiamo solo i punti tali che dpol = function(x) { ifelse(x<0 | x>1 .v u n uX √ σ((P (y + n)))/E(P (y + n)) ' t (σ(1 + si )/E(1 + si ))2 = n σ i=1 Per n=5 otteniamo dunque E(P (y + n)) = 1. 2.corrente * rinfl^5 > gsigma = atteso * spread * sqrt(5) > 1 .pnorm((3-atteso)/gsigma) [1] 0. L'approssimazione lineare usata nella propagazione degli errori ci avrebbe portato ad una sottostima della deviazione standard.3 ± 0. 0. 0 < Y < max(f ) = 1. b]. σ((P (y + n))) = 0.104.2 Un campione ottenuto col metodo di Von Neumann Si vuole simulare un campione di valori secondo la distribuzione f (x) = 6x(1 − x) denita fra 0 e 1.5) r = runif(1) } 59 Y ≤ f (X) 0 < .5) r = runif(1) while ( y > dpol(r) ) { y = runif(1. In questa approssimazione.5.2)% ottenuto dalla simulazione.max=1.74.5% anzichè il valore corretto (3.1 Metodo di von Neumann Se la funzione quantile non è ricavabile analiticamente. dovuto a von Neumann.6*x*(1-x) ) } rpol = function(N) { out =c() for (i in 1:N) { y = runif(1. Scriviamo la funzione densità e il generatore random usando il metodo accept/reject di Von Neumann: generiamo coppie di punti X < 1.

out[i]=r
}
out
}
# metodo alternativo (non garantisce la lunghezza del vettore prodotto):
rpol2 = function(N) {
x=runif(N)
y=runif(N,max=1.5)
x[y <= dpol(x)]
}
mysam=rpol(10000)
hist(mysam,breaks=seq(0,1,0.05))
curve(dpol(x)*0.05*10000,add=T,col="red")

2.8

Intervalli di condenza

Per quanticare l'incertezza sulle nostre stime, abbiamo nora utilizzato la stima della deviazione standard dello stimatore, spesso chiamato
è intuitiva: se, dato

θ, θ

tarci che la dierenza fra

ha valore atteso

θ

θ 

errore standard della stima. La giusticazione

σ(θ), allora dobbiamo aspetdell'ordine di σ(θ). Vogliamo ora dare

e deviazione standard

e il valore osservato

θobs

60

sia

un signicato più preciso, in termini di probabilità, a questo errore.
Cominciamo col notare che vi sono casi in cui la stima di

σ(θ)

può essere grossolanamente

sbagliata. Consideriamo ad esempio il caso di un sondaggio elettorale in cui stimiamo la percentuale attesa per un dato partito

p

dalla frequenza

p = Ng /N

di persone intervistate che

dichiarano di votarlo. Ci aspettiamo (cfr. par. 1.11) che lo stimatore

q
toria con deviazione standard pari a

p

sia una variabile alea-

p(1−p)
, e frequentemente si valuta dunque l'errore della
N

stima come

r

p(1 − p)
(2.43)
N
Applicando questa formula al caso Ng = N = 5, si ottiene p = 1 con errore nullo, un risultato
chiaramente assurdo che discende dal fatto di aver preso come valore di p il valore stimato p,
senza considerare gli altri valori di p compatibili col risultato osservato dello stimatore.
σ(p) '

Per dare un preciso signicato statistico alla nostra stima, dobbiamo quindi considerare la
probabilità di ottenere

θobs

per tutti i valori possibili della grandezza

p e denire un criterio per

quanticare in termini probabilistici la nostra condenza sul risultato della stima. Il problema
non è privo di sottigliezza: nell'approccio frequentista non ha senso associare una probabilità
al valore del parametro
Il

θ

che vogliamo stimare, non essendo questo una variabile aleatoria.

livello di condenza

α

sul risultato di una stima deve essere invece denito come la

probabilità che il risultato  solitamente un intervallo di valori  sia giusto, ovvero che il valore
vero sia contenuto nell'intervallo. In altre parole, non ha senso dire la probabilità che la massa
dell'elettrone abbia un certo valore, ma ha senso chiedersi qual è la probabilità che il risultato
di una misura di massa dell'elettrone contenga il valore vero.
La procedura per ottenere gli

intervalli di condenza così deniti, dovuta a Neyman[10],

(θ, θ) contenente l'intervallo dei valori
ciascun valore di θ :

consiste nel costruire una banda di condenza nel piano
di

θ

che ci si aspetta di ottenere con probabilità

Z

α

per

u(θ)

d (θ|θ)dθ = α

(2.44)

v(θ)
come illustrato in gura 2.1.
Solitamente si considera un intervallo di condenza centrale, per cui

Z

v(θ)

Z

d (θ|θ)dθ = (1 − α)/2

d (θ|θ)dθ =
−∞

(2.45)

u(θ)

e la banda di condenza è denita dunque dai quantili  

1 − α

v(θ) = qθ .

θ 2   1 − α .

.

u(θ) = qθ 1 − .

47) . b] è ottenuto semplicemente intersecando la banda di condenza stimatore θ obs : θobs = u(a) θobs = v(b) 61 (2.46) [a.θ 2 L'intervallo di condenza con il valore osservato dello (2.

Se ad esempio siamo interessati a determinare un limite superiore per il parametro θ .48) b = v −1 (θobs ) Se la soluzione non è calcolabile analiticamente. come normalmente ci aspettiamo da uno stimatore corretto.1: Costruzione dell'intervallo di condenza col metodo di Neyman. l'intervallo così costruito contiene il valore vero v(θvero ) < θobs < u(θvero ). 2 Nulla vieta di considerare intervalli non centrati.49) θobs d (θ|θ = b)dθ β2 = −∞ Dove β1 e β2 sono pari. prendendo qualunque valore di β1 e β2 tale β1 + β2 = 1 − α. che 62 . a (1−α) . θvero se e solo se probabilità α indipendentemente Infatti. si possono sempre risolvere numericamente per a e b le equazioni Z ∞ d (θ|θ = a)dθ β1 = θobs Z (2. e la banda di condenza diventa il semipiano θ > qθ (1 − α|θ). nel caso di intervallo centrale. valore di θvero . il che avviene con Se. le funzioni dal particolare v(θ) e u(θ) sono monotone crescenti e invertibili. sceglieremo β1 = 0. β2 = 1 − α.Figura 2. la soluzione del problema è a = u−1 (θobs ) (2.

b] dai valori di θ per cui L(θ ) 2 ha valore Lmax − Nσ (α) /2 (cfr eq.9. Si ottengono dunque gli estremi dell'intervallo di condenza [a. 2. per la distribuzione esponenziale è data dalla tobs . Le curve v(θ) e u(θ) σ(θ) nota.2.8. 2. Possiamo dunque ottenere il suo intervallo di condenza dalla formula 2.1 Singola misura da distribuzione esponenziale Vogliamo calcolare l'intervallo di condenza centrale.48 diventa dunque semplicemente a = θobs − Nσ (α)σ(θ) (2.1 Il caso Gaussiano Nel caso di uno stimatore corretto gaussiano con deviazione standard particolarmente semplice. con livello di condenza stima del parametro τ α = 0. Per ottenere la soluzione esatta dell'intervallo di condenza col metodo di Neyman.2 Una soluzione approssimata Come abbiamo visto nel paragrafo 2. Nel caso in cui σ(θ) non sia noto a priori.6).52) b = θobs + Nσ (α)σ(θ) In questo caso. 3.50) è ottenuto invertendo l'eq. essendo il calcolo molto meno laborioso rispetto al metodo esatto di Neyman. questo metodo risulta comunque essere una buona approssimazione della soluzione esatta e risulta dunque essere molto utile in pratica. diventa gaussiano nel limite di innite misure Si può dimostrare che.27  Nσ = qstd 1+α 2  (2.8.51 la funzione quantile della gaussiana standard qstd con quella della distribuzione di Student (vedi par.3% coincide dunque con l'errore standard θobs ± σ(θ). basterà sostituire nell'eq.8.36).6. un qualunque stimatore di massima verosimiglianza N → ∞. la soluzione è sono infatti semplicemente rette parallele alla bisettrice:  1−α v(θ) = qθ |θ = θ − Nσ (α)σ(θ) 2   1−α |θ = θ + Nσ (α)σ(θ) u(θ) = qθ 1 − 2  dove Nσ (2. Esempio 2. 1.51) La soluzione 2. 2.52. Il metodo permette in particolare di determinare se l'intervallo è asimmetrico rispetto alla miglior stima θobs . l'intervallo di condenza al 68. stimando σ(θ) dal prolo della funzione di likelihood. anche se siamo lontani dal limite asintotico. dobbiamo calcolare i quantili e per la risolvendo l'equazione P (T (q)) = q 63 T ((1 − α)/2) . della distribuzione esponenziale sulla base di una singola misura di Come abbiamo visto. in questo caso l'unico valore osservato T ((1 + α)/2) come funzione di τ t. la miglior stima di τ media aritmetica.

max + tobs τmin. che mostra anche un confronto graco fra i tre intervalli ottenuti: mloglike =function(tau=1.max ) = − log L(tobs ) + ovvero log τmin. risolvendo l'equazione − log L(τmin. τmax ) = tobs da cui − tobs tobs <τ <− log ((1 − α)/2) log ((1 + α)/2) Si noti che l'intervallo è asimmetrico. τmin ) = tobs T ((1 − α)/2. dove Nσ è il numero condenza α nel caso gaussiano.644854 Inne.max Nσ2 (α) 2 = log tobs + 1 + Nσ2 (α) 2 che possiamo risolvere numericamente tramite il seguente codice. τ ) = −τ log (1 − q) Gli estremi dell'intervallo sono inne ottenuti da T ((1 + α)/2.tobs) { log(tau)+tobs/tau } nsig = function(alpha) { qnorm((alpha+1)/2) } confneyman = function(tobs. 64 . possiamo utilizzare il metodo approssimato tramite la funzione di massima verosimiglianza. Possiamo confrontare questa soluzione con la stima standard τ = tobs ± Nσ (α) · tobs (si ricordi che all'intervallo di σ 2 (t) = τ 2 ).alpha) { c( -tobs/log((1-alpha)/2) . Si trova dunque T (q.dove P (t) = 1 − e−t/τ è la distribuzione di probabilità cumulativa. poichè la miglior stima resta τ = tobs . ed è di deviazioni standard che corrisponde ricavabile con R come > alpha=0.9 > qnorm((1+alpha)/2) [1] 1.

alpha) cat("tau is ". tobs + terr) } confll = function(tobs.tobs) < llmin+deltal) { tminll = tminll . tobs.".alpha) { terr = nsig(alpha) * tobs c( tobs .add=T." .(ney[2]-ney[1]). tmaxll) } seeconf = function(alpha=0.alpha) { # soluzione ML: partendo dal massimo.tobs) < llmin+deltal) { tmaxll = tmaxll + step } c( tminll. tobs.step # protezione contro log(numero negativo) if(tminll<0) break } tmaxll=tobs while(mloglike(tmaxll.20*tobs) # soluzione esatta ney = confneyman(tobs. fino a trovare il valore per cui # loglik varia di nsig^2/2 deltal=(nsig(alpha))^2/2 llmin=mloglike(tobs.xlab=expression(tau).tobs=0.c(ney[2].col="blue".type="b") # soluzione standard std = confstd(tobs.10*tobs.alpha) 65 .add=T.0.tobs) step = (nsig(alpha)*tobs)/20 tminll=tobs while (mloglike(tminll."\n") lines(c(ney[1].col="blue".ney[3]). -tobs/log((1+alpha)/2)) confstd = function(tobs.6) { # disegna il diagramma di Neyman curve(x*1.ylab=expression(t_obs).ney[2].ney[2]).9.(ney[3]-ney[2]).0.terr.} tobs.col="red"." + ".10*tobs) curve(-x*log((1+alpha)/2).20*tobs)) curve(-x*log((1-alpha)/2).xlim=c(0. ci spostiamo di una quantita' # piccola (rispetto all'errore) step.0.

type="b") } > seeconf() tau is 0.09744 tau standard is 0.alpha=0.ll[2].9) { # simuliamo gli n esperimenti.std[2]-std[1].1).6 ." +/.9869122 taull is 0.0.col="green".std[3]).1.6 +/.type="b") # soluzione ML ll = confll(tobs. Per l'intervallo ottenuto col metodo esatto ci aspettiamo naturalmente di trovare un ricoprimento pari ad α.112338 Per quanticare la dierenza fra il signicato dei tre intervalli." + ". coverage = function(n=1000.ll[3]-ll[2].0. E' necessario per questo simulare un gran numero di esperimenti e contare quante volte l'intervallo ottenuto contiene il valore vero di τ usato nella simulazione.6 .c(std[2]+0."\n") lines(c(ll[1]. si noti che il valore di tau # e' ininfluente sul risultato xx=rexp(n.col="magenta".std[2].464758 + 5.ll[2]-0.tau=1." .1.3997151 + 11.".0.c(ll[2]-0.ll[2]-ll[1].alpha) cat("taull is ".".std[2]+0.rate=1/tau) 66 .1). possiamo calcolarne il ricoprimento.cat("tau standard is ".ll[3]). ovvero l'eettivo livello di condenza."\n") lines(c(std[1].

nokney=0 nokst=0 nokll=0 for (i in 1:n) { tobs=xx[i] # intervallo di neyman ney = confneyman(tobs."\n") } > coverage(n=20000." +/.".dcovney." +/."."\n") covst=nokst/n dcovst=sqrt(covst*(1-covst)/n) cat("coverage standard=".0.900 +/."." +/.dcovll."\n") covll=nokll/n dcovll=sqrt(covll*(1-covll)/n) cat("coverage ML=".dcovst.alpha) if(tau >= ney[1] & tau <= ney[3]) { nokney=nokney+1 } # intervallo standard std = confstd(tobs.9) coverage Neyman = 0.covst.681 +/.002 coverage standard = 0.875 +/.0.003 coverage ML = 0.covney.002 67 .0.alpha) if(tau >= std[1] & tau <= std[3]) { nokst=nokst+1 } # intervallo ML ll = confll(tobs.alpha=0.alpha) if(tau >= ll[1] & tau <= ll[3]) { nokll=nokll+1 } } # calcoliamo il ricoprimento e il suo errore (binomiale) covney=nokney/n dcovney=sqrt(covney*(1-covney)/n) cat("coverage Neyman =".covll.

.

oppure la presenza di una malattia dai risultati di un test clinico): l'ipotesi più semplice da formulare è quella che non ci sia nessun eetto (ipotesi nulla) e dunque conviene testare tale ipotesi e si dirà che l'esito è positivo se l'eetto è stato messo in evidenza. se vogliamo Quanto piccolo. l'eetto beneco di un farmaco o di un regime alimentare. tali che Z d0 (T |H0 )dT = 1 − αs A Z (3.Capitolo 3 Tests statistici di ipotesi In questo capitolo verranno trattati vari tests statistici. descritti dalla PDF d0 (T |H0 ). detta ipotesi nulla. Si noti che l'esito negativo di un test non implica necessariamente che l'ipotesi nulla sia vera. come vedremo negli esempi di questo capitolo. Si separa poi lo spazio dei possibili valori di T in una regione accettata A ed una regione critica C . Il valore αs . rappresenta la probabilità di avere un errore di primo tipo (o falso positivo). dipende dal caso in esame.5. Un test consiste campione S una statistica di test T (S).1) d0 (T |H0 )dT = αs cioè che i valori assunti da T nell'ipotesi C Si dice che il test ha esito negativo (i dati sono compatibili con l'ipotesi nulla e esito positivo (i dati non sono compatibili con H0 ) se T ∈ C. Si sceglie dunque la regione accettata in modo da avere un piccolo ( che il test abbia un senso) valore di αs . In caso di esito positivo del test. ovvero una o più variabili che caratterizzano nel modo più appropriato la compatibilità dei dati con l'ipotesi nulla. ovvero analisi statistiche mirate a vericare la compatibilità di una data ipotesi con un campione di dati. Si vuole H0 . detto signicatività del test. 69 . ma solo che non possiamo escluderla sulla base dei nostri dati. 3. H0 ) se T ∈A La terminologia è dovuta al fatto che i tests sono spesso usati per vedere se dai dati è possibile mettere in evidenza un eetto cercato (ad esempio. ovvero di ottenere un risultato positivo anche se l'ipotesi nulla è vera. siano il più possibile separati dai valori che T assumerebbe se H0 non fosse vera. 0.1 Test di un'ipotesi: signicatività e pvalue Indicheremo con nel ricavare dal H0 l'ipotesi teorica che vogliamo testare.

avremmo una probabilità αs 1 − αs . pena la perdita del signicato statistico del pvalue. tenendo di sbagliarci. quanticare meglio l'aderenza del campione di dati all'ipotesi nulla.4) |T −E(T |H0 )|≥|Tobs −E(T |H0 )| Chiaramente il test ha esito positivo se pvalue Se vogliamo testare H0 < αs . di una legge della sica).2) Tobs Se invece ci aspettiamo valori più alti. faremo un test a due code: Z pvalue2 d0 (T |H0 )dT = (3. essendo il criterio. ovvero non deve essere inuenzata dai dati stessi. e ci aspettiamo che l'ipotesi in valori di T risulti più bassi rispetto a qualunque ipotesi alternativa. oppure sulla base di un campione di dati (detto di training) indipendente da quello su cui si eettua l'analisi. oppure con condenza sempre presente che. La denizione di peggiore dipende dall'ipotesi altenativa che ci aspettiamo. nell'ipotesi nulla. Possiamo diminuire aumento di β1 . È importante sottolineare che la scelta della regione accettata deve essere fatta prima di osservare i dati. con cui si confrontano le prestazioni di tests diversi. faremo un test a una coda. ovvero un risultato negativo del test nell'ipotesi che aumentando la regione accettata H1 sia vera (e dunque H0 A. ma questo comporta un falsa). Se vogliamo.1. ad esempio. a parità di αs . contro un'ipotesi alternativa H1 . è utile introdurre il pvalue. se le ipotesi alternative possono dare qualunque valore di T .1 Una falsa scoperta I valori nel le 70 .3) −∞ Inne. Esempio 3. faremo l'integrale sull'altra coda della distribuzione: Z pvalue1− Tobs d0 (T |H0 )dT = (3. che risulterebbe distorto.si dice che l'ipotesi nulla è esclusa con signicatività αs .5) A come la probabilità di avere un errore di secondo tipo (o falso negativo). denito come la probabilità. αs La scelta della regione accettata risulta dunque da un compromesso fra i due tipi di errore e dipende dal caso in esame. si sceglierà la regione accettata sulla base di un campione di dati simulato. ovvero tratteremo come peggiori tutti i valori maggiori di quello osservato: ∞ Z pvalue1+ d0 (T |H0 )dT = (3. se l'ipotesi nulla fosse vera. possiamo denire Z d1 (T |H1 )dT β1 = (3. anziché avere semplicemente un risultato binario (positivo/negativo). H0 Se ad esempio la statistica di test è un numero reale. Se non è possibile calcolare a priori d0 (T |H0 ) (sulla base. La quantità 1 − β1 è detta potenza del test. di ottenere un valore di T uguale o peggiore di quello ottenuto.

breaks=seq(0.unifi. Osserviamo i dati facendo un istogramma: misure = scan("/afs/math. sapendo che nell'ipotesi nulla questa segue la distribuzione di Poisson con valore atteso 1. potremo annunciare di aver scoperto un segnale di vita extraterrestre con una condenza del 99%. in unità arbitrarie.it/service/Rdsets/ricercasegnale. I valori rappresentano. In caso di esito positivo del test.it/service/Rdsets/ricercasegnale.2)) Notiamo un picco sospetto: 6 conteggi nell'intervallo 6466. indipendenti fra loro e uniformemente distribuiti nella nostra unità. Vogliamo allora denire un test statistico in cui l'ipotesi nulla è l'assenza di un segnale reale con αs = 1%. la coordinata spaziale di provenienza dei candidati osservati. Sapendo che l'osservazione di un segnale reale implica un valore più alto di conteggi. Potremmo allora pensare di formulare il test come segue: utilizziamo il valore di conteggi in questo intervallo come statistica di test./afs/math. λ) k≥kobs Il valore numerico è 71 .rdata") h=hist(misure. faremo il test a una coda prendendo come pvalue δ= X fP (k. pari 1.rdata rappresentano i risultati di un esperimento di ricerca di vita extraterrestre.04.04 oggetti/intervallo. λ) = 1 − pP (kobs − 1.100.uni. Sappiamo che ci si aspetta un fondo di falsi segnali.

sovrapponendo il graco della funzione densità aspettata. è probabilmente il test statistico più comunemente utilizzato. se pratica & N è ssato). xi e δi dell'intervallo e l'ultimo passaggio è giusticato solo se sono il valore centrale e la larghezza d (x) può essere approssimata a una funzione lineare all'interno dell'intervallo. ciascuna variabile aleatoria zione di Poisson (o binomiale.04) [1] 0. detto test di bontà del t.036 un valore compatibile. o test χ2 . avendo scelto i conteggi da un solo intervallo. moltiplicata per l'opportuno fattore di normalizzazione. con l'istogramma dei valori sperimentali. in quanto esso è stato denito sulla base dei dati osservati. nell'ipotesi nulla. in modo da confrontare visivamente la forma delle distribuzioni.04). Ii . Tuttavia l'impostazione di questo test è errata.T. con una condenza del 99. entro la nostra signicatività. n=50 conteggi osservati. che è quello col valore osservato più alto. ovvero p − value = 1 − pP (kobs − 1.0007269856 e concluderemmo quindi di aver scoperto E.2 Il Il test χ2 test di Pearson[11]. Nei capitoli precedenti abbiamo spesso confrontato la distribuzione dei valori di una variabile in un campione di dati con i valori attesi in base alla distribuzione ipotizzata. Per impostare il test correttamente. Il pvalue si ottiene dunque come il complementare della probabilità che tutti gli intervalli abbiano meno di kobs conteggi. Supponiamo di avere un istogramma con con ki il conteggio in ciascun intervallo distribuzione d (x). Abbiamo fatto questo confronto in modo qualitativo. 3. λ)n = 1 − (1 − δ)n = 0. in modo quantitativo. 1.> 1-ppois(5.93%.7) ndf = n non dipendono dai valori osservati. n intervalli della variabile osservata x e indichiamo L'ipotesi nulla del test è che i dati seguano la per cui il valore atteso di ciascun ki è dato da Z λi = N · d (x)dx ' N δi d (xi ) (3. con l'ipotesi nulla.1. Se i valori di ki ki segue una distribu- sono sucientemente grandi (in 5) possiamo approssimare la distribuzione a una gaussiana che. In questa ipotesi si avrà allora che χ2 = n X (ki − λi )2 i=1 λi segue la distribuzione di Pearson (cfr par. Il numero di gradi di libertà è pari a se i valori di λi (3. Nell'usuale ipotesi di dati indipendenti. Il test χ2 permette di fare questo confronto.14). la PDF della statistica di test deve rappresentare la probabilità di ottenere kobs conteggi come valore massimo sugli ciascuno dei quali segue la statistica di Poisson fP (ki . 1.6) x∈Ii dove N è il numero di valori attesi nel campione. Nel frequente caso in cui la nostra ipotesi 72 . ha valore atteso e varianza pari a λi .

8) χ2 Si noti che. il test viene fatto ad una coda: Z ∞ p − value = fχ2 (x.1 Test di normalità tramite N dei valori nell'istogramma! χ2 Abbiamo visto come.add=T. si avrà ndf = n − mp − 1.sd=sigmacentral)*N*delta.1) } } sigmacentral=2*sqrt(n/12) delta=sigmacentral/20 h=hist(sample.1-pchisq(chi2.col="red") x=h$mids dati=h$counts attesi = dnorm(x. il che spiega l'espressione gradi di libertà. con il numero Esempio 3.1) if (n >1) { for (i in 1:(n-1)) { sample = sample + runif(N.-1. Ad esempio. È utile sottolineare che. è il sintomo di un errore nell'analisi. mentre i due parametri della 73 . la distribuzione densità della somma di n variabili distribuite uniformemente tenda rapidamente.chi2.delta)) curve(dnorm(x. da cui si ricava il numero di gradi di libertà.N=1000) { sample = runif(N. eseguendo un test χ per vericare l'ipotesi gaussiana su un campione di N valori simulati: mychisqunif = function(n=3. Se poi d (x) dipende da mp parametri che stimiamo dai dati stessi. al crescere di n. ndf ) (3.2." dof=". riguardi solo la forma della distribuzione Poiché qualunque ipotesi alternativa implica valori di χ2 maggiori rispetto all'ipotesi nulla. si dimostra (vedi [1]) che il χ segue ancora la distribuzione di Pearson.13.1*n. ndf )dx = 1 − pχ2 (χ2 ." p-value is ". il che spiega la sua popolarità. la distribuzione del χ2 è indipendente dalla d (x). Vogliamo ora rendere più quantitativo 2 questo confronto. nelle approssimazioni fatte."\n") } Il numero di gradi di libertà è in questo caso pari al numero di intervalli meno uno.1). ad asso- migliare a una distribuzione normale (esempio 1. i dati potrebbero non essere indipendenti. e questo rende il test di facile implementazione.df=ngl). un valore del 2 χ molto inferiore a quello atteso (ndf ). Bisogna poi fare attenzione a non confondere il numero di intervalli n.1 cat("chi2= ". pur risultando in un esito negativo del test.d (x). ovvero un pvalue molto vicino a 1. mentre il valore N è ricavato dal numero di 2 valori osservato.ngl.-1.breaks=seq(-1*n.sd=sigmacentral)*N*delta chi2 = sum((dati-attesi)^2/attesi) ngl = length(x) . ma con ndf = n − 1 gradi di libertà. essendo le uttuazioni dei conteggi ineliminabili. poichè nel calcolo dei valori attesi N è ssato alla dimensione del campione. in virtù del teorema del limite centrale.

0771 dof= 119 > mychisqunif(3.01048201 p-value is 0 la statistica necessaria per far fallire il test aumenta ulteriormente. 74 . Se avessimo voluto fare un test di normalità senza alcuna ipotesi sul valore atteso e la deviazione standard.100000) chi2= 703. avremmo potuto stimare questi parametri dai dati stessi e ridurre di due il numero di gradi di libertà. Con i valori n = 3. Per poter accorgersi dai dati che la reale distribuzione non è una gaussiana.1)) > mychisqunif(3.4705 dof= 119 > mychisqunif(3. N = 1000. è necessario disporre di statistiche molto superiori: > par(mfrow=c(3.2427 dof= 119 Aumentando il valore di n.1114694 p-value is 0.10000) chi2= 157. il test dà tipicamente valori del pvalue alti che non ci permettono di escludere l'ipotesi che il campione segua la distribuzione normale. p-value is 0.gaussiana erano ssati a priori dalla predizione del teorema del limite centrale.1000) chi2= 138.

attesi. 2 Facciamo ora un confronto quantitativo per mezzo del test χ : chisqcosmic = function() { df = read.txt". Testiamo χ2 : adesso l'ipotesi nulla (assenza di segnale oltre il fondo) utilizzando il test > misure = scan("/afs/math. tipicamente tramite una simulazione."\n") } Si noti che in questo caso il numero di gradi di libertà è n-2.100.3 Signicatività di un debole segnale in presenza di fondo Ritorniamo al nostro esperimento di ricerca di vita extraterrestre dell'esempio 3.3 abbiamo considerato i dati di un reale esperimento di conteggio di raggi cosmici.2.chi2.lambda=cm)*n points(xp. anche per stimarne il valore atteso.1.col="red".it/service/Rdsets/ricercasegnale. poichè abbiamo usato i dati.breaks=seq(0.rdata") > h=hist(misure. e vericato visivamente che il numero di eventi osservati in un intervallo di 2 minuti segue una ditribuzione di Poisson.5 x=xmin:xmax h=hist(c. in quanto il pvalue dovrà essere calcolato ricavando. oltre che per normalizzare la predizione.Esempio 3. come ci si attende nell'ipotesi di independenza degli eventi. il non seguirà più la distribuzione di Pearson.pch=19) chi2 = sum((dati-attesi)^2/attesi) nbin=length(x) ngl = nbin .df=ngl). Dal risultato pvalue=65% concludiamo che i dati sono del tutto compatibili con l'ipotesi poissoniana.2)) > dati=h$counts 75 . la distribuzione attesa di χ2 per lo specico caso in esame.1." dof=".2 Test di ipotesi poissoniana per conteggi di raggi cosmici Nell'esempio 2.5 xmax=max(c)+1.2.skip=7) c = df$V3 cm=mean(c) n=length(c) # costruiamo l'istogramma con bins di larghezza 1 centrati nei valori interi xmin=min(c)-1.table(file="CosmoData. ma perde la sua praticità." p-value is ". Nel caso in cui il valore dei conteggi sia troppo basso perché l'approssimazione gaussiana sia χ2 d (x).2 cat("chi2= ".breaks=x) xp=h$mids dati=h$counts attesi = dpois(xp. ma una distribuzione che dipende dalla PDF Il test può essere ancora eseguito. Esempio 3. valida.unifi.ngl.2.1-pchisq(chi2.type="p".

breaks=seq(0.atteso.df=ngl).ngl. dato il basso valore dei conteggi. lowsignal = function(Nsim=5000) { misure = scan("/afs/math.04 # per bin > attesi=rep(fondo.ngl) # simuliamo Nsim esperimenti con solo fondo e mettiamo nel vettore # simchi2 i valori del chi2 ottenuto in ciascun esperimento simchi2=c() for (i in 1:Nsim) { simset=rpois(ngl.it/service/Rdsets/ricercasegnale.rdata") h=hist(misure.atteso=1.004 76 .col="red") } > lowsignal() correct p-value is 0. Calcoliamo il valore corretto del pvalue simulando un gran numero di analoghi esperimenti nell'ipotesi nulla." dof=".atteso.breaks=50) delta=ch$breaks[2]-ch$breaks[1] # confrontiamo la distribuzione ottenuta co quella di Pearson # usata in precedenza curve(dchisq(x.atteso=1."\n") # confrontiamo la distribuzione di chi2 simulata # con quella di Pearson ch=hist(simchi2.> ngl = length(dati) > fondo.100.ngl) > chi2 = sum((dati-attesi)^2/attesi) > cat("chi2= "." p-value is ".dpv.2)) dati=h$counts ngl = length(dati) fondo.lambda=fondo.atteso) simchi2[i]=sum((simset-attesi)^2/attesi) } # calcoliamo la frazione di esperimenti simulati con un valore di chi2 # superiore a quello osservato np=length(simchi2[simchi2>=chi2]) pv=np/Nsim dpv=sqrt(pv*(1-pv)/Nsim) cat("correct p-value is ".3%.0438842 Si noti che in questo caso il numero di gradi di libertà coincide col numero di intervalli. Tuttavia."\n") chi2= 68.df=ngl)*Nsim*delta. essendo il valore atteso specicato a priori.unifi." +/.26923 dof= 50 p-value is 0.04 # per bin attesi=rep(fondo.".085 +/- 0. Otteniamo un pvalue pari al 4. non possiamo aspettarci che la distribuzione di Pearson sia una buona 2 approssimazione per la distribuzione del nostro χ .chi2.add=T.1-pchisq(chi2.pv.

Si calcola la dierenza massima .Notiamo che la reale distribuzione del χ2 ha code più importanti rispetto a quella attesa nel limite di grandi conteggi.3 Il test di Kolmogorov Un test di bontà del t più adatto al caso di bassi conteggi è quello di KolmogorovSmirnov.9) e 0 altrimenti. 3. e N è il numero totale di valori del campione. per cui il valore corretto del pvalue è sensibilmente maggiore di quanto stimato in precedenza. Consiste nel confrontare la distribuzione di probabilità cumulativa attesa empirica χ(xi < x) con quella Pn S(x) = dove p(x) è la funzione indicatrice che χ(xi < x) N vale 1 se (xi < x) i=1 (3.

.

D = max .

S(x) − p(x).

11) . nel limite n → ∞ tende alla funzione di Kolmogorov √ ∞ ∞ X 2π X −(2j−1)2 π2 /(8κ2 ) 2 2 j−1 −2j κ pKS (κ) = 1 − 2 (−1) e = e κ j=1 j=1 77 (3.10) La sua (3. Nell'ipotesi nulla la quantità κ = funzione di ripartizione. √ N D diventa indipendente dalla distribuzione p(x).

Inoltre. il test non è più valido se la predizione p(x) dipende dai dati stessi. test di Anderson-Darling.ecdf().3 utilizzando stavolta il test di Kolmogorov Smirnov per vericare la compatibilità con una distribuzione uniforme. ).it/service/Rdsets/ricercasegnale.max=100).rdata") plot. si esegue il test a una coda: pvalue = 1 − pKS (κ) (3. Il test di Kolmogorov è utile per testare la forma della distribuzione. . . Esempio 3. tramite la funzione ks.Come nel caso del test χ2 . La funzione cumulativa empirica può essere ottenuta dalla funzione plot.3.unifi.1 Ancora sulla signicatività di un debole segnale Ripetiamo nuovamente l'analisi dell'esempio 3.2.12) Il software R permette. di calcolare il pvalue esatto anche nel caso di bassi valori di n. Confrontiamo innanzi tutto la funzione di probabilità cumulativa empirica del campione con la probabilità cumulativa attesa per la distribuzione uniforme: misure = scan("/afs/math. test di Kuiper.min=0.test().add=T. ma non i valori assoluti dei conteggi.ecdf(misure) curve(punif(x.col="red") 78 S(x) . Esistono molte varianti per trattare questi casi (test di Lilliefors [4]. ad esempio per un test di normalità in cui si stimino dai dati il valore atteso e la varianza della gaussiana.

e il corrispondente pvalue sono ottenibili dalla funzione ks.4 z Test Supponiamo di avere uno stimatore θ che sappiamo seguire una distribuzione normale con σθ (ad esempio. o θ < θ0 .5084 alternative hypothesis: two. ci conviene eettuare un test a una coda.1: Formule per lo 79 z test non .14) =⇒ |z| < qstd (1 − αs /2) Il pvalue sarà pvalue dove pstd e qstd = 2(1 − pstd (|θ|)) (3. 3. Regione accetata pvalue Intervallo di condenza |z| < qstd (1 − αs /2) 2(1 − pstd (|θ|)) θ = θ ± σθ qstd ((1 + αCL )/2) z < qstd (1 − αs ) 1 − pstd (z) θ > θ − σθ qstd (αCL ) z > qstd (αs ) pstd (z) θ < θ + σθ qstd (1 − αCL ) Tabella 3. la quantità deviazione standard che il valore atteso z= Vogliamo testare l'ipotesi (θ − θ0 ) σθ (3.test(): > ks.112.sided Secondo questo test. di θ sia pari a θ0 .punif. Le formule per la regione accettata. uno stimatore ML con N  1). Ipotesi alt. par.test(misure.8) sono riassunte in tabella 3.max=100) One-sample Kolmogorov-Smirnov test data: misure D = 0. Nell'ipotesi nulla. positivo con signicatività contiene il valore θ > θ0 θ < θ0 Si noti che il test ha esito quando l'intervallo di condenza con livello αCL = 1 − αs θ0 .Il parametro D del test.15) sono la funzione di ripartizione e la funzione quantile della gaussiana standard.min=0. che è la massima distanza fra le due curve nel graco.1. 2 code αs 2. i dati sono dunque ampiamente compatibili con l'ipotesi nulla. Se vogliamo efefttuare il test con ipotesi alternativa è θ > θ0 .13) segue la distribuzione normale standard. denendo la regione accettata come qstd (αs /2) < z < qstd (1 − αs /2) (3. Possiamo allora eettuare un test a due code. e il corrispondente intervallo θ di condenza per (cfr. il pvalue. detto  z test. p-value = 0.

e con R il numero di runs. Il runs test può essere usato in più modi: testare l'indipendenza dei dati in un campione: l'ipotesi 2. tramite un Runs test con signicatività del 5%.17) E(R) = σ 2 (R) = e che nel limite z test N →∞ la variabile R tende ad essere normale. Implemen- tiamo il test in R nella funzione runstest() ed eseguiamolo su una sequenza ottenuta da 80 runif (). Possiamo dunque eseguire uno a due code con zruns = (R − E(R)) σ(R) (3.3. la sequenza 001110110100 ha 7 runs.2 che i dati (xi ) in un campione siano indipendenti ed identicamente distribuiti può essere testata ponendo  X= 1 xi ≥ x 0 xi < x (3.1 Test di un generatore MonteCarlo Verichiamo. X = 1 o 0.19) 1 ki ≥ λi 0 ki < λi (3. . e dunque alternativo .5 Runs Test Il Runs test è utilizzato per valutare in modo quantitativo se una sequenza di valori di una variabile binaria X (con valori 0 o 1) è compatibile con l'essere una sequenza casuale.16) 2N0 N1 (2N0 N1 − N ) (E(R) − 1)(E(R) − 2) = N 2 (N − 1) N −1 (3.20) test di bontà del t: ponendo  X= si ottiene un test di bontà del t sensibile ai segni e non ai valori assoluti degli scarti fra i conteggi ki e i valori attesi λi .18) tenendo conto del fatto che il pvalue ottenuto è esatto solo nel limite di innita statistica. ovvero una serie di valori estratti indipendentemente con la stessa probabilità Indichiamo con N1 e N0 il numero di valori con P (X = 1). seppur meno potente. Si dimostra che N + 2N0 N1 N (3. al test χ2 (che è sensibile agli scarti quadratici). Esempio 3. che le sequenze di valori ottenute dal generatore pseudorandom runif () sono compatibili con una sequenza casuale.5. ovvero di sequenze in cui il risultato si ripete. Ad esempio.

zruns segue la distribuzione gaussiana standard: runifrunstest = function(Nsim=1000.R.4328301 p-value= 0. expected sigmaR=".sigmaR. expected R=". un esito negativo..Nsample=1000) { z=c() for (i in 1:Nsim) { z[i]=runstest(runif(Nsample)>0.col="red") } 81 .speak=T) { R=0 b=-1 na=0 nb=0 for (i in 1:length(data)) { if (data[i]) { ib=1 nb=nb+1 } else { ib=0 na=na+1 } if(ib != b) { R=R+1 } b=ib } n=na+nb expR=(n+2*na*nb)/n sigmaR=sqrt( (expR-1)*(expR-2)/(n-1) ) z= (R-expR)/sigmaR if(speak) { cat("observed R=". che. per questa sequenza. ripetendo il test molte volte.". speak=F) } hist(z.seed(99) > runstest(runif(1000) >= 0. con la statitica del campione scelta pari a 1000.z.5) z= -0.add=T.5 .6651382 Il test ha dunque.expR.2*(1-pnorm(abs(z)) ).breaks=seq(-4.".runstest = function(data."\n") cat("z="." p-value=".4.2."\n") } z } > set. Possiamo anche vericare.2)) curve(dnorm(x)*Nsim*.

la quantile. la PDF distribuzione di Student è calcolata dalla funzione dt(). la variabile Γ ((N + 1)/2) √ dt (t) = Γ (N/2) πN dove N t segue la distribuzione detta di Student  t2 1+ N −(N +1)/2 (3. 82 . la deviazione standard può essere stimata dai dati stessi e la quantità t= (θ − θ0 ) σθ non seguirà più una distribuzione gaussiana. Come dimostrato da W.22) è il numero di gradi di libertà. una variabile aleatoria. e χ 2 Z è una variabile distribuita secondo la distribuzione normale una variabile distribuita secondo la distribuzione di Pearson con libertà. al solito. Gosset[7]. e. Più in generale si dimostra che se standard. rt() forniscono la funzione di ripartizione. abbiamo implicitamente supposto di conoscere a priori σθ .6 Test di Student Nel caso dello z test. allora la variabile p Z N/χ2 segue la distribuzione di Student con N N gradi di gradi di libertà. In caso contrario. come θ. qt(). e il generatore random. pari al numero di osservazioni meno 1 (quello utilizzato per stimare σθ ).3. Nel software R.S. le funzioni pt(). poiché σθ (3.21) è. e il rapporto delle due variabili non segue la distribuzione normale.

-5. confrontando il valore t con la distribuzione di Student attesa nell'ipotesi nulla. Il ttest (xi .df=df). i = 1 . un test di Student.23) . seestudent= function(df=1) { curve(dnorm(x).1. Le formule sono le stesse del caso dello z test in tabella 3.5) curve(dt(x.col="red") } Se dunque disponiamo di un campione di bassa statistica e vogliamo testare l'ipotesi dovremo eettuare. N ) di θ0 .6.1 N  100. o ttest. poiché in pratica dierisce dalla gaussiana standard solo per Esempio 3. θ = θ0 . In questo caso è dunque usato per testare se una serie di misure indipendenti una variabile normale x sono compatibili con l'avere un dato valore atteso √ (x − θ0 ) (x − θ0 ) N t= = σx σx 83 (3.add=T. dopo aver sostituito z con t. . e le distribuzioni della gaussiana osservato di standard con quella di Student. . Confronto fra distribuzioni di Student e di Gauss Il seguente codice permette di visualizzare la dierenza fra la distribuzione di Student e la distribuzione normale standard in funzione del numero di gradi di libertà. anziché uno z test.La distribuzione di Student è importante per campioni a bassa statistica.

in cui si possa suppore che la distribuzione sia gaussiana e con la stessa deviazione standard nei due casi. la distribuzione di Student con N1 + N2 − 2 (3.24) gradi di libertà. Se invece le misure non sono indipendenti. Si vuole inoltre testare se l'eetto dei due sonniferi sia lo stesso. i = 1 . Nell'ipotesi nulla (il sonnifero non ha eetto) ci aspettiamo che la variabile ore di sonno abbia la stessa distribuzione.25) σδ σδ una possibile correlazione solo fra le misure in ogni coppia variabile δ = x1 − x2 . Esempio 3. Per sincerarsi che l'eetto osservato non dipenda da particolari caratteristiche del nostro gruppo. e testare Ad esempio. . per i due campioni. N1 ) e (x2i . ma accoppiate. ∆ = x1 − x2 nell'ipotesi nulla seguirà una 2 2 2 varianza σ∆ = σ /N1 + σ /N2 . converrà considerare come l'ipotesi E(δ) = 0. lo possiamo dividere casualmente in due. Si vuole testare nei due casi l'ipotesi che il sonnifero non abbia alcun eetto. Supponiamo ad esempio di voler testare l'eetto di un sonnifero misurando le ore di sonno su un campione di volontari. N2 ). i dati (nel dataframe sleep) rappresentano la reazione. nell'esempio del test del sonnifero ci converrà misurare le ore di sonno degli stessi individui con e senza sonnifero.6. determinando il pvalue. eseguendo un ttest con √ δ δ N tδ = = (3. somministrando il sonnifero al primo campione e un placebo al campione di controllo. è la somma di due variabili variabile 2 χ con distribuzione normale gradi di libertà. in ore di sonno addizionali. ovvero si ha N1 = N2 e c'è (x1i . i = 1 . in questo caso la variabile di Student è ∆ t∆ = σ∆ s s r N1 + N2 − 2 N1 N2 N1 + N2 − 2 =∆ PN1 PN2 2 2+ 2 χ∆ N1 + N2 (x − x ) 1i 1 i=1 j=1 (x2j − x2 ) e segue. x2i ). .Il test è spesso eseguito anche per confrontare il valore atteso di due campioni indipendenti (x1i . La quantità PN2 PN1 2 2 j=1 (x2j − x2 ) 2 i=1 (x1i − x1 ) χ∆ = + σ2 σ2 In questo caso la variabile con valore atteso nullo e χ2 con N1 − 1 e N2 − 1 N1 + N2 − 2 gradi di libertà. che sarà dunque una Dunque. che assumiamo normale.2 Il classico test sull'eetto dello hyoscyamine hydrobromide In questo esempio dovuto allo stesso Gosset. di 10 pazienti a due diversi sonniferi (Dextro e Laevo hyoscyamine hydrobromide). la variabile empirica t= (dove (x − λ0 ) σx x e σx sono gli stimatori della media e del suo errore. Assumendo che la risposta dei pazienti segua una distribuzione normale con media e deviazione standard incognite. . . nell'ipotesi nulla. e λ0 = 0 è il valore atteso nell'ipotesi nulla) seguirà una distribuzione di Student con 10 − 1 84 gradi di libertà. .

conflevel=0.gr)) n=length(m) ngl=n-1 dmean=sd(m)/sqrt(n) t=mean(m)/dmean cat(" test di compatibilità con 0 (1 coda): pvalue=".95 > ttestsleep(2) test di compatibilità con 0 (1 coda): pvalue= 0.1087989 limite: > -0.(1-pt(t.95) { m=subset(sleep.limite).col="red") } > ttestsleep(1) test di compatibilità con 0 (1 coda): pvalue= 0.0.5.95 Possiamo dunque concludere che i dati mostrano un eetto signicativo solo per il secondo sonnifero.df=ngl) limite=mean(m)-dmean*qt(conflevel. Il seguente codice.2870553 per livello di confidenza= 0. possiamo eseguire il test di Student ad una coda calcolando dunque il pvalue come la probabilità di ottenere un valore di t superiore o uguale a quello misurato.col="red") arrows(limite.conflevel.002538066 limite: > 1.5. calcola il limite inferiore per il valore atteso dell'eetto del sonnifero.Assumendo che l'ipotesi alternativa consista in un incremento signicativo delle ore di sonno.df=ngl) cat(" limite: >". oltre ad eseguire il test calcolando il pvalue.test(): 85 .10).xlab=paste("Extra-sleep case ".df=ngl)).169334 per livello di confidenza= 0. ttestsleep = function(gr=1."\n") lines(c(limite. Il calcolo eettuato è riprodotto dalla funzione di R t.limite+1.limite." per livello di confidenza=". e mostra il risultato gracamente."\n") nsigma=qt((1+conflevel)/2.group==gr)$extra hist(m.0.c(0.

group==2)$extra.> t. df = 9.df=ngl) cat(" intervallo per livello di confidenza=". group == 2)$extra t = 3.alternative="two.dmean*nsigma.test(subset(sleep. df = 9.conflevel=0.df=ngl)).279780 equivalente a > t.95) { m=subset(sleep.".1.test(subset(sleep.6799. mean(m).group==1)$extra.2*(1-pt(abs(t).33 Se più prudentemente volessimo cosiderare anche l'ipotesi alternativa che il sonnifero abbia un eetto negativo sulle ore di sonno." :".alternative="greater") One Sample t-test data: m t = 1.group==1)$extra. dovremmo fare un test a due code: ttestsleep2 = function(gr=1.75 > t.1088 alternative hypothesis: true mean is greater than 0 95 percent confidence interval: -0.75 +/."\n") } > ttestsleep2(1) test di compatibilità con 0 (2-code): pvalue= 0.2175978 intervallo per livello di confidenza= 0.alternative="greater") One Sample t-test data: subset(sleep. p-value = 0.3257.sided") 86 .conflevel.169334 Inf sample estimates: mean of x 2. p-value = 0.002538 alternative hypothesis: true mean is greater than 0 95 percent confidence interval: 1."\n") nsigma=qt((1+conflevel)/2.group==gr)$extra n=length(m) ngl=n-1 dmean=sd(m)/sqrt(n) t=mean(m)/dmean cat(" test di compatibilità con 0 (2-code): pvalue=".95 : 0.test(subset(sleep. " +/.2870553 Inf sample estimates: mean of x 0.

7001142 2.7 0. df = 9.subset(sleep.sided". eseguiamo un test sulla dierenza di eetto δ su ogni paziente: > delta = subset(sleep. group == 1)$extra t = 1. df = 9.level=0. p-value = 0.5297804 2. e possiamo riscriverlo come σ 2 (N2 − 1) χ21 (N2 − 1) = PN2 2 (N1 − 1) χ22 i=1 (x2i − x2 ) 87 (3.4598858 sample estimates: mean of x 1.7%. considerando il rapporto fra le stime della varianza dei due campioni: σ1 F = = σ2 Nell'ipotesi nulla σ12 = σ22 = σ2 .3257. Vogliamo ora testare l'ipotesi di uguale varianza.One Sample t-test data: subset(sleep. p-value = 0.group==2)$extra .75 Inne.alternative="two.95) One Sample t-test data: delta t = 4. assumendo uguale varianza.26) (3.0621.2176 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: -0.58 concludendo che l'ipotesi di uguale eetto ha un pvalue pari allo esclusa con una condenza del 3.conf.002833 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: 0. PN1 F = PN1 − x1 )2 (N2 − 1) PN2 2 (N1 − 1) i=1 (x2i − x2 ) i=1 (x1i ci aspettiamo che i=1 (x1i − x1 ) σ 2 (N1 − 1) 2 F ∼ 1.27) .0297804 sample estimates: mean of x 0.group==1)$extra > t.3% e può dunque essere 99.test(delta. Test di Fisher Abbiamo visto come il test di Student permetta di testare l'ipotesi che due campioni normali abbiano lo stesso valore atteso.

Se l'ipotesi alternativa è σ1 > σ2 . f1 . la funzione df() implementa la funzione F di Fisher. f2 ) (3.32) Nel caso di test a due code che per simmetria è equivalente a F < qF (1 − αs /2. f1 . Il test è utile in particolare per sapere se il valore atteso di una variabile x. nell'ipotesi di normalità ssata ma non nota.35) .34) e il valor medio complessivo è ng Ni ng 1 XX 1 X x= xij = Ni xi N i=1 j=1 N i=1 88 (3. f2 ) (3. . Il valor medio di ciascun Indichiamo con xij gruppo è xi = Ni 1 X xij Ni j=1 (3. f1 ) 3. o Ftest. il test di Fisher.χ2j seguono la distribuzione di Pearson con fj = Nj −1 2 gradi di libertà. ng è l'indice di gruppo. .31) qF (αs /2. sarà il test a una coda F < qF (1 − αs . .28) (3. f2 ) < F < qF (1 − αs /2. misurata con un certo errore costante σ . nell'ipotesi di normalità. può dipendere da una variabile categoriale in base alla quale è possibile suddividere in gruppi il nostro campione. Ni è l'indice Png all'interno del gruppo. f1 . j = 1. Si dimostra che in queste ipotesi F segue la distribuzione F di Fisher dove. f1 . . i nostri dati dove i = 1. f2 . . N = i=1 Ni è il numero totale di valori. . in cui si campioni sono compatibili con avere lo stesso valore atteso.8 Analisi della varianza La più importante applicazione del test di Fisher consiste nell'analisi testa se con σ ng della varianza. ed F risulta essere il rapporto di due χ normalizzati. f2 ) (3. le variabili  dF = f1 f2 f1 /2  −(f1 +f2 )/2 Γ ((f1 + f2 )/2) f1 /2−1 f1 F 1+ F Γ(f1 /2)Γ(f2 /2) f2 ed ha valore atteso E(F ) = e varianza f2 (f2 − 2) 2f22 (f1 + f2 − 2) f1 (f2 − 2)2 (f2 − 4) (per f2 >2) (per (3.29) f2 >4) (3.30) Nel software R.33) 1/F < qF (1 − αs /2.

8. f2 = (N − ng ). Nel caso che (3. l'analisi della varianza consiste in un segue la distribuzione di Fisher con alternativa produce valori di F test QB .31).40) f1 = (ng − 1). Nell'ipotesi nulla.36) i=1 j=1 = ng Ni X X ng Ni ng Ni X X X X 2 (xij − xi ) + (xi − x) + 2 (xij − xi )(xi − x) 2 i=1 j=1 i=1 j=1 Poichè ng Ni X X i=1 j=1 (xij − xi )(xi − x) = i=1 j=1 possiamo separare Q ng X (xi − x) i=1 Ni X (xij − xi ) = 0 (3.it/service/Rdsets/ozono_boboli_2005. poiché si dimostra 2 t∆ segue una distribuzione di Fisher con f1 = 1. ci aspettiamo che segua la distribuzione con Si ottiene dunque che.41) Esempio 3. con pvalue = 1 − pF (F .39) i=1 Q/σ 2 χ2 N − 1 gradi di libertà. più alti.24. N − ng ) L'analisi della varianza può essere vista come una estensione al caso F = ng > 2 del test di ng = 2 i due tests sono del tutto equivalenti. 3.uni. le variabili xi sono anch'esse variabili normali con valore atteso pari a E(x) e varianza 2 2 2 pari a σ /Ni .La somma degli scarti quadratici è Q= ng Ni X X (xij − x)2 = i=1 j=1 = ng Ni X X [(xij − xi ) + (xi − x)]2 = (3. il rapporto F = QB QB (N − ng ) σ 2 (N − ng ) = 2 σ (ng − 1) QW (ng − 1) QW (3. e a una coda (cfr eq.rdata 89 .37) j=1 in un termine che dipende dagli scarti all'interno di ciascun gruppo QW ng Ni X X (xij − xi )2 ≡ (3. Student dell'eq. Inoltre. f2 = N − 2. ng − 1. nell'ipotesi nulla. Di 2 2 2 conseguenza QW /σ = (Q − QB )/σ seguirà la distribuzione χ con (N − ng ) gradi di libertà.38) i=1 j=1 ed uno che dipende dalle dierenze fra i gruppi QB ≡ ng X Ni (xi − x)2 (3. e dunque QB /σ dovrà seguire la distribuzione χ con (ng −1) gradi di libertà. Poichè qualunque ipotesi dunque di F .1 Misure di inquinamento al giardino di Boboli I dati nella tabella del le /afs/math. 3.

Cominciamo col visualizzare i valori salienti della distribuzione dei valori per ogni giorno della settimana."Sa".weekday = function() { ni=tapply(boboli$level.contengono i valori di concentrazione di ozono (in µg/m3 )."Fr".rdata") #ordiniamo i giorni della settimana giorno = ordered(boboli$wday. Ci chiediamo se ci sia una dipendenza dal giorno della settimana. giorno. utilizzando la funzione boxplot(): boboli=read.mi[giorno])^2) ng = nlevels(giorno) 90 . mean) Qb= sum(ni*(mi-ml)^2) Qw= sum((boboli$level .unifi."Su")) boxplot(boboli$level ~ giorno) Non essendo evidente dal graco la risposta al nostro quesito.table("/afs/math. eseguiamo un'analisi della varianza (si noti l'uso della funzione tapply() per il calcolo della media di ciascun gruppo): boboli. rivelati nel giardino di Boboli a Firenze con cadenza oraria nel corso del 2005."We".it/service/Rdsets/ozono_boboli_2005.levels=c("Mo". length) ml=mean(boboli$level) mi= tapply(boboli$level."Th". giorno."Tu".

1-pf(F. Il calcolo può essere eseguito più rapidamente. La regione accettata del test più potente si costruisce dunque tramite la condizione r≡ dove c(αs ) d (S|H0 ) > c(αs ) d (S|H1 ) (3.weekday() F= 6. Questo non è sempre possibile. codes: 0 '***' 0.054779e-06 Escludiamo dunque l'ipotesi nulla e concludiamo che il livello di ozono dipende dal giorno della settimana. a parità di αs .001 '**' 0. considerato nei paragra 3. Il fra le funzioni di likelihood nelle due ipotesi.120735 p-value= 2.01 '*' 0. ed in generale la scelta del test più potente può dipendere dall'ipotesi alternativa. In generale il test preferibile è quello più potente.' 0.43) .1207 2. con σ ssata.9 Il teorema di NeymanPearson Abbiamo visto nei nostri esempi come diversi tests possano essere eettuati per arontare uno stesso problema. Il criterio di NeymanPearson ci suggerisce il test Q P   P φG (xi |θ0 ) − i (xi − θ0 )2 + i (xi − θ1 )2 i Q = exp >c 2σ 2 i φG (xi |θ1 ) 1 si veda [1] per la dimostrazione 91 (3.6.05 '.42) è una costante da ssare in base alla signicatività voluta. data = boboli)) Df Sum Sq Mean Sq F value Pr(>F) wday 6 63883 10647 6. Ad esempio." p-value=". Il teorema di NeymanPearson 1 ci fornisce il criterio per determinare se un test è il più potente possibile per una data ipotesi nulla H0 ed una data ipotesi alternativa teorema aerma che la statistica di test ottimale è il rapporto r H1 .n = nrow(boboli) F = Qb / (ng . F.055e-06 *** Residuals 8753 15226156 1740 --Signif.4 e 3. Un test è detto uniformemente più potente se si può dimostrare che è il più potente indipendentemente dall'ipotesi alternativa. df2=n-ng).1) /(Qw/ (n-ng) ) cat("F=".1 ' ' 1 3.df1=ng-1. detto likelihood ratio."\n") } > boboli. utilizzando l'apposita funzione aov() di R: > summary(aov(level ~ wday. consideriamo il problema del test del valore atteso di una variabile normale.

(θ0 − θ1 ) non è ssato. In questi che dovrà essere indipendente dal campione su cui eettuare l'analisi di classicazione.θ e xi   X (θ0 + θ1 ) 2 2 0 > c00 2 xi (θ0 − θ1 ) − N (θ0 − θ1 ) > c =⇒ (θ0 − θ1 ) x − 2 i ovvero. non esiste un test uniformemente più potente. Consideriamo le due variabili indipendenti in entrambi i casi. Si assume che. alcune palline non vengono correttamente pressate e risultano avere una forma irregolare. ma dipendono da parametri che devono essere ottenuti empiricamente dai dati stessi. sulla base di un campione di training (le palle controllate manualmente che hanno un valore denito della variabile clas). misurati in modo automatico dalla catena di montaggio che le produce.it/service/Rdsets/tennisballs. che si deve basare unicamente sui valori di diametro e peso. z test a una coda. A causa di un difetto di produzione. scegliendo la coda destra o sinistra (θ0 − θ1 ). passando a log r ed eliminando i termini che non dipendono da (3.44) Si ottiene dunque che: ˆ la statistica di test da usare è ˆ ssato θ1 . Hi . per le palline prodotte correttamente. il criterio ottimale per separare ciascuna coppia di ipotesi è dato dal teorema di NeymanPearson. Cominciamo col confrontare visivamente la distribuzione delle due variabili utilizzando il campione di training 92 . In molti problemi pratici le ipotesi Hi non sono completamente specicate a priori. oppure un algoritmo per distinguere un aereo civile o militare sulla base delle osservazioni di un radar. casi è necessario disporre di un campione di training per stimare le d (x|Hi ). Un esempio può essere la classicazione di un campione di piante secondo la specie di appartenenza.10 x. vorremmo classicare i nostri dati separando gli elementi in base all'ipotesi più plausibile per ciascuno.5 g di peso). Assumiamo che il diametro misurato delle palline sbagliate abbia una distribuzione uniforme nell'intervallo fra 55 e 75 mm. il test più potente è lo in base al segno di ˆ se il segno di 3. 57.uni. Faremo dunque un test ad ipotesi multiple per ciascun elemento del campione. Ipotesi multiple: problemi di classicazione Consideriamo ora un campione di dati in cui ogni elemento è generato da una PDF Conoscendo le nh possibili ipotesi d (x|Hi ).rdata rappresentano i valori di diametro e peso di palline da tennis. le due variabili seguano una distribuzione gaussiana centrata intorno al valore nominale (65 mm di diametro.1 Un esempio di controllo qualità I dati tabulati nel le /afs/math.10. Vogliamo ottenere il miglior criterio di controllo di qualità automatico. mentre il peso segua una distribuzione gaussiana. Esempio 3. e stimare la purezza del campione che supera il criterio di qualità.

1:2]) dcor.rdata') training = tb[is.] good=training[training$clas=='OK'. in modo da poter assumere.5)) hist(bad$weig.0.bad = cor(bad[.table('/afs/math."\n") print(cor.add=T.0.unifi.good = (1-cor.na(tb$clas)==0.0.it/service/Rdsets/tennisballs.1)) hist(good$diam.bad^2) / sqrt(nrow(bad)) cat("Matrice di correlazione GOOD:".good) 93 .75.1)) Verichiamo anche che non ci siano correlazioni evidenti fra le variabili.5)) hist(bad$diam.0.5).] par(mfrow=c(2. per entrambe le classi good e bad: d (w.breaks=seq(55.border="red") hist(good$weig.border="red") par(mfrow=c(1.1:2]) dcor.good^2) / sqrt(nrow(good)) cor.good = cor(good[.bad = (1-cor.na(tb$clas)==1.60.5).tb=read.breaks=seq(55. d) = dw (w)dd (d) seecor = function() { cor.60.] bad =training[training$clas=='BAD'.breaks=seq(46.breaks=seq(46.add=T.75.] data = tb[is.

cat(" +/.as.w.]$wei) sigma.good = 57.01924485 0.]$weig) min.00000000 0.w.06071539 1.]$wei) (si noti l'uso della funzione sample() per estrarre casualmente metà delle righe dal dataframe. scegliendo a caso la metà dei valori nt = nrow(training) set.] # usiamo il primo campione per stimare i parametri del modello mu.".good = 65 sigma.00000000 +/diam weig diam 0.good = sd(tr1[tr1$clas == 'OK'."\n") print(dcor.w. e della funzione set."\n") print(dcor.".d.d.06071539 weig 0."\n") print(cor.bad = 55 max.000000000 +/diam weig diam 0.good) cat("\nMatrice di correlazione BAD:".03003999 weig 0.01924485 weig 0.002842401 weig 0.] tr2 =training[-acaso.bad = 75 mu.bad = sd(tr1[tr1$clas == 'BAD'.5 sigma.bad) cat(" +/.]$diam) mu.bad) } > seecor() Matrice di correlazione GOOD: diam weig diam 1.d. utilizziamo una metà del campione di training.00000000 Per stimare i parametri incogniti delle distribuzioni per i due campioni good e bad.002842401 1.d.w.seed(99) acaso=sample(1:nt.good = sd(tr1[tr1$clas == 'OK'.integer(nt/2)) tr1 =training[acaso.bad = mean(tr1[tr1$clas == 'BAD'.seed() per poter riprodurre la stessa sequenza pseudorandom nel caso di ripetuta esecuzione del codice) 94 .03003999 0.00000000 0.00000000 Matrice di correlazione BAD: diam weig diam 1.000000000 0.00000000 0.

Il test più potente per separare i due campioni è ottenuto con un taglio sul rapporto di
likelihood

tennis.loglikratio= function(d,w) {
log( (dnorm(d,mean=mu.d.good,sd=sigma.d.good)*
dnorm(w,mean=mu.w.good,sd=sigma.w.good)) /
(dunif(d,min=min.d.bad,max=max.d.bad) *
dnorm(w,mean=mu.w.bad,sd=sigma.w.bad) ))
}
Il criterio di qualità sarà dunque denito da

tennis.loglikratio(d, w) > k

dipende dalla signicatività/potenza che vogliamo ottenere.
valore 0 (r(good/bad)

k

k

è il

> 1).

Per valutare la purezza delle

p=

dove la costante

Una scelta naturale per

N0

palline che superano il taglio

0
Ngood
(1 − αs )Ngood
=
=
0
0
Ngood + Nbad
(1 − αs )Ngood + βNbad
1+

1
β
Nbad
(1−α) Ngood

è necessario stimare, utilizzando la seconda metà del campione di training, le probabilità di
errore di primo e secondo tipo

αs

e

β:

tr2.good= tr2[tr2$clas == 'OK',]
tr2.bad= tr2[tr2$clas == 'BAD',]
ll.good = tennis.loglikratio(tr2.good$diam,tr2.good$weig)
ll.bad = tennis.loglikratio(tr2.bad$diam ,tr2.bad$weig)
ll.data =

tennis.loglikratio(data$diam,data$weig)

computeAlfaBeta = function(cut = 0, speak=T) {
nok = nrow(tr2.good)
alpha = nrow(tr2.good[ll.good<cut,])/ nok
dalpha=sqrt(alpha*(1-alpha)/nok)
nbad = nrow(tr2.bad)
beta = nrow(tr2.bad[ll.bad >=cut ,])/ nbad
dbeta= sqrt(beta*(1-beta)/nbad)
if(speak) {
cat ("alpha=",alpha, " +/- ",dalpha,"\n")
cat ("beta=",beta, " +/- ",dbeta,"\n")
}
data.ratio = nrow(data[ ll.data < cut,]) /

nrow(data[ ll.data >= cut,])

p = (1-alpha) /(1-alpha + beta * data.ratio)
sigma.p = sqrt( ((1-alpha)* dalpha)^2 + (beta*data.ratio*dbeta)^2
(1-alpha+beta*data.ratio)^2
if (speak) {
95

) /

cat ("purezza=",p, " +/- ",sigma.p,"\n")
}
c(alpha,beta,p)

}
> computeAlfaBeta()
alpha= 0.004395604 +/- 0.001790550
beta= 0.02056075 +/- 0.006135237
purezza= 0.9991238 +/- 0.001795313
Per

k = 0,

otteniamo dunque

p = 0.999 ± 0.002

(si noti che l' errore standard in questo caso

dovrebbe essere sostituito con un calcolo più accurato dell'intervallo di condenza).
Per scegliere il criterio di qualità più opportuno in base alle nostre esigenze, è utile fare un

αs in funzione di β al variare del taglio. Aumentando il taglio k , aumenterà la
(1 − β), e dunque la purezza, ma anche la frazione αs di palline buone che vengono

graco di
potenza
scartate.

plotPerformances = function() {
al=c()
be=c()
pu=c()
i=1
cuts=seq(-3,3,0.2)
for (cut in cuts ) {
perf=computeAlfaBeta(cut,speak=0)
al[i]= perf[1]
be[i]= perf[2]
pu[i]= perf[3]
i=i+1
}
plot(al,be)
}

96

3.10.1 Discriminante lineare di Fisher
n variabili x per classicare il nostro campione, dobbiamo
conoscere la funzione densità ndimensionale d (x|Hj ) per costruire il rapporto r . Spesso questo
Nei casi in cui abbiamo a disposizione

risulta essere troppo complesso in pratica, a meno che le variabili non siano indipendenti e la
funzione possa essere fattorizzata, come nell'esempio 3.10.1:

d (S, d|Hj ) =

n
Y

di (xi |Hj )

(3.45)

i=1
Per un generico campione con variabili correlate possiamo comunque, nell'ipotesi in cui le
correlazioni possano essere approssimate a funzioni lineari, applicare una trasformazione lineare
in modo da ottenere un nuovo set di variabili indipendenti

y.

Questa operazione, detta

analisi

delle componenti principali (ACP) consiste semplicemente nel diagonalizzare la matrice di
correlazione

dove

x0

R:
U RU T = Λ

(3.46)

y = U x0

(3.47)

è il vettore delle variabili ridotte

x0i =
Λ
R

è la matrice diagonale degli autovalori
simmetrica.

xi − E(xi )
σ(xi )

λ1 = σ 2 (yi )

(3.48)

e

U

è una matrice ortogonale, essendo

Si noti che è raccomandabile diagonalizzare

R

anziché la matrice varianza

covarianza, per rendere il risultato indipendente da trasformazioni di scala delle variabili.
Questo procedimento è spesso usato nell'analisi esplorativa di un campione per ridurre il set di
variabili a quelle linearmente indipendenti. Infatti, una variabile ridondante può essere individuata da un autovalore molto minore rispetto agli altri. Nei problemi di classicazione bisogna
comunque valutare con attenzione se un autovalore piccolo è dovuto alla eettiva ridondanza
della variabile, o ad una caratteristica saliente del campione che potrebbe, al contrario, essere
essenziale per la potenza del test di classicazione.
L'analisi delle componenti principali ci permette, almeno in un'approssimazione al primo
ordine, di fattorizzare le funzioni densità e modellizzare più facilmente il rapporto di likelihood.
L'analisi

discriminante di Fisher fornisce un metodo più diretto, parente stretto della ACP,

per derivare la statistica di test opportuna a separare due ipotesi
la combinazione lineare

t,

detta

H0

e

H1 .

Si tratta di prendere

discriminante di Fisher

t=

X

ai x i = a · x

(3.49)

i
che massimizzi la quantità

[E(t|H0 ) − E(t|H1 )]2
J=
[σ 2 (t|H0 ) + σ 2 (t|H1 )]2
97

(3.50)

Length library(MASS) ldahist(iris$Petal.2 Il classico problema di classicazione dell' iris Il dataframe iris contiene i valori di quattro parametri morfologici per 150 ori di iris di tre diverse specie. Da un controllo visuale delle 4 variabili risulta evidente che la specie setosa può essere isolata dalle altre con un semplice taglio sulla variabile Petal.10. l'analisi di Fisher coincide con il test più potente. essendo r ∝ et . Esempio 3.L'idea è quella di proiettare i nostri dati sulla direzione nel piano ndimensionale che massimizza la distanza fra i baricentri delle distribuzioni per le due ipotesi. normalizzata con la propria varianza. La soluzione è a = k [V (x|H0 ) + V (x|H1 )]−1 [E(x|H0 ) − E(x|H1 )] dove k è una costante arbitraria e V (3. sulla base delle 4 variabili misurate.51) è la matrice varianzacovarianza. Vogliamo ottenere il miglior discriminatore lineare. iris$Species) 98 . per separare la specie versicolor dalle altre.1: Rappresentazione graca dell'analisi discriminante di Fisher Si dimostra che se le variabili seguono una distribuzione gaussiana multivariata e nelle due ipotesi hanno la stessa matrice di correlazione. Determineremo il criterio di separa- zione utilizzando la metà del campione (selezionandola casualmente) e usando l'altra metà per valutare gracamente la separazione ottenuta. Figura 3.Length.

train=myiris[samp.] # calcolo delle medie nelle due ipotesi mu0 = mean(myiris.] set.1:4]) v1 = var(myiris.train[myiris.Length>2.test =myiris[-samp.50) myiris.train$Species=="versicolor".train$Species=="virginica".train$Species=="virginica".1:4]) mu1 = mean(myiris.1:4]) #calcolo delle matirice var/cov nelle due ipotesi v0 = var(myiris.] myiris.Costruiamo dunque un discriminante lineare per separare l'ipotesi versicolor dall'ipotesi alternativa virginica: myiris=iris[iris$Petal.train$Species=="versicolor".1:4]) #calcolo dei coefficienti lineari a = solve(v0+v1) %*% (mu0-mu1) print(a) Possiamo a questo punto calcolare la funzione discriminante e osservare la separazione ottenuta sul campione di test: 99 .train[myiris.seed(99) samp=sample(1:100.train[myiris.5.train[myiris.

frame(myiris. Gli algoritmi numerici per addestrare un calcolatore a distinguere fra le varie ipotesi sono basati sul concetto di rete neurale (vedi.test = data.lda2=lda(Species ~ . non c'è una procedura generale per risolvere esattamente il problema. [6]).test$Species) Il discriminante può essere ottenuto in modo equivalente con la funzione di R lda(): iris.10. ad esempio.test[1:4]) %*% a myiris.prior=c(0.myiris. chiamato perceptron.matrix(myiris.2 Problemi non lineari Se le correlazioni fra le variabili non sono lineari. myiris.test. il pacchetto nnet [9] implementa il più semplice modello di rete neurale.1)/2) print(iris.fisher=discr) ldahist(myiris. 3. Nel software R.test$fisher. .1.discr = as.train.lda2$scaling) (i coecienti ottenuti dieriscono dal vettore a ottenuto in precedenza di un arbitrario fattore di scala). 100 .

ˆ il nostro campione è costituito da una serie di ˆ ci aspettiamo un errore casuale i N misure (yi . l'altezza riposo h0 . il cui valore atteso può dipendere da una o più variabili vettore x. t2 2 vorremmo ottenere la miglior stima di g e. indipendente da dove N ≥ np . x: yi = λ(xi . (x)i ) nella misura. h di un grave in caduta libera (nel vuoto) dalla posizione di dipende dal tempo secondo la legge h = h0 − g Misurando la variabile h per vari valori di t.1) parametri incogniti che vogliamo stimare dai dati stessi. Spesso il modello implica una dipendenza fra più variabili. 101 (4. un eventuale errore sulle variabili esplicative. per il momento.Capitolo 4 Modelli di dipendenza La misura di una grandezza sica o di un qualunque parametro nelle scienze sperimentali comporta tipicamente un'analisi statistica dei dati sulla base di un modello teorico che includa anche le incertezze nel processo di misura. mettendoci nelle seguenti ipotesi: ˆ si misura una variabile aleatoria esplicative. rappresentate dal ˆ y . θ) + i Trascuriamo. θ) dove θ rappresenta un set di np (4. In questo capitolo tratteremo il problema generale del t dei dati ad un modello di dipendenza. Ad esempio. vericare la compatibilità dei dati col modello ipotizzato. disponiamo di un modello di dipendenza E(y) = λ(x.2) . al contempo.

Nell'ipotesi nulla (ovvero. 4. oltre che di stimare i parametri di bontà del t.5 consiste in un semplice problema di algebra lineare se il nostro modello ha la forma λ(x. non nelle variabili esplicative: anche un polinomio di settimo grado è un modello lineare! Denendo un vettore λ tale che λi = λ(xi ). 4. giusticando così il (4.1 sia corretto) possiamo aspettarci che Pearson con (N − np ) gradi di libertà. e. Nel caso N > np . 102 .6) j=1 Si parla in tal caso di modello lineare. nel limite asintotico N → ∞.5) otteniamo gli stimatori minimizzando la somma principio dei minimi quadrati. di un modello lineare. θ) = np X aj (x)θj (4. la soluzione dell'eq.7 è valida anche nel caso di errori non indipendenti ma descritti da una distribuzione gaussiana multivariata.4. discusso nel prossimo paragrafo. degli scarti quadratici. θM Q ))2 σi2 (4. anche nel caso non lineare. in tal caso la funzione di likelihood è L(θ) = N Y i=1   (yi − λ(x1 . già postulato da Gauss.5 ci permette. (χ2 )min segua la distribuzione di Questo è rigorosamente vero nel caso.1 Principio dei minimi quadrati Gli stimatori di θ possono essere ottenuti dal principio di massima verosimigianza. θ))2 1 √ exp − 2σi2 2πσi log (L(θ)) = k − N X (yi − λ(x1 .3) χ2 : − λ(xi . di eettuare un test 2 χ 4.2 Modelli lineari La soluzione dell'eq. incogniti. Si noti che la linearità è nei parametri θ.4) 2σi2 i=1 Il massimo di (4.7) Vy è la matrice varianzacovarianza delle yi che nelle nostre ipotesi è una matrice diagonale1 1 la richiesta di indipendenza degli errori può essere rilasciata in quanto l'equazione 4. possiamo scrivere il χ2 come χ2 = (y − λ)T Vy−1 (y − λ) dove (4. Cominciamo col trattare il caso in cui le variabili yi sono gaussiane e indipendenti. assumendo che il nostro modello 4. θ))2 L si ottiene dunque minimizzando il PN i=1 (yi (χ2 )min = Nel caso omoschedastico. ovvero σi = σ ∀i.

Per il modello lineare deniamo una matrice

A,

detta

matrice del modello

Aij = aj (xi )

(4.8)

(χ2 )min = (y − AθM Q )T Vy−1 (y − AθM Q )

(4.9)

per cui l'eq. 4.5 diventa

la cui soluzione è la trasformazione lineare di

y

θM Q = AT Vy−1 A 

−1

AT Vy−1 y ≡ By

(4.10)

Gli stimatori ottenuti sono corretti, in quanto 

−1 T −1
A Vy Aθ = θ
E(θM Q ) = BE(y) = Bλ = BAθ = AT Vy−1 A

(4.11)

La matrice varianzacovarianza degli stimatori è data da (cfr eq. 1.56) 

−1
Vθ = BVy B T = AT Vy−1 A

(4.12)

che in generale non sarà diagonale: gli stimatori dei diversi parametri possono essere correlati.
Si noti che

e dunque

2 2



χ
1

AT Vy−1 A ij = .

2 ∂θi ∂θj .

θM Q .

∂ 2 log(L) .

.

=− .

∂θi ∂θj .

10 non dipende dunque da σ −1 AT (4. Il (χ2 )min avrà ancora valore atteso pari a (N − np ). Questo giustica l'uso del metodo dei minimi quadrati anche nel caso non gaussiano. (4.2. ma non seguirà in generale la distribuzione di Pearson. 2.2 Regressione lineare Nel caso frequente in cui non conosciamo a priori l'errore stesso per tutte le misure.10 è la più eciente fra tutti gli stimatori corretti lineari. Tuttavia. si ha 2 Vy = σ I .2. Questo tipo di analisi è chiamata regressione lineare ed è molto comune. gli stimatori ottenuti saranno comunque corretti se gli errori i hanno media nulla. ma possiamo assumere che sia lo e dunque per il calso lineare B = AT A La soluzione 4. 4.31). essendo le ipotesi 103 . il principio dei minimi quadrati non coincide più in generale con la soluzione ML.14) σ. il teorema di GaussMarkov [1] dimostra che la soluzione 4.1 Il teorema di Gauss-Markov Nel caso in cui gli errori non siano gaussiani. nell'ipotesi di errori scorrelati e omoschedastici. 4.13) θM Q è proprio l'inversa della matrice di informazione di Fisher (eq. Inoltre. Gli stimatori così ottenuti sono dunque ecienti.

4. grazie anche al teorema di GaussMarkov.10. possiamo far uso della formula di propagazione degli errori. in cui σ è ignota.15 e 4.20 è una stima della varianza.18) x. Un test quantitativo per mettere in luce un'eventuale dipendenza residua non tenuta in conto dal modello.16.20) k6=l Nell'ipotesi di errori gaussiani. soddisfatte in molti casi pratici.2. seguirà una distribuzione di Student con gradi di libertà. θM Q ))2 N − np i=1 (yi = (N − np ). 4.17) σ(θi ) è ottenuta dalle eq.fatte. Una stima di σ è invece necessaria per stimare l'errore sui parametri: Vθ = σ 2 BB T = σ 2 AT A −1 (4. divisi in gruppi in base ai valori delle variabili esplicative. Si può comunque fare residui ri = yi − λ(x.16) Si può vedere facilmente che questa  (4. In questo caso non è possibile eseguire un test χ2 una diagnostica del modello.21) . se la matrice degli errori Vy è nota. indipendentemennte dal valore di e varianza σ. anche lo stimatore λ0 seguirà una distribuzione normale.3 Predizione in base al modello La soluzione del t può essere utilizzata per estrapolare il modello ad un valore esplicative. (4. al suo valore atteso stima è corretta e indipendente dalla stima di La variabile ti = dove la stima (N − np ) σ(θi ) (θM Q )i − θi (4. l'eq.19) j=1 σ 2 (λ0 ) = np X 2 (aj (x0 )) σ 2 (θj ) + j=1 X ak (x0 )al (x0 )cov(θk . Nel caso di analisi di regressione lineare. possiamo usare PN σ2 che equivale a ssare χ2min − λ(x1 . θ. consiste in un'analisi della varianza dei residui. con la distribuzione attesa a media nulla E' utile quindi visualizzare i residui in funzione delle variabili esplicative.15) Analogamente allo stimatore 2. θM Q ) siano compatibili. e la quantità t(λ0 ) = (λ0 − λ(x0 )) σ(λ0 ) 104 (4. x' delle variabili Per calcolare l'errore sulla nostra predizione. θl ) (4. 4. che vale esattamente nel caso lineare: λ0 = np X aj (x0 )θj M Q (4. testando l'ipotesi che i di bontà del t.

28) Per l'errore sull'estrapolazione 4. tramite il calcolo numerico della 4.2.24) ed otteniamo dunque anche le covarianze fra le predizioni a diversi valori di x. N − np 2  (4.10 e 4.25) la soluzione prende il nome di retta dei minimi quadrati.seguirà la statistica di Student con livello αCL . L'errore sullo stimatore √ tende a zero come 1/ N .5 Modelli lineari in R Nel software R. 4.10. conviene usare la notazione matriciale A0ij = aj (x0i ): λ0 = A0 (x0 )θM Q (4. a.22) λ0 rappresenta lo stimatore del valore atteso di y(x).29) 4.12.4 Retta dei minimi quadrati Nel caso del semplice modello λ(x. con sulla predizione sarà dunque  λ0 ± σ ( λ0 )qt (1 + αCL ) . b) = a + bx (4.20 si ha  0 σ (λ0 ) = σ (a + bx ) = σy2 1 (x0 − x)2 P + 2 N i (xi − x)  (4. Il modello 4.1 è espresso tramite la sintassi y ∼ I(a1 (x)) + I(a2 (x)) + . tuttavia ogni singola misura di y sarà soggetta ad un errore σ attorno Si noti che che al suo valore atteso. 2 2 (4. 105 . si ottengono le formule P P P P ( x2i )( yi ) − ( xi )( xi yi ) P P a= N x2i − ( xi )2 P P P N xi yi − ( xi )( yi ) P P b= N x2i − ( xi )2   2 1 x x P P  + (δi )2 − (δi )2  V (a. (N − np ) gradi di libertà. .23) V (λ0 ) = A0 (x0 )Vθ A0 (x0 )T (4. b) = σy2  N  P1 2 − P(δx )2 (δi ) i dove P x = ( xi )/N . 4. Nel caso in cui x0 rappresenti un set di più valori delle variabili esplicative. Scrivendo esplicitamente le eq.2. L'intervallo di condenza.27) (4. la funzione lm() permette di risolvere ts lineari.26) (4. δi = xi − x. .

cov. Esempio 4. ). resid(t) il vettore dei residui. L'oggetto restituito da lm() può essere processato da diverse funzioni: coef(t) ritorna un vettore con le stime dei parametri.it/service/Rdsets/cadutalibera.1)) cg=read. del t.uni. si usi la sintassi y ∼ 0+ I(a1 (x)) + . assumendo il caso omoschedastico con σ ignota. Risol- viamo l'analisi di regressione lineare minimizzando lo scarto quadratico medio in funzione dei parametri incogniti h0 e g: par(mfrow=c(2. rinormalizzando gli errori su y in modo che χ2 abbia il suo valore atteso.2. Vogliamo nell'ipotesi di errori gaussiani e costanti sulle misure t. se l'argomento weights non è specicato. i pesi hanno valore 1 e si ottiene la somma dei residui al quadrato. E' possibile specicare gli errori sulle yi tramite l'argomento weights.table("/afs/math. per il modello λ = θ0 + θ1 x2 + θ2 [log(x) + 1] f it = lm(y ∼ I(x2 ) + I(log(x) + 1)) La funzione fa per default un'analisi di regressione lineare.unifi. . I dati possono essere descritti dal modello lineare h = h0 − gt2 /2 +  dove  rappresenta l'errore casuale che segue una distribuzione gaussiana con σ ignota.it/service/Rdsets/cadutalibera. Ad esempio. dei parametri.rdata") attach(cg) # visualizziamo la dipendenza fra i valori di altezza e tempo plot(altezza ~ tempo) n=length(altezza) # creiamo la matrice del modello 106 . vcov(t) la matrice var. che rappresenta 2 il vettore 1/σi . Si noti che questa viene sempre stimata. anche nel caso di weights 6= 1.rdata mostra i risultati di un esperimento in cui l'altezza vuoto è misurata a diversi tempi t misurare l'accelerazione gravitazionale di h h (in m) di un peso in caduta libera nel (in s) a partire da una posizione di riposo g ed errori trascurabili sulle misure di h0 . . predict(t) le predizioni deviance(t) riporta il λi χ2 del t.che di default aggiunge un parametro intercetta θ0 (per evitarlo.1 Caduta di gravi La tabella nel le /afs/math.

"\n") cat("g=".sigma."\n") # stima dell'errore sui parametri V.theta[2]." +/.A= matrix( nrow=n.01 g = 10.3 107 .data=c(rep(1.h * K sigma." +/.".theta = sqrt(diag(V.theta[2].add=T.h).h = sum(residui^2)/(n-2) cat("errore stimato su h:".".sqrt(var."\n") otteniamo h0 = 2.theta = var.-tempo^2/2)) K = solve(t(A) %*% A) # ricaviamo il vettore theta con la stima dei parametri h0 e g theta = K %*% t(A) %*% altezza # disegniamo la funzione ottenuta dal fit curve(theta[1]-theta[2]*x^2/2.ncol=2.theta[1].sigma.10 ± 0.2 ± 0.theta)) cat("h0=".col="blue") # stima dell'errore su h residui = altezza .A %*% theta # visualizziamo i residui in funzione del tempo plot(residui ~ tempo) var.theta[1].n).

y^2 cat("chi2=". Error t value Pr(>|t|) (Intercept) 2.01057 198.69 2.02358 on 10 degrees of freedom Multiple R-Squared: 0.n)) chi2 = deviance(fit) Intervallo di condenza sulla predizione del t Stimiamo ora il valore atteso di con livello h al tempo t0 = 0.03 m. se non avessimo voluto includerla avremmo scritto lm(altezza ~ 0 + I(tempo^2)) Test χ2 sul t Eseguiamo un test della bontà del t sapendo che lo strumento con cui si misurano le altezze ha una risoluzione di 3 cm.05 '. 108 .80 ci conferma la validità del modello.24337 0.Il graco che mostra i residui in funzione di t ci permette di vericare l'assenza di una eventuale dipendenza residua non inclusa nel modello.6 s e il corrispondente intervallo di condenza α=0.9901.32325 31.y^2.041615 -0.033711 Coefficients: Estimate Std. Adjusted R-squared: 0.95%.36 < 2e-16 *** I(-tempo^2/2) 10.df=n-2).009098 0.010776 0.1-pchisq(chi2.9892 F-statistic: 1004 on 1 and 10 DF.chi2. data = cg) Residuals: Min 1Q Median 3Q Max -0. La funzione lm() di R ci permette di svolgere il calcolo con un'unica chiamata: > summary(lm(altezza ~ I(-tempo^2/2)." gradi di liberta'\n" ) cat("p-value = ".y = 0.003080 0. weights=rep(1/sigma." con ".1 ' ' 1 Residual standard error: 0.n-2. h possono essere specicati nella funzione lm() di R tramite l'argomento 2 che rappresenta il vettore dei pesi 1/σh : Gli errori su weights fit = lm(altezza ~ I(tempo^2/2). possiamo ora calcolare il χ2 del t e il corrispondente p-value: sigma.303e-11 Si noti che nella formula che descrive il modello l'intercetta h0 è implicita. Conoscendo σh = 0.' 0.30e-11 *** --Signif. codes: 0 '***' 0. p-value: 2.09758 0.03 chi2 = sum(residui^2)/sigma.01 '*' 0.001 '**' 0."\n") Il valore ottenuto p-value=0.data=cg)) Call: lm(formula = altezza ~ I(-tempo^2/2).

2537696 +/. .pred.pred = sqrt(A.6. il gradimento di un certo prodotto. data=UScrime) 109 Ineq . Il graco attach(MASS) plot(y ~ Ineq.95 Al solito.level=0. " +/.df=n-2) cat("h(". L'intervallo di condenza è dunque ottenuto come segue: mypred = function(tprime=0. R prevede una funzione predict() per fare questo calcolo in una sola chiamata: > > myfit = lm(altezza ~ I(-tempo^2/2).data=c( 1.2. che contiene una serie di rilevazioni statistiche nei vari stati degli USA.0.6).tprime %*% V. Esempio 4.E(h(t0 )) La stima di è ovviamente ¯ 0 ) = h¯0 − g¯t02 /2 = A(t0 )θ h(t dove A(t0 ) è la matrice del modello calcolata nel punto t0 e θ il vettore (h0 .h.interval="confidence".Nsigma*sigma.alpha. La stima della sua varianza è ottenuta da ¯ 0 )) = σ σ ¯ 2 (h(t ¯ 2 (h0 ) + (t02 /2)2 σ ¯ 2 (g) + 2(−t02 /2)cov(h0 .2537696 0.95) h( 0.1411276 0.pred.2 Regressione lineare esplorativa nel caso multivariato Usando i dati nel dataframe U Scrime (pacchetto MASS)."\n") } > mypred(0. g).95) fit lwr upr [1.= 0.tprime)) Nsigma = qt((1+alpha)/2.1126419 C. il tasso di criminalità. g) = A(t0 )Vθ AT (t0 ) (L'espressione matriciale ci permette di estendere le formule al caso in cui t0 è un vettore di valori. .6.newdata=(tempo=0. h(t La variabile ¯ 0 ) − E(h(t0 )))/¯ ¯ 0 )) t(h(t0 )) = (h(t σ (h(t segue una distribuzione di Student con N −2 gradi di libertà.alpha=0.0." C.pred= A.] 0.-tprime^2/2)) h. vogliamo determinare quantitativamente la possibile dipendenza del rate di crimini y variabile prodotto interno lordo dal livello di ineguaglianza GDP .tprime. quando si vogliono studiare empiricamente le possibili dipendenze di una variabile (l'incidenza di una malattia. tenendo conto o meno della . nel qual caso l'ultima l'espressione diventa la matrice varianza/covarianza delle predizioni ¯ 0 )).data=cg) predict(myfit.".6 )= 0.=".tprime %*% theta sigma.95) { A. ) da un set arbitrariamente grande di possibili variabili esplicative.L.L.tprime= matrix( nrow=1.ncol=2.")=".theta %*% t(A.3664115 L'analisi di regressione lineare è molto usata nelle analisi esplorative.

0000000 # e il loro errore: > sqrt( (1-cor(UScrime[.1790237 0.c("y".non mostra una evidente correlazione fra le due variabili.736 1.4413199 -0. Error t value Pr(>|t|) (Intercept) 1241. data = UScrime) Median 3Q Max -30.8839973 1."Ineq".c("y".221 0. Esploriamo dunque il modello lineare y = y0 + θ · Ineq +  > summary(lm(y ~ Call: lm(formula = y ~ Residuals: Min 1Q -658."GDP")]) y Ineq GDP y 1.412 6."Ineq".54 -271.75 1017.06 Coefficients: Estimate Std.0000000 -0.02 183.8839973 GDP 0. e non possiamo dunque aermare di aver messo in evidenza una dipendenza fra le due variabili.0000000 -0. Se ora consideriamo la variabile GDP .4413199 Ineq -0. tuttavia il test di Student dell'ipotesi θ = 0 pvalue = 23 %.38 Ineq. data=UScrime)) Ineq."GDP")])^2) / length(UScrime$y)) y Ineq GDP 110 .1790237 1.229 Otteniamo eettivamente un valore negativo per dà θ.33e-05 *** Ineq -1.422 -1.773 281. notiamo che questa è evidentemente correlata con le altre due variabili: # valutiamo i coefficienti di correlazione lineare > cor(UScrime[.478 4. anche se suggerisce una possibile anticorrelazione.

t2.000364 *** GDP 5.s1.757 0.rho) { -1/(2*(1-rho)) * ( (t1-theta1)^2/s1^2 + (t2-theta2)^2/s2^2 2*rho* (t1-theta1)/s1 *(t2-theta2)/s2) } 111 .047 968.0000000 0.06819072 0.09 -16. Il seguente codice disegna le ellissi corrispondenti a θ2 ).00000000 Verichiamo allora una possibile dipendenza di GDP con una semplice ipotesi y = y0 + θ1 · Ineq + θ2 · GDP +  denza da y da Ineq dopo aver tenuto conto della dipen- lineare: > summary(fit <.192 1.8839973 GDP -0.863 0. 86.692 -3.14350851 0. data = UScrime) Residuals: Min 1Q Median 3Q Max -610. nell'ipotesi di errori gaussiani.32e-06 *** Vista la forte correlazione fra GDP e Ineq . Error t value Pr(>|t|) (Intercept) -3639.0000000 Essendo comunque i due parametri signicativamente diversi da 0.002 5. ci aspettiamo che i due parametri θ1 e θ2 siano pure correlati: > cov2cor(vcov(fit)) (Intercept) Ineq GDP (Intercept) 1. possiamo concludere di aver messo in evidenza una correlazione positiva fra y e Ineq per stati con lo stesso prodotto interno lordo.0000000 0.9660638 -0.theta1.13089192 Ineq 0.01 108.06819072 GDP 0.8839973 1. data=UScrime)) Call: lm(formula = y ~ Ineq + GDP.9 % mylik = function(t1.000503 *** Ineq 9. 3.lm(y ~ Ineq + GDP.69 Coefficients: Estimate Std.s2.5 %. che nel caso bidimensionale corrisponde agli intervalli di condenza 39.1308919 0.09 -193. è denito dai punti all'interno dell'ellisse di covarianza per cui 1 ¯ T V −1 (θ − θ) ¯ < N 2 /2 log(Lmax ) − log(L(θ1 .364 2.9660638 1. θ2 )) = (θ − θ) σ θ 2 dove L è la funzione di likelyhood e θ è il vettore (θ1 .179 5. 2.05 814.00000000 0.9728075 0.9728075 Ineq -0.theta2. Possiamo visualizzare il risultato disegnando l'intervallo di condenza per θ1 e θ2 .424 3.y 0.1435085 0.0000000 -0. 98.3 %. che. Nσ = 1.

15. outer(x.1) y=seq(-2.3) theta1=coef(fit)["Ineq"] theta2=coef(fit)["GDP"] s1=sqrt(vcov(fit)["Ineq"."GDP"] x=seq(-2.s1=s1.partial=T.. Possono essere visualizzati tramite la funzione termplot(fit. theta2=theta2.nsigma=c(1.15.se=T) 112 termplot() . xlab=expression(theta[1]). levels = -nsigma^2/2 .1) contour(x..rho=rho)."Ineq"]) s2= sqrt(vcov(fit)["GDP"."GDP"]) rho = cov2cor(vcov(fit))["Ineq".ylab=expression(theta[2])) I residui parziali rIneq = y − (y0 + θ2 · GDP ) rGDP = y − (y0 + θ1 · Ineq) permettono di visualizzare la dipendenza residua da ogni singola variabile dopo aver tenuto conto delle altre variabili del t.y. theta1=theta1.mylik.y.2.s2=s2.

6 Analisi della covarianza Nelle analisi di tipo esplorativo può aver senso chiedersi se i dati mostrano o meno una dipendenza signicativa dalle variabili esplicative. ed eseguire un'analisi della varianza (cfr. 3.2. assumendo errori gaussiani su y .Sottolineiamo inne il fatto che i risultati di queste analisi di regressione possono mettere in evidenza le mutue dipendenze fra le variabili. QE /σy e QV /σy 2 seguono una distribuzione χ con. e dunque Q = QE + QV (4. possiamo estendere l'analisi della varianza sostituendo i valor medi di ciascun gruppo con i valori Q= = N X i=1 N X λi predetti dal t (yi − y)2 = [(yi − λi ) + (λi − y)]2 = (4. (N − np ) e (np − 1) gradi di libertà. 2 2 Nell'ipotesi nulla (E(y) indipendente da x). 4. par.30) i=1 = N X i=1 (yi − λi )2 + N X (λi − y)2 + 2 i=1 N X (yi − λi )(λi − y) i=1 Si dimostra che anche in questo caso il terzo termine si annulla. dove 113 . rispettivamente.31) P 2 QE = N i=1 (yi − λi ) quantica gli scarti rispetto al valore atteso dal t. Nel caso più generale di un t lineare con un numero qualsiasi di variabili esplicative. Se abbiamo una variabile esplicativa discreta possiamo suddividere i nostri dati in tanti gruppi quanti sono i possibili valori di W W. e PN QV = i=1 (λi − y)2 le variazioni dovute al modello di dipendenza. .8). ma non potranno mai dimostrare un rapporto di causaeetto! Il modello deterministico delle dipendenze è lasciato all'interpretazione dell'analista. .

f2 = (N − np ) QV (N − np ) (np − 1) QE su (4. si possa ottenere un F maggiore di quello osservato.1. Nel software R il comando summary() sul risultato di lm() riporta una tabella con il risultato 2 dell'analisi della covarianza. λ2 (x) = λ1(x) + f2 (x) che aggiunge al pre- Ad esempio. Una variante della ANCOVA è usata anche per confrontare. sullo stesso campione di dati. I valori λi1 sono già stime E(yi ). Si noti che per la retta dei minimi quadrati (xi − x)(yi − y)]2 P (R )rmq = P i ( i (xi − x)2 ) ( i (yi − y)2 ) [ 2 P (4. nell'ipotesi nulla.35) [(yi − λi2 ) + (λi2 − λi1 )]2 = i=1 = QE2 + Qδ dove Qδ = PN i=1 (λi2 − λi1 )2 .32) viene spesso usato anche il parametro R2 = QV Q (4. Tuttavia il solo valore di R2 . Ci aspettiamo dunque: 2 QE1 /σy ∼ χ2 (N − np1 ). e dunque Qδ /σy2 ∼ χ2 (np2 − np1 ). Anche in questo caso. QE2 /σy2 ∼ χ2 (N − np2 ). per capire se valga la pena aggiungere un parametro al modello.2. consiste dunque in un test di Fisher con con F = Per quanticare la dipendenza fra y e x f1 = (np − 1). come pure λi2 . il cui pvalue rappresenta la probabilità che.34) formalmente analogo al quadrato dello stimatore del coeciente di correlazione. poiché la minimizzazione ha un grado di libertà supplementare. un modello λ1 (x) a np1 parametri con un modello cedente alcuni parametri: proporzionale a QE 3 t np2 > np1 . che possiamo pensare come un limite continuo della ANOVA. come pure il valore di R . Prendiamo come ipotesi nulla il caso in cui il primo modello è già corretto e il secondo non porta dunque cambiamenti signicativi. Possiamo chiederci se questa diminuzione sia signicatva o meno. da solo non basta a dare un'interpretazione probabilistica del risultato come nel caso della ANCOVA. la cui statistica dipende dal caso in questione. potremmo pensare di aggiungere un termine nel nostro esempio di caduta dei gravi 4.Questa analisi della covarianza (ANCOVA). possiamo dividere QE in due termini distinti: QE1 N X = (yi − λi1 )2 = = i=1 N X (4.33) che è compreso fra 0 (dipendenza minima) e 1 (dipendenza massima). Nell'ipotesi nulla le dierenze fra le due soluzioni sono dovute solo alle corrette di 114 . La somma dei residui quadratici sicuramente diminuisce.

F. (N − np ) gradi di libertà.8 · 10−11 dimostra la dipendenza fra le variabili.df1=np-1. valutiamo l'ipotesi nulla che la variabile hard e tens. y = θ0 + θ1 g(x) +  l'analisi della covarianza è equivalente al test di Student dell'ipotesi esempio nel caso 115 θ1 = 0.2.3 su Qδ (N − np2 ) (np2 − np1 ) QE2 (4.df2=N-np)." p-value=". ad . Nell'ipotesi nulla. e non ad un miglioramento del modello di dipendenza. Q= X (yi − y¯)2 = i dove λi X (yi − λi )2 + i X (λi − y¯)2 = Qw + Qb i sono i valori ottenuti dal t lineare variando gli np parametri. library(MASS) fit1=lm(loss~hard + tens. f2 = (N − np2 ) Rubber (pacchetto MASS). la variabile F = segue una distribuzione di Fisher con Qb /(np − 1) Qw /(N − np ) (np − 1). con F = t2 . non dipenda dalle variabili Si vogliono inoltre confrontare i modelli M 1 : loss = θ0 + θ1 hard + θ2 tens +  M 5 : loss = θ0 θ1 hard + θ2 tens + θ3 tens2 + θ4 tens3 + θ5 tens4 + θ6 tens5 +  determinando se il secondo modello migliora signicativamente la stima dei valori attesi loss(hard.data=Rubber) np=3 N=length(Rubber$loss) Qb=sum((fit1$fitted. Testiamo l'ipotesi nulla tramite un'analisi della covarianza del modello M1. tens). Si noti che il risultato di questa analisi è riportato anche dalla chiamata summary(f it1)."\n") Il valore del pvalue=1. Si noti anche che nel caso di un singolo parametro di dipendenza (retta dei minimi quadrati).1-pf(F.uttuazioni degli errori su y. escludendo l'ipotesi nulla. Testiamo allora l'ipotesi nulla con un test di Fisher con F = Esempio 4.values-mean(Rubber$loss))^2) Qw=deviance(fit1) F = Qb/(np-1) / ( Qw/(N-np) ) cat("F= ".36) Confronto fra modelli empirici Usando i dati nel dataframe loss f1 = (np2 − np1 ).

F = 2.05 '.9962 3.737 on 1 and 28 DF. Adjusted R-squared: 0.df2=N-np5). Error t value (Intercept) 305.000688 *** 0.109232 '*' 0.1092 si ha t = −1.919 Median 2.795 3Q Max 61.4347 -1. p-value: 0."\n") Lo stesso risultato è riprodotto da > anova(fit1." p-value=".data=Rubber)) Call: lm(formula = loss ~ tens.> summary(lm(loss~tens.1-pf(F.56 on 28 degrees of freedom Multiple R-Squared: 0.08904.815 tens -0.73 = t2 e il pvalue di entrambi i tests è pari a 0.0565 F-statistic: 2.7192 0. Per il confronto fra i modelli M1 e M5.640 -59.654 --Signif.2248 79.001 '**' 0.01 Pr(>|t|) 0.1 ' ' 1 Residual standard error: 85.df1=np5-np1.data=Rubber) np5=7 Qb=sum((resid(fit1)-resid(fit5))^2) Qw5=deviance(fit5) F = Qb/(np5-np1) / ( Qw5/(N-np5) ) cat("F= ".285 Coefficients: Estimate Std. possiamo usare ancora un'analisi di covarianza scomponendo i residui del primo t: Qw1 = X (yi − λi1 )2 = i X (yi − λi5 )2 + i F = X (λi1 − λi5 )2 = Qw5 + Qb i Qb /(np5 − np1 ) Qw5 /(N − np5 ) library(MASS) N=length(Rubber$loss) fit1=lm(loss~hard + tens.654.fit5) Analysis of Variance Table Model 1: loss ~ hard + tens 116 .1092. codes: 0 '***' 0.' 0.F.data=Rubber) np1=3 fit5=lm(loss~hard + tens + I(tens^2) + I(tens^3)+ I(tens^4)+ I(tens^5).221 183. data = Rubber) Residuals: Min 1Q -155.

Model 2: loss ~ hard + tens + I(tens^2) + I(tens^3) + I(tens^4) + I(tens^5) Res.80)) plot(resid(fit5) ~ Rubber$tens.fit1 ~ Rubber$tens) curve(coef(fit1)[3]*x.fit1=Rubber$loss .' 0.80)) par(mfrow=c(1.001 '**' 0.col="red" ) plot( partial.294 6.( coef(fit1)[1] + coef(fit1)[2]*Rubber$hard) partial.fit5=Rubber$loss .data=Rubber) partial.ylim=c(-80.286e-05 *** --Signif.col="red" ) plot(resid(fit1) ~ Rubber$tens.( coef(fit5)[1] + coef(fit5)[2]*Rubber$hard) plot( partial.ylim=c(-80.01 '*' 0.fit5 ~ Rubber$tens) curve(coef(fit5)[3]*x+coef(fit5)[4]*x^2+coef(fit5)[5]*x^3+ coef(fit5)[6]*x^4+coef(fit5)[7]*x^5. come si può anche valutare visivamente dal confronto dei residui: par(mfrow=c(2.add=T. codes: 0 '***' 0.data=Rubber) fit5=lm(loss~hard + tens + I(tens^2) + I(tens^3)+ I(tens^4)+ I(tens^5).05 '.Df RSS Df Sum of Sq F Pr(>F) 1 27 35950 2 23 12884 4 23065 10.add=T.1)) 117 .2)) library(MASS) N=length(Rubber$loss) fit1=lm(loss~hard + tens.1 ' ' 1 Il modello M5 è dunque signicativamente migliore di M1.

add=T) 118 .W idth +  plot(Petal.2. I dati suggeriscono una dipendenza lineare P etal.Length = θ0 + θ1 P etal.Length ~Petal.W idth P etal.Length ~ Petal.Length dalla variabile per i dati nel dataframe iris.data=iris) cf=coef(lm1) curve(cf[1]+cf[2]*x.data=iris.Esempio 4.Width.col=palette()[iris$Species]) lm1=lm(Petal.Width.4 Regressione lineare con variabili categoriali Supponiamo di voler modellizare la dipendenza della variabile P etal.

Le funzioni di R permettono di eseguire un t in cui uno o più parametri possono dipendere da una variabile categoriale (factor). pendenza dipendente dalla specie lm2=lm(Petal.Length ~ 1 + Species:Petal.col=1.Length ~ Species .lty=2) curve(cf[2]+cf[4]*x.add=T.add=T.data=iris) cf=lm2$coefficients curve(cf[1]+cf[2]*x.1 + Petal.lty=2) 119 .col=3) # pendenza comune. Possiamo dunque far dipendere θ0 o θ1 dalla specie: plot(Petal.Possiamo ora cercare di migliorare il modello tenendo conto di una eventuale dipendenza dei parametri dalla specie (si noti l'argomento col = palette()[iris$Species] della funzione plot che permette di disegnare i punti con colore diverso a seconda della specie).Width.lty=2) curve(cf[3]+cf[4]*x.add=T.col=palette()[iris$Species]) # intercetta comune.add=T.add=T.col=2.data=iris.Width. intercetta dipendente dalla specie lm3=lm(Petal.add=T.col=1) curve(cf[1]+cf[3]*x.col=2) curve(cf[1]+cf[4]*x.Length ~ Petal.Width.col=3.data=iris) cf=lm3$coefficients curve(cf[1]+cf[4]*x.

(si noti la sintassi Species . ((θ0 )3 − (θ0 )1 ).137e-16 *** 120 .845 20.267e-09 *** --> anova(lm1.lm3) Analysis of Variance Table Model 1: Model 2: Res.Length ~ Species . R avrebbe aggiunto un'intercetta comune e il risultato sarebbe ma i parametri del t sarebbero stati (θ0 )1 .563 2 8.282 23.Length ~ Petal.65 1. -1.Width RSS Df Sum of Sq F Pr(>F) 33.Df RSS Df Sum of Sq F Pr(>F) 1 148 33.Df 1 148 2 146 Petal. l'aggiunta di 2 per ottenere un'intercetta Se avessimo omesso il termine stato equivalente.1 (θ0 )j (j = 1.011 45. 3) dipendente dalla specie. L'analisi della parametri rispetto al modello lm1 è giusticata > anova(lm1.) varianza ci suggerisce che per entrambi i modelli lm2 e lm3.Length ~ 1 + Species:Petal.833 2 13.Width Res. ((θ0 )2 − (θ0 )1 ).Length ~ Petal.591 4.lm2) Analysis of Variance Table Model 1: Petal.Width Model 2: Petal.Width Petal.1 + Petal.845 2 146 25.

Length ~ Species .Length ~ Species .0006525 *** --Signif. codes: 0 '***' 0.Width Res.Width.add=T.col=2.add=T.8334 2 144 18.e fra i due il modello lm3 è evidentemente il migliore.add=T.lm4) Analysis of Variance Table Model 1: Petal. i due parametri aggiuntivi sembrano giusticati: > anova(lm3.col=palette()[iris$Species]) # pendenza e intercetta dipendente dalla specie lm4=lm(Petal.' 0.Length ~ Petal.lty=3) curve(cf[2]+cf[5]*x.001 '**' 0.data=iris) cf=lm4$coefficients curve(cf[1]+cf[4]*x.8156 2 2.lty=3) curve(cf[3]+cf[6]*x.1 ' ' 1 121 .Length ~ Species .01 '*' 0. Possiamo inne far dipendere entrambi i parametri dalla specie (equivalente a fare 3 ts indipendenti per ciascuna specie) plot(Petal.05 '.7213 0. avendo una minore P (yi − λi )2 a parità di gradi di libertà.col=3.1 + Species:Petal.0178 7.col=1.1 + Petal.Df RSS Df Sum of Sq F Pr(>F) 1 146 20.Width.lty=3) Anche in questo caso.data=iris.Width Model 2: Petal.1 + Species:Petal.

In questo caso ci aspettiamo che i conteggi ki misurati in ogni intervallo i seguano una distribuzione di Poisson con valore atteso N (Ei ). valore λ(xi . σ(ki ) = Il risultato può essere distorto a causa dell'approssimazione √ ki : il peso sarà sovrastimato per i conteggi che hanno uttuato verso il basso e viceversa. θM Q ) 2 1/σ(ki ) Tuttavia. θ) rispetto alle variabili θ .it/service/Rdsets/gaussconfondo. Esempio 4. σ = 0.2 GeV.2 GeV. il predetto dal t fornisce una stima più accurata del valore atteso λ(xi . cosa che può essere tecnicamnete laboriosa. Per semplicare il calcolo.rdata secondo il modello N = Nb + α exp(−(E − µ)2 /(2σ 2 )) dove N è il numero atteso di eventi in un intervallo di energia centrato in E di larghezza 0. tuttavia nel limite di k √ ki può essere sucientemente precisa. La soluzione generale dettata dal principio di massima verosimiglianza consiste nel massimizQN zare L = i=1 d (xi . Nb . e sul modello ipotizzato.5 Fit di un picco gaussiano in presenza di fondo Eseguiamo un t delle misure di energia (in GeV) contenute nel le /afs/math. e inoltre la distribuzione di ki grandi. e possiamo stimare i parametri minimizzando PN  χ2 = i=1 ki − (N R 2 d (x. Notiamo che il modello è lineare nei due parametri incogniti. Possiamo dunque dare una prima stima della 2 varianza σ (ki ) = ki e ottenere un primo t minimizzando χ2(0) P = i (ki − N (Ei . ovvero mettendo i dati in un istogramma ed eseguendo un t sui valori dei conteggi ki in ciascun intervallo Ii . anziché su un singolo conteggio. soprattutto nel caso di molti parametri. Il numero di gradi di libertà del t sarà gli np (N − np − 1). Vogliamo ricavare la migliore stima di Nb e α sapendo che µ = 5. Per vericare la possibile distorsione possiamo allora migliorare la stima delle σi e ripetere il t.2. In questa ipotesi siamo dunque nella stessa situazione del paragrafo 4. θ)dx.uni.2. θ). α))2 ki 122 . possiamo dunque risolvere il problema analiticamente utilizzando la semplice soluzione 4.4.37) ki Nel caso di un modello lineare. poiché si basa su tutti i valori. Il modello ki sia distribuito secondo la statistica di Poisson con valore atteso e varianza pari a λi (θ) = N d (x. ed eseguire un test di bontà del t. misure indipendenti di una variabile alea- da cui vogliamo stimare i parametri liberi della sua funzione densità d (x.3 GeV.10. θ). Ii In questo caso la varianza dei valori dipende anch'essa dai parametri. θ)dx) Ii (4. la stima σ(ki ) = prevede che ciascun R tende a quella normale. possiamo fare un t binnato. avendo usato i dati sia per stimare parametri che per normalizzare le predizioni al valore N di misure. 2 procedendo in modo iterativo no alla convergenza di χmin .1.7 Fit di un istogramma N Supponiamo di avere un campione costituito da toria x.

sqrt(diag(vcov(fit))). α))2 2 χ(r) = i N (Ei . sd=sigma)*deltax). i valori dei conteggi ottenuti dal t saranno una miglior 2 stima di σ (ki ).1-pchisq(chisq.theta. p-value=". 0." #########\n") if (iter == 0) { dk2=k } else { dk2=predict(fit) } fit = lm( k ~ I(dnorm(x. Procediamo dunque in modo iterativo.col=(iter+1) ) chisq = deviance(fit) cat ("chi2=".df=n-2). sd=sigma)*deltax. α ¯ (r−1) ) histofit = function() { sam=scan("/afs/math.10.".Assumendo la correttezza del modello.l.d.n-2."\n") cat(" +/." g.0.it/service/Rdsets/gaussconfondo.iter."\n") curve( theta[1] + theta[2] *dnorm(x.add=T.2)) x=h$mids k=h$counts n=length(k) deltax=h$breaks[2]-h$breaks[1] chisq=99999 chisqold=2*chisq deltachi=length(scan)/50 while ((chisqold-chisq)>deltachi ) { chisqold=chisq cat("######### Iterazione ".2 sigma=0. Nb . N¯b(r−1) .breaks=seq(0. no ad ottenere una convergenza del 2 valore di χ : P (ki − N (Ei . mean=mu.chisq." con ". weights=1/dk2 ) theta = coef(fit) cat("theta="."\n") iter=iter+1 readline() } } > histofit() ######### Iterazione 0 ######### 123 .10.3 h=hist(sam.rdata") iter=0 mu=5. mean=mu.unifi.

7249509 29.60706 581.7249744 29.2.0.4278 +/.10682 chi2= 77.1448092 ######### Iterazione 3 ######### theta= 18. in base al quale avremmo escluso la validità del modello.60719 581. mean=mu.d.d. Possiamo.004377989 ######### Iterazione 1 ######### theta= 18. p-value= 0.83274 chi2= 58. pena un maggior dispendio di CPU.57949 con 48 g. h$breaks[i].6469 +/. calcolando numericamente l'integrale tramite la funzione integrate() di R: x2=c() for (i in 1:n) { x2[i]= integrate (dnorm .36121 con 48 g.theta= 16.1453228 Si noti la dierenza di pvalue fra il primo t. p-value= 0.l.1304 +/.d. sd=sigma )$value } fit = lm( k ~ x2. Notiamo anche che per la nostra predizione abbiamo approssimato l'integrale della funzione densità attesa in ciascun intervallo con il valore calcolato al centro dell'intervallo. p-value= 0.0. corrispondente a .06366115 ######### Iterazione 2 ######### theta= 18.59739 582. weights=1/dk2 ) La funzione così modicata trova eettivamente un miglior pvalue=17% 124 χ2min = 57.84796 chi2= 58. evitare questa approssimazione. p-value= 0.6407 +/.794874 34.7231749 31.0.91985 588.74022 con 48 g.l.d.07135 chi2= 63.l.38637 con 48 g. h$breaks[i+1].0.l. e l'ultimo valore assai più ragionevole.

2.4.8 Errori sulle variabili esplicative Finora abbiamo trascurato un'eventuale incertezza sperimentale su una variabile esplicativa Ma queste possono essere trascurate rispetto alle incertezze su y x. solo se .

.

2 .

dλ(x) .

2 2 .

.

.

dx (xi ).

σ (xi )  σ (yi ) (4.5 sostituendo . una ragionevole soluzione approssimata consiste nel risolvere il problema del minimo con χ2 4. la soluzione esatta consiste nel massimizzare la funzione di likelihood che tenga conto anche degli errori su x. se gli errori su xey sono indipendenti. Tuttavia.38) In caso contrario.

.

2 .

dλ(x) .

.

σ (yi ) = σ (yi ) + .

(xi ).

.

2. Vogliamo testare il modello f = P v2 125 .rdata rappresentano valori.01 s) necessario ad attraversare una distanza di 10 m. f necessario La velocità è ricavata dalla misura del (misurato con risoluzione 0.it/service/Rdsets/frenata. dello spazio alla frenata di un' automobile lanciata a velocità tempo t v. misurati in metri con una risoluzione di 0. Analisi dello spazio di frenata in funzione della velocità I dati nella tabella del le /afs/math.39) nell'approssimazione lineare.6 y l'errore su 2 x σ 2 (yi ) (4.uni. σ 2 (xi ) dx 02 propagando dunque a Esempio 4.7 m.

.data=fr) deltaf = rep(sigma.d.01 t = 10 / fr$v dv = fr$v * dt / t n=nrow(fr) plot( frenata ~ v. stimando la derivata da un primo t in cui si trascurano gli errori su v: fit1 = lm( frenata ~ 0 + I(v^2).inches=FALSE.n-1. xlim=c(0.0572 ± 0. 1-pchisq(chisq. Non possiamo dunque trascurare uno dei due in funzione di f )."\n") P = coef(fit1)[1] curve( P * x^2.f .fg="blue".table("/afs/math.df=n-1). pvalue= 35. add=T) chisq = deviance(fit2) cat ("secondo fit: chi2=".7% . col="red". f per bassi valori di v.rdata") sigma.2*deltaf)). mostrando anche gli errori sui valori tramite rettangoli di larghezza ±σ attorno ai valori misurati: fr = read.d.add=T) Notiamo come gli errori su v siano trascurabili rispetto ai quelli su e siano invece dominanti per alti valori di errori (facendo eventualmente un t di v v. 1-pchisq(chisq.l.chisq. weights = 1/deltafp2) P = coef(fit2)[1] curve( P * x^2. rectangles=matrix(ncol=2.70).. p-value=".054 ± 0.n-1. data=fr.it/service/Rdsets/frenata. add=T) e teniamo poi conto dell'errore su v: σ 02 (fi ) = σ 2 (fi ) + (2P v)2 σ 2 (vi ) deltafp2 = deltaf^2 + (2*fr$v*P*dv)^2 fit2 = lm( frenata ~ 0 + I(v^2).d." g. p-value=".f = 0. soprattutto. n) symbols(fr$v.62 126 con 6 g. Usiamo dunque la procedura 4." con ".7 dt = 0. sull'esito 2 del test χ : f it1 : P = 0.0002 f it2 : P = 0.df=n-1). col="green"." g.dando la migliore stima del parametro P." con ".chisq.002 χ2 = 1276 χ2 = 6.39. data=fr.c(2*dv. pvalue= 0% con 6 g.l."\n") Possiamo notare l'eetto del calcolo più corretto dei pesi sulla stima e. weights = 1/deltaf^2) chisq = deviance(fit1) cat ("primo fit: chi2=".l.d. fr$frenata. Cominciamo col visualizzare i dati in un graco.l.unifi.

sono trattate nel corso di Metodi Numerici per l'Ottimizzazione. qui solo accennate.4. facendo ricorso alla matematica dei problemi di Assumendo che la funzione f dei parametri tramite un ottimizzazione2 da minimizzare sia convessa.41) (4.42) algoritmo di Newton per trovare gli zeri della derivata θk+1 = θk − γ f 0 (θ) f 00 (θ) (4. e dunque esista un solo minimo. In generale non c'è una soluzione algebrica. nel caso unidimensionale: (∆θ)2 f (θ + ∆θ) ' f (θ) + f (θ)∆θ + f (θ) 2 (f (θ + ∆θ) − f (θ)) f 0 (θ) lim∆θ→0 = 0 =⇒ ∆θ → − 00 ∆θ f (θ) 0 da cui il noto 00 (4.5). si procede iterativamente nella direzione opposta al gradiente della funzione: θk+1 = θk − γ∇f (θk ) (4. uno dei più semplici algoritmi per trovarlo numericamente è quello di discesa del gradiente: a partire da un valore iniziale dei parametri θ0 . ma possiamo sempre trovare il nello spazio np dimensionale algoritmo numerico. 127 .43) 2 queste problematiche. 4. con il criterio di convergenza dove γ e  sono costanti L'idea può essere miglorata utilizzando uno sviluppo al secondo ordine.3 Modelli non lineari: minimizzazione numerica Se il modello di dipendenza non è lineare ma gli errori sono gaussiani. gli stimatori ML saranno χ2 χ2min ancora quelli che minimizzano il (eq.40) |f (θk+1 ) − f (θk )|/f (θk ) <  pressate. tipicamente  1.

Nel caso multidimensionale l'algoritmo diventa θk+1 = θk − γ[Hf (θk )]−1 ∇f (θk ) dove Hf è l'Hessiano della funzione (4.44) f. Fletcher.52) σθ2 ' 2/( 3 Broyden[2]. Il metodo di Newton e i suoi derivati risultano molto indicati nel caso di stimatori ML nel limite di alta statistica. Un'altra famiglia di algoritmi derivati da quello di Newton sono i cosiddetti quasiNewton. Nella pratica. otteniamo P 0 f 0 (θ) i ri (θ)ri (θ) P ' 0 2 f 00 (θ) i (ri (θ)) (4. Una variante per migliorare l'ecienza dell'algoritmo. 2. la stima della derivata seconda (o dell'Hessiano nel caso multivariato) del (4.43 senza dover stimare le derivate seconde.45) ri (θ)ri0 (θ) (4. noto come di GaussNewton. Goldfarb e Shanno 128 .48) che ci permette di calcolare la 4.36 ci si aspetta limN →∞ χ2 (θ) = χ2min + (θ − θM L )2 σθ2 Nel limite.47) f (θ) = i 0 f (θ) = 2 X i 00 i a approssimando al primo ordine la ri (θ).50) χ2 ci permette di stimare l'errore sullo stimatore: ∂ 2 χ2 ) ∂θ2 (4. il calcolo dell'Hessiano risulta la parte più dispendiosa nell'esecuzione dell'algoritmo al computer.46) X  f (θ) = 2 (ri0 (θ))2 + ri (θ)ri00 (θ) (4. 3 Il più noto di questi algoritmi è chiamato BFGS dal nome dei suoi autori .49) (J)ij = ∂ri /∂θj . poiché in tal caso dalla eq.51) Vθ ' 2(Hχ2 )−1 (4. La formula nel caso multivariato diventa  −1 [Hf (θk )]−1 ∇f (θk ) ' J(θ)T J(θ) J(θ)T r(θ) dove r è il vettore con componenti ri (θ) e J è lo Jacobiano (4. consiste nel considerare che la funzione dei quadrati dei residui 2 χ metodo da minimizzare è la somma ri (θ) = (yi − λi )/σi : X ri2 (θ) (4. in cui le variazioni dell'Hessiano ad ogni iterazione vengono stimate con formule approssimate.

è necessario scegliere con cura i valori di partenza dei parametri e i limiti entro cui eettuare la ricerca del minimo. la funzione nls() permette di risolvere ts con un generico modello non lineare.it/service/Rdsets/decay.1 Intensità di una sorgente radioattiva I valori nel le /afs/math.8. ma è possibile specicare un metodo alternativo tramite l'argomento algorithm. Nel nostro caso abbiamo un solo parametro che chiamiamo tau: mydata=read. che ci aspettiamo seguire la legge I = I0 e−t/τ I0 = 1 (le misure sono relative al tempo 0) e assumendo errori gaussiani sulle misure I .unifi. Nell'uso pratico di questi algoritmi bisogna ricordare che la procedura può fallire in caso di più minimi locali o di discontinuità della funzione.rdata') plot(signal ~ time. fra cui il BFGS. Valutaremo inne la bontà di questa approssimazione.it/service/Rdsets/decay.predict(fit)) 129 . ovvero χ2 (θ) < χ2min + Nσ2 dente a può essere stimato dai valori per cui Nel software R. Si consiglia inoltre di scegliere le unità dei parametri in modo che abbiano un ordine di grandezza paragonabile. 2.Ricordiamo dal par. Ogni para- metro deve avere il nome che viene usato nella formula del modello. L'argomento deve contenere un vettore con i parametri liberi e il loro valore di partenza.3.data=mydata) fit=nls(signal ~ exp(-time/tau). Utilizziamo la funzione start nls di R per questa analisi di regressione non lineare. Esempio 4. Per evitare false soluzioni.table('/afs/math.2 che nel caso di bassa statistica l'intervallo di condenza corrispon- ±Nσ deviazioni standard normali log L(θ) > log L(θ) − Nσ2 /2. start=c(tau=2) ) lines(mydata$time. L'algoritmo di default è quello di GaussNewton. data=mydata. Gli errori sugli stimatori sono ottenuti dall'inverso dell'Hessiano.uni.rdata rappresentano la variazione di intensità nel tempo di una sorgente radioattiva. La funzione optim() implementa diversi algoritmi di ottimizzazione. al ne di evitare che gli errori di approssimazione nel calcolo numerico dell'inverso dello Jacobiano o dell'Hessiano possano far fallire l'algoritmo di ottimizzazione. e vericare visivamente il risultato facendo il graco della funzione χ2 intorno al minimo ottenuto. ricaviamo il parametro τ e l'intervallo di condenza con CL α=90% per τ assumendo che Sapendo che di sia valida l'approssimazione gaussiana.

L. confrontiamo il prolo del χ2 in funzione di predizione gaussiana χ2 (τ ) − χ2 (¯ τ ) = 2(log(L(¯ τ )) − log(L(τ ))) = 130 (τ − τ¯)2 σ ¯τ2 τ.Dalla minimizzazione numerica del χ2 il t ottiene τ¯ = 3. Per vericare questa approssimazione.9 dtau=sqrt(vcov(fit)[1." +/.06 La variabile t = (¯ τ − τ )/¯ στ segue una distribuzione di Student con N − 1 gradi di libertà.10 ± 0.". con la ."\n") da cui τ = 3. l'intervallo di condenza è quindi N=length(mydata$signal) tau=fit$m$getPars()[1] alpha=0.103 ± 0.Nsigma*dtau.1]) Nsigma = qt((1+alpha)/2. L'intervallo di condenza così ottenuto presuppone l'aver assunto una distribuzione di probabilità gaussiana per lo stimatore nel limite asintotico τ¯.tau. cosa che nel caso non lineare è rigorosamente vera solo N → ∞.096 al 90 % C.df=N-1) cat ("tau=".

ylab=expression(chi^2)) # predizione approssimato in rosso curve((N-1)+(x-tau)^2/dtau^2. otterremmo τ = 3.103 − 0.094 + 0.add=T.taufit(x).tau+3*dtau. . calcolando i valori di τ per cui χ = min(χ ) + Nσ (α).sigmay2=deviance(fit)/(N-1) chi2. Se infatti volessimo migliorare la stima del2 2 2 l'intervallo di condenza.col="red") Il plot dimostra la validità dell'approssimazione.098 al 90 % C.exp(-mydata$time/tau[i]) } out } )^2 )/sigmay2 # profilo effettivo in nero curve(chi2. xlab=expression(tau). Caso con due parametri Ripetiamo ora l'esercizio precedente supponendo di non conoscere il valore di 131 I0 .tau-3*dtau.taufit = function(tau) { out=c() for (i in 1:length(tau) ) { out[i]=sum( ( mydata$signal . con una variazione della stima degli errori di circa il 2 %.L.

I0 ) = (θ−θ) 2 2 T ¯ Vθ−1 (θ−θ)   (τ − τ¯)2 (I0 − I0 )2 2ρ(τ − τ¯)(I0 − I0 ) 1 + − = (1 − ρ) στ2 σI20 στ σI0 N=length(mydata$signal) theta=fit$m$getPars() V.09 <2e-16 *** tau 3.I0[i]*exp(-mydata$time/tau[j]) } } out } pred. Error t value Pr(>|t|) I0 1.08820 0.tau=2) ) print(summary(fit)) lines(mydata$time. start=c(I0=1.67 <2e-16 *** In questo caso.rdata') plot(signal ~ time.theta=vcov(fit) dtau=sqrt(diag(vcov(fit))) sigmay2=deviance(fit)/(N-2) chi2.predict(fit)) da cui si ottiene Parameters: Estimate Std.it/service/Rdsets/decay.Basterà ripetere il procedimento con due parametri liberi mydata=read.theta) } } out 132 %*% (xy-theta) )^2 )/sigmay2 . I0 )−χ (¯ τ .tau) { out=matrix(nrow=length(I0). l'approssimazione gaussiana prevede che il prolo del χ2 sia dato dal logaritmo di una gaussiana bivariata ¯ χ (τ.ncol=length(tau)) for (i in 1:length(I0) ) { for (j in 1:length(tau) ) { out[i.01757 57.taufit2 = function(I0.taufit2 = function(I0.ncol=length(tau)) for (i in 1:length(I0) ) { for (j in 1:length(tau) ) { xy=c(I0[i]. data=mydata.unifi.00321 0.09752 31.table('/afs/math.data=mydata) fit=nls(signal ~ I0*exp(-time/tau).j]=sum( ( mydata$signal .j]= (N-2) + t(xy-theta) %*% solve(V.tau) { out=matrix(nrow=length(I0).chi2.tau[j]) out[i.

3. levels = (N-2) + nsigma^2.add=T ) Esempio 4. pred.y.y) .005) # profilo effettivo in nero contour(x. levels =(N-2) + nsigma^2.0.3. wtloss (pacchetto MASS).chi2.5.taufit2(x. supponiamo che l'andamento del in Kg) di un paziente obeso sottoposto ad una dieta in funzione del tempo (Days.2 Analisi di una dieta Dall'analisi dei dati nel dataframe peso (variabile W eight.001) y=seq(2.} nsigma=c(1.05.y.0.y) .ylab=expression(tau)) # predizione approssimata in rosso contour(x.1. col="red". xlab=expression(I0). chi2.2.3) x=seq(0.95. in giorni) sia W = W0 + WE · 2−D/D1/2 133 .taufit2(x.5.

W.half) . D1/2 (tempo di di- mezzamento del peso in eccesso). start=theta.0".3).e=100. WE (peso in eccesso).e * 2^(-Days/D.0 81. data=wtloss.start) print(summary(fit)) lines(wtloss$Days.D. utilizziamo la funzione nls() W0 e con i tre parametri liberi library(MASS) plot(Weight ~ Days.0=100. Essendo il modello non lineare.predict(fit). ed il parametro di correlazione lineare fra le stime di WE .0 + W.374 2.start=c(W.0." +/."\n") Da cui otteniamo Parameters: Estimate Std.86 <2e-16 *** 134 .half=200) fit=nls(Weight ~ W.269 35."W.e)=".".Vogliamo stimare i parametri W0 (peso ideale). W.3).col="blue") # matrice di correlazione fra i parametri Vcor = cov2cor(vcov(fit)) rho = Vcor["W.e"] ngl=length(wtloss$Weight)-3 drho = (1-rho^2)/sqrt(ngl) cat("rho(W.round(rho.round(drho. Error t value Pr(>|t|) W.data=wtloss) theta.

come nel caso del t di un istogramma visto nel par. θ) al θ.4 Fits di massima verosimiglianza La soluzione più generale.100853e-13 Evidentemente l'errore nella misura non basta a spiegare la varianza dei residui del t. usando le tecniche numeriche di ottimizzazione sopra descritte.0. Per eettuare il test e calcolare il pvalue è normalmente necessario fare ricorso ad una simulazione.083 5.d.l. Se però vogliamo eettuare un test di bontà del t. che probabilmente è dominata da uttuazioni siologiche del peso." g.003 Test del modello Sapendo che la bilancia ha una precisione di 0. per eseguire un t di un campione di dati ad un modello parametrico. : p-value=".53) i si può risolvere il problema senza raggruppare le osservazioni in intervalli (unbinned t) e utilizzando dunque al meglio l'informazione disponibile.W. Minimizzando la quantità − log L(S. θ)) (4. θ) = − X log (dy (yi .e)= -0.d.80 <2e-16 *** <2e-16 *** 0. ma anche più dispendiosa in termini di risorse di calcolo.989 +/- 49."\n") chi2= 156. testiamo ora la bontà del modello ttato.e 102.5^2 > cat("chi2=". In questo modo possiamo trovare gli stimatori ML anche nel caso in cui gli errori non siano gaussiani e dunque il metodo dei minimi quadrati non sia strettamente giusticato. non possiamo in generale predire la statistica attesa di 2 del caso di χmin che sappiamo seguire la distribuzione di Pearson." con ".W.l.910 2.2.df=ngl). della funzione di likelihood variare dei parametri L(S.9788 con 49 g.chi2. possiamo calcolare il χ2 del t ed eseguire un test dell'ipotesi che segua bilancia una distribuzione di Pearson con N −3 gradi di libertà: > chi2=deviance(fit)/0. 1-pchisq(chi2.half 141. : p-value= 3. e magari da qualche strappo alla dieta! 4. Questo t di massima verosimiglianza è utile anche nel caso in cui si voglia confrontare la distribuzione delle variabili osservate con un modello teorico. 4. 135 a dierenza . consiste nel trovare il massimo.5 Kg.295 rho(W.7. Supponendo che la deviazione standard di ogni misura sia determinata dalla precisione della σ = 0.30 26. (− log L)min .ngl.684 D.5 Kg.

4.sigma1.mu1. µ2 .upper=maxp. L'errore sui parametri è stimato invertendo l'Hessiano di − log L.cf[4].sigma2=1) maxp=c(alpha=0.mu2=80. Testiamo l'ipotesi che la sua PDF sia la somma di due gaussiane f (w) = α √ 1 1 2 2 2 2 e−(w−µ1 ) /2σ1 + (1 − α) √ e−(w−µ2 ) /2σ2 2πσ1 2πσ2 stimando i 5 parametri incogniti α. 136 .mu1.sd=sigma1) + (1-alpha) * dnorm(x. σ1 ) possono facilmente essere scambiati (con un probabile fallimento della minimizza- zione) se non rendiamo chiara la loro interpretazione scegliendo in modo sensato i valori di partenza e i limiti entro i quali eseguire la minimizzazione.5. σ1 .sigma2)) ) } # l'argomento di mle deve essere una funzione che ritorna -logL fit=mle(llgeyser. utilizzando la funzione optim(). σ1 .sigma2=5) minp=c(alpha=0.sigma1=5 .mu1.mean=mu2.mu1=60.mu1=55.sigma1=10.cf[2].mu2=75.sigma2) { -sum(log(geysermodel(y. σ1 . Esempio 4.2. possiamo eettuare un t non binnato.cf[1].fit = function(y=faithful$waiting) { h=hist(y) startp= list(alpha=0.mu2=85.cf[5]) * (h$breaks[2]-h$breaks[1]) * length(y).method="L-BFGS-B") print(summary(fit)) cf=fit@coef curve(geysermodel(x.1.alpha. µ1 .sigma1.sigma2=10) llgeyser = function(alpha. σ2 ) = Y f (wi .sigma1=1 . σ2 ) (µ1 .1 La variabile waiting Modello per i dati di un'eruzione del dataframe f aithf ul descrive il tempo di attesa (in minuti) fra un'eru- zione e l'altra di un geyger.sigma1.mu1=45. σ2 . σ2 ) i Usiamo per questo la funzione − log(L) mle() del pacchetto stats4 che permette di minimizzare con vari algoritmi di ottimizzazione.mu2.mu2.4. in cui devono essere specicati i limiti per i parametri del t. µ2 .start=startp.cf[3].mean=mu1.La funzione mle() nel pacchetto stats4 del software R è concepita per eseguire.lower=minp. library(stats4) geysermodel = function(x. Il problema potrebbe essere risolto ttando l'istogramma della distribuzione della variabile waiting come visto nel par. α.mu2.sd=sigma2) } geyser. µ1 . µ1 . µ2 . Pena un maggiore dispendio di CPU.7. massimizzando direttamente la funzione di likelihood L(α.alpha. ts di massima verosimiglianza. Scegliamo l'algoritmo L-BFGS-B. Notiamo che nel nostro caso i parametri e (µ2 .sigma2) { alpha * dnorm(x.9.

start = startp.8715085 mu2 80.3608887 mu1 54.col="blue") list( min= fit@min .50459193 0. > expfit = geyser. coef= cf.add=T.f it() così implementata ritorna una lista con i valori e la matrice var. dei parametri.0912040 sigma2 5. method = "L-BFGS-B".004 137 . var=vcov(fit)) } La funzione geyser.8677196 Std.fit() Maximum likelihood estimation Call: mle(minuslogl = llgeyser. upper = maxp) Coefficients: Estimate alpha 0.69972712 0. lower = minp.03116472 0.40096112 -2 log L: 2068. e il minimo ottenuto di − log(L)./cov.6152983 sigma1 5. Error 0.53739009 0.

sd=expfit$coef["sigma1"]) .expfit$min. Essendo un'impresa ardua determinare analiticamente questa distribuzione nel nostro caso (e f (w) non con n valori questo vale per tutti i casi in cui la distribuzione ricorriamo alla simulazione di secondo la funzione N sim esperimenti sia particolarmente semplice).expfit$min).c(0.Per poter eseguire un test di bontà del t. rnorm(n2. della nostra variabile simulati f (w): geyser.sd=expfit$coef["sigma2"]) ) simfit=geyser.mean=expfit$coef["mu2"].size=n. alpha n1=rbinom(1.check = function(Nsim=100) { # inizializziamo un vettore che conterra' i valori di min(log(L)) di # ogni esperimento simulato outll=c() n=length(faithful$waiting) for (i in 1:Nsim) { # il numero di eventi del primo tipo segue una distribuzione binomiale # con prob."\n") # disegniamo una linea verticale in corrispondenza del valore sperimentale lines(c(expfit$min.prob=expfit$coef["alpha"]) n2=n-n1 sample=c( rnorm(n1.Nsim)) } 138 .mean=expfit$coef["mu1"].fit(sample) outll[i]=simfit$min } # distribuzione ottenuta dalla simulazione: hist(outll) cat("min logL =". è necessario conoscere la distribuzione attesa di min(− log(L)) nell'ipotesi che il modello sia corretto.

θ)] Le (S.55) i La funzione estesa è utile anche nel caso in cui si abbia un campione costituito dalla sovrapposizione di diverse componenti di d (y) = X pj dj (y) (4.54) (4. λ. il valore ottenuto sperimentalmente è perfettamente compatibile con il nostro modello. il t con la funzione estesa log Le (S) = k − X λj + j i permette di ottenere direttamente le stime di uttuazioni globali di X λj λ. θ) = (4. Il metodo ML permette anche di tener conto nel t del parametro numero di eventi che di solito segue una statistica di Poisson con valore atteso λ. N e−λ λN Y dy (yi . Se λ è correlato con gli altri funzione di likelihood parametri. λ. 139 log " X # λj dj (yi ) (4.Come osserviamo dal graco. θ) N ! i=1 X log Le (S.56) j e si vogliano ottenere dal t le popolazioni λj = pj λ di ciascuna componente.57) j con gli errori che tengono conto anche delle . θ) = k − λ + log [λdy (yi . il nostro t risulterà distorto a meno di non considerare la estesa N. In tal caso.

.

siamo aggirare questo problema pensando l'errore sistematico una variabile aleatoria S s Pos- come un campionamento da che assume un valore diverso per ogni esperimento.13. Vorremmo avere un criterio per valutare analogamente anche le incertezze sistematiche. Tuttavia in linea di principio. che spiegano la variabilità dei risultati di una misura e che abbiamo arontato nei capitoli precedenti. Conoscendo la 141 . Riprendendo dal cap. 1 il nostro primo esempio di misura di una massa su una bilancia. Ad esempio.72 ± 0. dette sistematiche. (5. in termini probabilistici. sappiamo che abbiamo una probabilità del 68. L'incertezza consiste nella nostra ignoranza su questo valore. e tenerne conto nel risultato di un'analisi statistica. del risultato. sono introdotti in questo capitolo. s ha un valore ben denito che rimane costante al ripetersi della misura. nell'ambito dell'interpretazione frequentista. La valutazione dell'errore sistematico è spesso la parte più insidiosa del lavoro di analisi dati.1 Modelli per le incertezze sistematiche Abbiamo visto che la valutazione quantitativa dell'errore statistico su una misura necessita di un preciso criterio di interpretazione. tutte le nostre misure sono sistematicamente sovrastimate di una quantità s: mexp = m + stat + s Al contrario dell'errore statistico stat . non si potrebbe trattare un'incertezza sistematica con metodi statistici. ogni processo di misura può essere aetto anche da incertezze.Capitolo 5 Incertezze sistematiche Oltre che da incertezze casuali (o incertezze statistiche). a causa della precisione nita della calibrazione dello strumento.3% che l'intervallo dato contenga il valore vero del parametro θ.1) che è una variabile aleatoria. per il semplice motivo che essa non è una variabile aleatoria e dunque non le si può associare una funzione di probabilità. se riportiamo il valore osservato di uno stimatore gaussiano come 4. potremmo avere che. che non variano al ripetersi della misurazione. 5. I metodi per stimare queste incertezze.

σ2 L'eq. ovvero la variabile stat segue una σstat . fra due misure m1 e m2 fatte con la stessa bilancia. Riprendendo il nostro esempio di misura di massa 5.2) I due tipi di errore si sommano dunque in quadratura. Se facciamo il valore atteso sullo spazio degli E(m1 ) = E(m2 ) = m + E(s)). nello spazio dei possibili esperimenti. i vari contributi vengono sommati in quadratura (e dunque possiamo trascurare tutti gli errori che siano almeno un ordine di grandezza più piccoli di quello dominante) e.5) sistematica non dipende dalla statistica dell'esperimento e spesso costituisce il limite ultimo alla precisione della misura. avremo esperimenti in cui la bilancia è scelta casualmente (e dunque tenendo conto che le due misure hanno sempre lo stesso cov(m1 . segue una distribuzione normale con deviazione standard bilancia. che è però correlato per tutte le misure del nostro singolo esperimento. ed s Noi disponiamo di una sola ha un valore sso che non conosciamo.3) sono a media nulla e indipendenti. m2 ) = 2 2 2 σstat + σsyst σsyst 2 2 2 σsyst σstat + σsyst  (5. Sappiamo inoltre (e possiamo vericarlo facendo molte misure). Per lo stesso motivo. come il valore misurato in uno dei possibili esperimenti (ovvero. che la risoluzione della bilancia è distribuzione normale con deviazione standard Trattando mexp σstat . di solito si assume che l'errore risultante segua una distribuzione normale.1. in presenza di molte sorgenti di errore sistematico. possiamo trattare gli errori sistematici come variabili aleatorie. avremo 2 2 σ 2 (mexp ) = σ 2 (stat ) + σ 2 (s) = σstat + σsyst (5. 5. La matrice varianzacovarianza delle due variabili è dunque  V (m1 . Supponiamo che il costruttore della bilancia abbia eettuato delle misure in base alle quali sappiamo che l'errore di calibrazione s σsyst . ma bias s.4) che può essere facilmente estesa ad un numero qualsiasi di misure. per σsyst 142 . la componente (5. invocando il teorema del limite centrale. ma possiamo pensarlo come un valore casuale estratto secondo la distribuzione data. tenendo conto che avremmo potuto farlo con un'altra bilancia). Bisogna tuttavia fare attenzione a considerare le correlazioni. Per la media su m= P mi /N N misure avremo: r σ(m) = Se dunque l'errore statistico diminuisce come 2 σstat 2 + σsyst N √ 1/ N . m2 ) = E [(m1 − E(m1 ))(m2 − E(m2 ))] = E [(1 + s − E(s))(2 + s − E(s))] =   2 = E (s − E(s))2 = σsyst dove si è usato il fatto che le variabili 1 e 2 (5. poiché formalmente.distribuzione di probabilità siderando s d (S) in questo spazio degli esperimenti. possiamo procedere con- come un errore casuale. introdotte dall'errore sistematico.5 ci dice che una statistica ragionevole per l'esperimento considerato è N ∼ 2stat .

in modo grossolano e sulla base del buon senso.1. Continuare ad acquisire dati molto oltre questo valore non produce alcun miglioramento nella precisione del risultato. L'errore sistematico è infatti considerato una sorta di parametro di qualità della misura. Esempio 5. per eettuare la nostra misura di massa. l'errore sistematico può solo essere stimato. avremmo potuto scrivere la matrice varianza/covarianza di  V = (δP )2 σP2 + (δP )2 (δP )2 σP2 + (δP )2 Pn e Pt  e applicare la formula di propagazione degli errori σ 2 (Pl ) = σ 2 (Pn ) + σ 2 (Pt ) + 2cov(Pn . che dipende dalla cura con cui gli eetti vengono valutati e tenuti sotto controllo dallo sperimentatore.2 Stima di errori sistematici Nella pratica. quanticando un livello di condenza sulla dimensione dei possibili eetti che possono distorcere la nostra misura. Pt ) 5.7 δP =1 Pn e la tara Pt Pl sono misurati con la stessa g. Ad esempio. appuriamo che i risultati dei due strumenti dieriscono sistematicamente della quantità ∆.0g (σ(Pl ))tot = 2.la quale i due contributi si equivalgono. nessuno ci garantisce che le due 143 . Il peso lordo è dunque Pl = Pn0 + Pt0 + 2S da cui σ 2 (Pl ) = σ 2 (Pn0 ) + σ 2 (Pt0 ) + 4σ 2 (S) = 2σP2 + 4(δP )2 √ (σ(Pl ))stat = 2σP = 1. dicilmente si hanno a disposizione dati sperimentali (come quelli del costruttore di bilance) che ci permettano di dare un fondamento frequentista alla trattazione dell'incertezza sistematica. sapendo che il peso netto bilancia.1 Misure con incertezza sistematica comune Vogliamo determinare gli errori statistico. sistematico e totale per la misura del peso lordo di un vasetto di yogurt. Eseguendo una serie di misure con entrambe.2g In modo equivalente. supponiamo di disporre di due bilance. Più spesso. costruite indipendentemente. soggetta ad un errore sistematico σP =0.0g (σ(Pl ))syst = 2(δP ) = 2. Bisogna dunque necessariamente adottare un approccio bayesiano. Naturalmente. mentre l'errore casuale è gaussiano con g. I valori sperimentali Pn0 e Pt0 hanno una parte sistematica comune Pn0 = Pn + S S: Pt0 = Pt + S .

)) g Non vi sono regole rigorose per vericare la presenza o stimare la dimensione di eetti sistematici. Residuals 478 2650115 5544 144 .3065 0.06963 . ). diremo che c'è una evidenza di eetto sistematico. Per quanto riguarda Lab. L'analisi della varianza/covarianza costituisce lo strumento appropriato per testare l'eetto ed eventualmente quanticarlo. La legge di probabi- lità bayesiana da associare a questo errore ha un margine di arbitrarietà: possiamo ad esempio scegliere una distribuzione uniforme nell'intervallo σ = ∆. di poter combinare in quadratura i diversi contributi sistematici indipendenti e l'errore statistico. 2 possibili valori). il test è superato (anche se di poco): > data = read.it/service/Rdsets/ceramic. temperatura. sulla base dell'informazione disponibile.rdata". Alcune procedure raccomandabili sono: ˆ lo studio della possibile dipendenza del risultato da qualunque variabile possa introdure un eetto (ad esempio tempo. ˆ il confronto dei risultati ottenuti con strumenti e/o metodologie di analisi diversi. sapendo che i due strumenti sono stati calibrati nel modo migliore possibile per cercare di minimizzare l'errore sistematico residuo. una distribuzione normale con etc.skip=1) > summary(aov(Strength ~ Lab.uni. con 8 possibili valori) e dalla partita dei campioni (variabile Batch. scriveremmo qualcosa come m = (5.rdata contiene i risultati di misure di resistenza meccanica (in unità arbitrarie) di campioni di ceramica.table("/afs/math. assumere che l'errore sistematico delle nostre misure sia dell'ordine di ∆.67 ± 0.unifi. da diversi sperimentatori.08(stat. sugli stessi dati. data=data)) Df Sum Sq Mean Sq F value Pr(>F) Lab 1 18332 18332 3. è buona norma citare separatamente i due tipi di errore.2.1 Misure di resistenza meccanica La tabella nel le /afs/math. .bilance non siano entrambe soggette ad un errore sistematico molto superiore a ∆. Per testare la possibile dipendenza dalle variabili Lab e Batch. Se dunque dovessimo pubbliocare su una rivista scientica il risultato della nostra misura di massa. susistendo un margine di soggettività nella valutazione dell'errore sistematico. tenendo conto di eventuali eetti sistematici dovuti al laboratorio di test (variabile Lab. ˆ il test della compatibilità dei dati con tutte le ipotesi su cui la misura è basata. eettuiamo un'analisi della varianza con signicatività del 5%. Tuttavia. Esempio 5. come il buon senso suggerisce. Assegnare una legge di probabilità bayesiana alla nostra ignoranza ci permette. Tuttavia. . .it/service/Rdsets/ceramic. è ragionevole. ˆ il confronto dei risultati ottenuti indipendentemente.) ± 0.10(syst. Vogliamo determinare il valore medio di questa grandezza (variabile Strength). [−∆. +∆]. Se dunque il test di Fisher ha un pvalue inferiore al 5%.

"." (stat) +/.".) Alternativamente.e non consideriamo dunque una possibile dierenza sistematica fra i risultati di diversi laboratori di test.rdata mostrano l'evoluzione nel tempo della concentrazione di CO2 misurata presso il vulcano Mauna 145 .1560 e. sigmasyst.sd) sigmasyst=sqrt(sigmatot^2-sigmastat^2) Da cui otteniamo σstat ∼ 65.2.5: cat("media di Strength=". σsyst ∼ 40. ricordando la 5. oltre che da eetti sistematici nella misura. Per la variabile Batch c'è invece un eetto evidente: > summary(aov(Strength ~ Batch.it/service/Rdsets/maunaloa.2e-16 *** Residuals 478 1941309 4061 Una stima (grossolana) dell'eetto è 2 σsyst ' σ 2 (Strength) − σ 2 (Strength|Batch = i) attach(data) sigmatot=sd(Strength) sigmastat=mean( tapply(Strength. ad esempio. avremmo potuto considerare la dierenza fra le medie dei due gruppi. calcolare σsyst ∼ Errori sistematici nel risultato di un'analisi dati possono derivare anche da errori teorici nel modello usato per descrivere i dati.2 Modello di evoluzione della concentrazione atmosferica di CO2 I valori tabulati nel le /afs/math. Se i dati non superano.mean(Strength)." +/. un test di bontà del t con il modello di dipendenza ipotizzato. questo potrà dipendere. Le predizioni di tale modello saranno allora aette da un'incertezza sistematica.04 < 2.) ± 40(syst. sigmastat/sqrt(length(Strength))." (syst)\n") da cui Strength = 650 ± 3(stat. pari a circa 78 > tapply(Strength. dall'inadeguatezza del nostro modello. data=data)) Df Sum Sq Mean Sq F value Pr(>F) Batch 1 727138 727138 179. Esempio 5.Batch. ) Per il valor medio. assumendo una distribuzione uniforme dell'eetto sistematico fra √ (2 · 78)/ 12 ∼ 45 ±78.uni. e in modo altrettanto ragionevole quanto arbitrario.9986 611.Batch.mean) 1 2 688.

rectangles=matrix(ncol=2. sulla base di questo modello." dof=".y.chi2. stimando l'errore statistico e quello sistematico sulla previsione. eseguire un t sul valore medio annuale di concentrazione c Cominciamo ad in funzione dell'anno: maunaloa=read.numeric( tapply(y. i valori per gli anni successivi."\n") fit0 } > year. che corrisponde ad assumere un aumento lineare nel tempo delle emissioni. weights = 1/co2.061e+01 I(yv^2) 1.yav ~ yv + I(yv^2).it/service/Rdsets/maunaloa. A prima vista.yav) symbols(yv.df=dof).sigma = co2. per ciascun anno yv = as.fit = function() { # calcoliamo il valor medio.table("/afs/math.numeric( tapply(c.inches=FALSE) # fit nell'ipotesi di andamento quadratico fit0 = lm(co2.np).rdata") c=maunaloa$co2 y=maunaloa$year m=maunaloa$month time=y+(m-.co2.n) # grafico dei dati.mean)) co2.yav ~ yv + I(yv^2).numeric( tapply(c.n = as.y.sd)) co2.dof. weights=1/co2.y.y.312e-02 146 . Vogliamo parametrizzare questi dati assumendo una dipendenza quadratica dall'anno oltre ad una dipendenza stagionale.909e+04 -5.sigma)).Loa sulle isole Hawaii fra il 1959 e il 1997. add=T.yav ~ yv) np = length(co2.sigma^2) Coefficients: (Intercept) yv 4.03391743 Call: lm(formula = co2.1-pchisq(chi2.95874 dof= 36 p-value is 0.yav. con relativi errori plot(co2.sigma^2 ) cf=coef(fit0) curve(cf[1]+cf[2]*x+cf[3]*x^2.sd/sqrt(co2.c(rep(0.mean) ) co2.yav =as." p-value is ". col suo errore.fit() chi2= 52.length)) co2. i dati mostrano un ragionevole accordo con la dipendenza quadratica dall'anno.2*co2.unifi.col="red") chi2 = deviance(fit0) dof=np-3 cat("chi2= ".5)/12 year.numeric( tapply(c.sd = as.add=T. in modo da predire.

fit = function() { fit0=year.fs2=0) mfit2=nls(res ~ fs*sin(2*pi*(m-phase)/12)+fs2*sin(2*pi*2*(m-phase)/12).add=T. φ sono i parametri liberi del t.fs3=0) 147 .pred = predict(fit0.pred plot(res ~ m) startp=c(fs=4.Il piccolo valore di pvalue (3.col="red") startp2=c(cf1. vediamo che la varianza σw2 è domi- nata dalle variazioni stagionali. Essendo il modello non lineare. usiamo stavolta la funzione nls(): month.add=T. che possiamo cercare di parametrizzare empiricamente con la funzione periodica l X  (m − φ) g(m) = Aj sin 2πj 12 j=1 dove  m è la variabile mese e Aj .start=startp) cf1=coef(mfit1) curve(cf1[1]*sin(2*pi*(x-cf1[2])/12).phase=0) mfit1=nls(res ~ fs*sin(2*pi*(m-phase)/12).frame(yv=y)) res = c-c.start=startp2) cf2=coef(mfit2) curve(cf2[1]*sin(2*pi*(x-cf2[2])/12)+cf2[3]*sin(2*pi*2*(x-cf2[2])/12).newdata=data.col="gree print(anova(mfit1.4%) del test χ2 dimostra una deviazione sistematica dal modello di cui dovremo tener conto.mfit2)) startp3=c(startp2. Mettendo in graco i residui del t in funzione del mese.fit() c.

th[7]) } 148 .th[5].th[4].month(month. Mettiamo ora insieme il modello. start=startp3) cf3=coef(mfit3) curve(cf3[1]*sin(2*pi*(x-cf3[2])/12)+cf3[3]*sin(2*pi*2*(x-cf3[2])/12)+ cf3[4]*sin(2*pi*3*(x-cf3[2])/12).mfit3=nls(res ~ fs*sin(2*pi*(m-phase)/12)+fs2*sin(2*pi*2*(m-phase)/12)+ fs3*sin(2*pi*3*(m-phase)/12).add=T.phase.m3=0) { m1 * sin(2*pi* (x-phase)/12) + m2 * sin(2*pi* 2* (x-phase)/12) + m3 * sin(2*pi* 3* (x-phase)/12) } mymodel = function(year.m1.col="blue") print(anova(mfit2. month.m2=0. che non migliora aggiungendo ulteriori armo- I residui di questo t sono ragionevolmente descritti da una distribuzione normale.month= function(x.th[6]. e possiamo dunque interpretarli come un errore casuale sulla misura. ttando i dati in funzione del tempo con 7 parametri (3 per l'aumento quadratico e 4 per la variazione stagionale): mymodel. l = 3.mfit3)) mfit3 } Otteniamo un accordo soddisfacente con niche. th) { # qui year deve essere anno-1950 th[1] + th[2]*year + th[3] * year^2 + mymodel.

integer(x-1950)). col="magenta". y.36 se consideriamo le variazioni all'interno Possiamo allora pensare che la predizione del nostro modello è aetta da un'incertezza sistematica dipendente dall'anno (ma comune a tutti i valori di un dato anno) che stimiamo come 149 ." stat. error=".resid.start=startp) print(summary(fittone)) resid.t3. type='l') > curve(mymodel(as.t2.error. error=".t3=0. in modo che l'ordine di grandezza dei coecienti non dierisca troppo.error = sqrt(resid.syst.error^2 .m.ts3=0) fittone=nls(c ~ mymodel(y-1950. .error = mean(tapply(resid(fittone)."\n") fittone } > fittone = full.fit() > plot(c ~ time.12*(x-1950-as.add=T. " syst.ts3)).error=sqrt(deviance(fittone)/df.ts1.error.74.c(t1.n=1000) (si è considerata la variabile (year − 1950) anzichè year.integer(x-1950).ts2. 0.error^2) cat("resid.phase.ts1=2..coef(fittone)).stat.stat.3. per evitare che errori di approssimazione facciano fallire l'ottimizzazione numerica del t) L'errore residuo del t è di ciascun anno.full.fit = function() { startp=c(t1=1000. sd) ) syst.residual(fittone)) stat.error.t2=0. error=". ma diventa ∼ 0.ts2=-1.phase=1.

rdata.σδ ∼ √ 0.36 e un residuo sistematico. disponiamo di un modello a 7 parametri λ(year. Ci aspettiamo infatti che tutti i punti misurati in un anno possano dierire sistematicamente dal nostro modello di una quantità dell'ordine di σδ La somma dei due errori è fatta solitamente in quadratura. in modo da poterli confrontare con le misure sperimentali che si possono trovare nel le /afs/math.deriv = function( year. m0 ) + (σstat ) + ∆(y 0 . ncol= 7) for (i in 1:length(year)) { y=year[i] m=month[i] A[i. mymodel. month. per gli anni fra il 1998 e il 2008. dipendente dall'anno. ed il relativo errore.362 ∼ 0.4]=sin(2*pi* (m-th[5])/12) 150 .6. month) =θ1 + θ2 (year − 1950) + θ3 (year − 1950)2 + + θ4 sin(2π(month − θ5 )/12) + θ6 sin(2 · 2π(month − θ5 )/12) + θ7 sin(2 · 3π(month − θ5 )/12) che ci permette di riprodurre l'andamento temporale dei dati con un errore casuale residuo σstat ∼ 0. θj ) = AVθ AT ∂θi ∂θ ∂θ i i i.it/service/Rdsets/maunaloaRecent. Riassumendo. σδ ) che saranno soggette ad un errore sistematico ∆ dovuto alle imperfezioni del modello. Basiamo allora su questo 0 0 modello le nostre predizioni sul valore di co2 atteso ad un generico tempo T = (y . Calcoliamo ora la predizione.2]=y A[i.742 − 0. ma. non disponendo di un adeguato modello teorico per descrivere le variazioni residue. il modello non sarebbe più predittivo. m0 ) = λ(y 0 . anche se è buona norma citare separatamente i due errori. th) { # calcolo della matrice con le derivate A=matrix(nrow = length(year).uni.j è la matrice del modello per i valori di Aij = T per i quali vogliamo la predizione ∂λ (Ti ) ∂θj A questo errore bisognerà sommare l'errore sistematico. σδ ∼ 0.3]=y^2 A[i. L'errore statistico su 2 σ(λ(T )) ' λ(T ) 7  X ∂λ i=1 dove la matrice A è ottenuto dalla formula di propagazione degli errori 2   X  ∂λ ∂λ 2 (T ) σ(θi ) + (T ) (T ) cov(θi . Naturalmente potremmo cercare di ridurre l'eetto sistematico residuo aggiungendo altri parametri al t in funzione dell'anno.1]=1 A[i. m ) co2(y 0 .6.

new$month-0.new=maunaloa.sigma time. col="magenta") lines(time.deriv(maunaloa.6]=sin(2*pi* 2* (m-th[5])/12) A[i.new=read.new$co2.best .fit() resid.cex=.A = mymodel.stat. col="magenta".new.A[i.sigma = sqrt ( diag (pred. col="red".sigma^2 + syst.max=pred. lty=2) lines(time.col="blue".error = mean(tapply(resid(fittone). col="magenta".error^2) pred.best + nsigma * pred. header=T) pred.new$year-1950.new$year-1950.syst.A)) ) # calcoliamo l'intervallo di confidenza per l'incerteza statistica nsigma = qt((1+conflevel)/2.residual(fittone)) stat.error^2) maunaloa.maunaloa.maunaloa.error^2 .syst.error^2) lines(time.9) { fittone=full.5)/12 plot(time.new$month.nsigma * sqrt(pred.unifi.new.min=pred.new.syst.max.min=pred.new$year+(maunaloa.7]=sin(2*pi* 3* (m-th[5])/12) } A } mymodel.residual(fittone)) pred.rdata". lty=2) # aggiungiamo l'incertezza sistematica.error=sqrt(deviance(fittone)/df.error = sqrt(resid.max=pred. y.new.5]=-th[4] * cos(2*pi*(m-th[5])/12) * 2*pi/12 -th[6] * cos(2*pi*2*(m-th[5])/12) * 2*pi*2/12 -th[7] * cos(2*pi*3*(m-th[5])/12) * 2*pi*3/12 A[i.A %*% vcov(fittone) %*% t(pred.new$month.error pred.sigma pred.new.predict = function(conflevel = 0.5) lines(time.maunaloa.best + nsigma * sqrt(pred.best.max. lty=3) } 151 . pred.sigma^2 + syst.it/service/Rdsets/maunaloaRecent. sd) ) syst. col="red".best = mymodel(maunaloa.nsigma * pred. pred. coef(fittone)) pred. pred.syst. stimata da syst.min.new.table("/afs/math. pred. coef(fittone)) pred. pred.best .min. lty=3) lines(time.df=df.

Verichiamo dunque che i valori misurati dopo il 1997 sono del tutto compatibili con l'andamento previsto in base ai dati precedenti. 152 . tenendo conto delle incertezze sistematiche sul modello.

D. 1997. and others. Biometrika 6.. Cambridge University Press. D.org/doc/manuals/R-intro.pdf. The probable error of a mean. Data Analysis and Graphics Using R: An Example- based Approach. Smith. North-Holland. On the mathematical foundations of theoretical statistics.. [6] Freeman. New York. Clarendon Press. N. M.Bibliograa [1] Brandt. Soc.. Neural Networks. and Sadoulet. Foundations of the Theory of Probability. Springer. W. D. B. Translated into English by Nathan Morrison (1950). and Skapura. Trans. Berlin. K. Statistical Data Analysis. An Introduction to R. [2] Broyden. R. S. W. Statistical Methods in Experimental Physics. Drijard. A. Amsterdam. [10] Neyman.. Addison-Wesley. T. A 22 (1922). Trans. On a criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling.. A. E. http://cran. R. A236 (1937). [4] Eadie. 157175. North-Holland. Roos. [8] Kolmogorov.. J. I: General considerations. The convergence of a class of double-rank minimization algorithms. Reading. M. New York. C. 1971. 125. Chelsea. 1976. J. [12] Venables. [9] Maindonald. Second English edition 1956. [5] Fisher. J. James. 333. G. G. Statistical and Computational Methods in Data Analysis. 133142. Philos. and Braun. S. 7690. Grundbegrie der Warscheinlichkeitsrechnung. USA. J. 153 . F. MA. Phil. Philosophy Magazine 50 (5) (1900). 1 (March 1908). Originally published under the pseudonym Student. Lond. 1933. [3] Cowan.. M. Oxford. W. [7] Gosset.rproject. USA. 2006.. A. [11] Pearson. NY. 1991.