Laboratorio di Processi Stocastici
Alberto Sorrentino
www.fisica.unige.it/~sorrentino/Teaching
Ancora (poco) sugli istogrammi
www.fisica.unige.it/~sorrentino/Teaching
Esiste un comando che fa esattamente quello che avete fatto ieri: l’istogramma delle
frequenze dei valori di un vettore
data = load(‘dato_per_istogramma.dat’)
hist(data)
hist(data,50)
istogramma in 50 intervalli
[counts bins] = hist(data,50)
i conteggi in counts, i punti medi degli
intervalli in bins
Generazione di numeri casuali
In moltissime applicazioni può essere utile avere a disposizione sequenze di numeri
“casuali”.
La realtà abbonda di eventi casuali, lancio di monete, di dadi, estrazioni di carte da
un mazzo... Ma come averne TANTI?
Esistono generatori hardware di numeri casuali, che sfruttano fenomeni fisici
(radioattività, fenomeni atmosferici, ...)
Esistono ALGORITMI che generano (in modo deterministico) sequenze di numeri che
soddisfano determinate proprietà statistiche  pseudorandom numbers
“La generazione di numeri casuali è troppo importante per esser lasciata al caso”.
Un algoritmo per generare numeri random
Generatore congruenziale lineare
a = 7^5
M = 2^(31)-1
c=0
L(1) = 1;
for i = 2:100
L(i) = mod(a*L(i-1)+c , M)
u(i) = L(i)/M
end
resto = mod(dividendo,divisore)
Gli u(i) sono distribuiti in
maniera uniforme tra 0 e 1.
Provare per credere
Generatore “periodico”: periodo massimo M, raggiungibile solo se
1. c e M sono primi tra loro
2. a-1 è divisibile per tutti i fattori primi di M
3. a-1 è multiplo di 4 se M è multiplo di 4
Verifica (NON dimostrazione) funzionamento
1. Fare istogramma dei numeri random generati
2. Modificare la lunghezza del vettore di numeri casuali (ad es. 100,
1,000 e 10,000) e osservare la “omogeneità” della distribuzione
E se la distribuzione uniforme ci stesse stretta???
Generare numeri casuali con distribuzione
arbitraria
Funzione dei quantili:
Data la variabile aleatoria X, con funzione di ripartizione F, si chiama funzione dei
quantili la funzione Q : (0,1)  R definita da
Q(u )  inf{ x | u  F ( x)}
Nota:
u  (0,1)
Q(u )  x  u  F ( x)
Teorema: se la variabile X ha funzione dei quantili Q, e U è una variabile
aleatoria uniforme in (0,1), X e Q(U) hanno la stessa legge
F ( x)
P(Q(U )  x)  P(U  F ( x)) 
 du  F ( x)
0
Metodo dei quantili
Il teorema ci fornisce una regola
per generare numeri con
distribuzione arbitraria: se
conosciamo Q, prendiamo i
numeri {ui} distribuiti secondo la
legge uniforme e {Q(ui)} sono
distribuiti secondo F.
densità
funzione dei
quantili
funzione di
ripartizione
Esempio: distribuzione esponenziale
Generare numeri distribuiti secondo la legge esponenziale:
se i numeri {ui} sono distribuiti secondo la legge uniforme, {Q(ui)} hanno F
come funzione di ripartizione.
(Nota: per distribuzioni continue, Q è la funzione inversa di F)
La funzione di ripartizione
La funzione dei quantili
Prendiamo i numeri del “nostro”
generatore, applichiamo Q e...
exp_rand = -log(1.-u);
data = exp_rand;
istogramma
F ( x)  (1  e  x )
Q(u )  F 1 (u )  
1

log( 1  u )
Tanto ormai lo immaginate...
Ora provate...
data = rand(1,1000)
hist(data)
data = exprand(1,1,1000)
hist(data)
poissrnd
Poisson
randn
Gaussiana
Parte 1
Giocando con dati veri...
(folklore) Il CitoMegaloVirus
Esempio tratto da Stat Labs – Mathematical Statistics Through Applications
http://www.stat.berkeley.edu/users/statlabs/
Anteprima su books.google.it
Il citomegalovirus (CMV) appartiene alla famiglia degli
Herpesvirus (tra cui varicella, Herpes Simplex e altri).
E’ molto comune e in generale asintomatico.
La maggior parte degli adulti ne è portatore sano.
In persone con immunodeficienza (ad es. AIDS) la
malattia ha invece un decorso grave, con possibili
polmonite, encefalite, epatite, ulcere, et cetera...
(folklore) Patterns in DNA
Il DNA contiene tutta l’informazione
per la vita del virus.
Il DNA può esser pensato come una
lunga sequenza i cui elementi base
sono 4 lettere (ACGT).
Le lettere sono a due a due
complementari (A-T e C-G).
A causa del numero esiguo di
“lettere”, il DNA contiene molti
“patterns” (strutture).
(folklore) Patterns in DNA
In molti virus della stessa famiglia, il punto in
cui ha origine la replicazione del virus è
indicato dalla presenza di palindromi
complementari.
Un palindromo complementare è una
sequenza di lettere tale che la sua
complementare, letta al contrario, è uguale
alla sequenza stessa; ad esempio
ATGGTACCAT  TACCATGGTA  ATGGTACCAT
Individuare il punto di origine della
replicazione di un DNA può aiutare a realizzare
farmaci e vaccini per combattere il virus.
Problema
Individuare i siti di replicazione in laboratorio è una procedura molto laboriosa (si
spezzetta il DNA in segmenti e si cerca di far replicare ciascun segmento).
L’obiettivo è quello di individuare il sito di replicazione su base statistica,
osservando la distribuzione dei palindromi e cercando eventuali anomalie nella
distribuzione stessa.
Dati: le localizzazioni di tutte le sequenze di palindromi lunghe almeno 10 basi
(l’intera sequenza del DNA del CMV pubblicata nel 1990 da Leung et al.)
Osserviamo il dato
Il DNA del CMV contiene 229,354 “lettere”. Le posizioni dei 296 palindromi lunghi
almeno 10 lettere sono contenute nel file DATA_DNA.dat
www.fisica.unige.it/~sorrentino/Teaching
carichiamo il dato
data = load( ‘ DATA_DNA.dat ‘ );
Un’occhiata ai dati
plot(data)
Un plot più significativo
plot(data,ones(size(data)), ‘ . ‘)
Meglio ancora
hist(data)
Guardiamo come son
distribuite le distanze
tra uno e il successivo
hist(data(2:end)-data(1:end-1))
Istogrammi in quanti intervalli??
Pochi intervalli  buona statistica, poca informazione
Tanti intervalli  poca statistica, molta informazione
Facciamo istogrammi con diverso numero di intervalli
NUM = [10 20 30 40 50]
for i=1:size(NUM,2)
figure
hist(data,NUM(i))
end
Domanda: possono questi dati essere frutto di una distribuzione casuale?
1. costruiamo dei dati distribuiti “a caso” e li confrontiamo coi nostri
2. confrontiamo i dati del DNA con i valori attesi tramite test statistici
Parte 1.1
confronto con dati simulati
Quale modello per i dati?
Abbiamo 296 valori distribuiti su un segmento (il DNA) di lunghezza 229,354
Quale modello matematico potrebbe descrivere i nostri dati?
Abbiamo osservato un discreto livello di omogeneità.
Abbiamo osservato la distribuzione delle differenze tra palindromi contigui.
Gli indizi accumulati puntano
verso il processo di Poisson!
Scarica

LezioneII