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!