• Non ci sono risultati.

h=sqrt(dt) X=1:n X[1]=runif(1,-1,1) for (t in 1:(n-1

N/A
N/A
Protected

Academic year: 2021

Condividi "h=sqrt(dt) X=1:n X[1]=runif(1,-1,1) for (t in 1:(n-1"

Copied!
9
0
0

Testo completo

(1)

1 Una sperimentazione numerica

1.1 Moto browniano

Sia (Bt)t 0, un moto browniano, rispetto ad uno spazio …ltrato ( ; F; Ft; P ). Sia X0i una v.a. F0-misurabile. Consideriamo l’equazione di¤erenziale stocastica

dXt= dBt; Xjt=0= X0: La soluzione è il moto browniano traslato

Xt= X0+ Bt:

Per simularlo usiamo i semplici comandi (n è il numero di passi temporali):

n=10000; dt=0.01; h=sqrt(dt) X=1:n

X[1]=runif(1,-1,1) for (t in 1:(n-1)) { X[t+1]=X[t]+h*rnorm(1) }

plot(X,type="l", col=3) lines((1:n)*0)

1.2 Molti moti browniani indipendenti

Prendiamo una successione Bt t 0i , i = 1; 2; ::: di moti browniani indipendenti su uno spazio …ltrato ( ; F; Ft; P ).

(2)

Prendiamo una successione X0i, i = 1; 2; ::: di condizioni iniziali, aleatorie, F0-misurabili, che supporremo indipendenti ed identicamente distribuite, con legge avente densità 0(x).

Consideriamo le semplici equazioni di¤erenziali stocastiche dXti = dBti; Xijt=0 = X0i: Le soluzioni sono i processi (moti browniani traslati)

Xti = X0i+ Bti: Ra¢ guriamoli con una miriade di colori:

N=500; n=10000; dt=0.01; sd0=0.5; h=sqrt(dt) X=matrix(nrow=N,ncol=n)

X[,1]=rnorm(N,0,sd0) for (t in 1:(n-1)) { X[,t+1]=X[,t]+h*rnorm(N) }

plot(c(0,n),c(-20,20)) for (k in 1:N) {

lines(X[k,],col=k) }

Osserviamo innanzi tutto la forma, vagamente del tipo p

t, dell’inviluppo, che cor-

(3)

N=1000; n=10000; dt=0.01; sd0=0.5; h=sqrt(dt) X=matrix(nrow=N,ncol=n)

X[,1]=rnorm(N,0,sd0) for (t in 1:(n-1)) { X[,t+1]=X[,t]+h*rnorm(N) }

nn=10

hist(X[,nn],30,FALSE)

lines(density(X[,nn],bw=sd(X[,nn])/3)) Ecco i gra…ci alle iterazioni 10 e 1000:

Nasce la domanda: per N (numero delle "particelle") che tende all’in…nito, questo pro…lo tende ad una curva ben precisa e possiamo ottenere tale curva con un metodo più economico?

Per apprezzare il problema, si prenda N = 10000. Ci sia accorge che il software ora impiega un tempo non più trascurabile nell’elaborazione; ed il pro…lo è sempre più regolare.

Si pensi che, se questo schema matematico fosse applicabile ad un sistema di molecole di un gas o ‡uido, il numero di particelle sarebbe dell’ordine di 1020; se si applicasse ad una piccola porzione di tessuto biologico, il numero di cellule sarebbe dell’ordine di 109; in ogni caso numeri enormemente superiori a N = 10000. Quindi da un lato il pro…lo dovrebbe essere molto regolare; dall’altro, la simulazione con le particelle non sarebbe più possibile.

(4)

1.3 Sul problema di construire una densità a partire da un insieme di punti.

Nella sezione precedente, dati i valori Xt1; :::; XtN ad un certo istante t, abbiamo cercato di rappresentarli tramite una densità di probabilità, che ri‡ettesse il loro grado di maggior o minor concentrazione.

L’istogramma è il primo metodo: si partiziona lo spazio in celle (qui intervallini di equale ampiezza) e si contano i punti che cadono in ciascuna cella; si può poi ra¢ gurare il gra…co, a scalini, di tale numerosità di punti per cella, oppure normalizzarlo in modo che l’area sottesa sia uguale ad 1, come è per le densità.

Ci sono poi vari metodi che producono un gra…co più regolare. Quello che si collega maggiormente alla parte teorica del nostro corso è il "kernel smoothing". Si deve avere un "kernel", ovvero una densità di probabilità K (x), bisogna riscalarla opportunamene, ponendo (d è la dimensione spaziale)

K (x) := dK 1x e bisogna e¤ettuare le medie

N(x) := 1 N

XN i=1

K x Xti :

Si noti che Z

K (x) dx = 1 e quindi

Z

N(x) dx = 1 N

XN i=1

Z

K x Xti dx = 1 N

XN i=1

Z

K (x) dx = 1:

Per implementare questo metodo bisogna scegliere il kernel K (alcuni comandi di R scelgono un kernel gaussiano di default) e soprattutto scegliere il riscalamento , detto anche

"bandwidth". L’idea è che prendendo un grande, si ottiene un gra…co di N(x) molto piatto, mentre con piccolo il gra…co oscilla molto; va quindi fatta una scelta intermedia, cosa che costituisce il problema principale del metodo (scelte sbagliate producono risultati del tutto inaccettabili). Invece, la scelta del kernel ha un’in‡uenza secondaria. Il valore della "bandwidth" è naturale che sia grosso modo collegato alla deviazione standard dei dati, ma la scelta pura =sd(dati) non produce il miglior risultato, pur essendo non

(5)

ed ad esempio l’articolo http://vita.had.co.nz/papers/density-estimation.pdf. Invitiamo a fare delle prove di questo tipo: si crea un campione ad es. gaussiano, si disegna l’istogramma corrispondente e, se si vuole, anche la densità vera che lo ha generato, e si prova poi a vedere la densità calcolata coi kernel smoothing precedenti, per diversi valori del parametro di bandwidth. Ecco un esempio di codice:

Z=rnorm(10000,0,10) hist(Z,50,FALSE) Z0=sort(Z)

Y=dnorm(Z0,0,10) lines(Z0,Y)

lines(density(Z,bw=sd(Z)/5),col="red",

mentre ecco due scelte sbagliate di bandwidth (riportiamo solo l’ultimo comando):

lines(density(Z,bw=0.1),col="red"), lines(density(Z,bw=10),col="red")

(6)

1.4 Limite macroscopico in questo caso semplice Innanzi tutto introduciamo la cosidetta misura empirica

StN := 1 N

XN i=1

Xti:

Si tratta di una misura di probabilità sui boreliani, combinazione convessa di delta di Dirac. In corrispondenza di ogni particella, viene posizionata una delta di Dirac di massa

1

N. Se si immaginasse questa misura come l’insieme di tante piccole masse concentrate, da un lato si percepirebbe il fatto che la massa totale è un po’ più addensata in certe zone piuttosto che in altre; ma dall’altro si avrebbe una visione ben diversa da quella fornita da un istogramma o da una densità - l’altezza del pro…lo è N1.

Possiamo "molli…care" questa misura atomica StN tramite convoluzione con un nucleo più o meno regolare: data una densità di probabilità (x), de…nito il molli…catore

(x) := d 1x si esegue la convoluzione

Z

(7)

veri…ca è identica a quella fatta sopra per K). Ma in realtà vale proprio

StN (x) = 1 N

XN i=1

x Xti

quindi coincide con l’operazione di kernel smoothing descritta sopra (con K = ).

Fatte queste premesse, ci poniamo il seguente problema: la misura empirica SNt , con- verge per N ! 1 ad una misura limite, possibilmente avente una densità t(x)? Nelle ipotesi fatte sopra questo è vero. Trattandosi di convergenza di misure, intendiamo la convergenza debole, ovvero

N !1lim Z

Rd

(x) StN(dx) = Z

Rd

(x) t(x) dx (1)

per ogni funzione continua e limitata .

Theorem 1 Nelle ipotesi indicate all’inizio della sezione 1.2, per ogni funzione test continua e limitata, vale (1) nel senso della convergenza quasi certa. Inoltre,

t(x) = Z

Rd

pt(x y) 0(y) dy

dove pt(x) è la densità del moto browniano, ovvero pt(x) = (2 t) d=2exp jxj2=2t . In…ne, la funzione t(x) risolve (in senso classico per t > 0, assumendo il dato iniziale ad es. nel senso della convergenza in L1 per t ! 0) il problema di Cauchy per l’equazione del calore

@ t

@t = 1

2 t; jt=0= 0:

Proof. Sotto le nostre ipotesi, …ssato t, le v.a. Xti sono i.i.d. e quindi lo sono anche le v.a.

Xti , con continua e limitata; inoltre, per la limitatezza, le Xti hanno momento

…nito (anche la varianza). Quindi, per la legge forte dei grandi numeri, 1

N XN i=1

Xti ! E Xt1

nel senso della convergenza quasi certa.

Essendo Xti = X0i + Bti ed essendo i due addendi X0i e Bti indipendenti, con densità rispettivamente 0e pt(x), anche Xti ha densità, data dalla convoluzione delle due, densità che abbiamo indicato con t(x) nell’enunciato. Inoltre

E Xt1 = Z

Rd

(x) t(x) dx

(8)

e quindi (1) è dimostrata, oltre alla formula di convoluzione per t(x).

In…ne, il fatto che t(x) soddis… il problema di Cauchy per l’equazione del calore è una veri…ca di analisi, basata su calcoli elementari, che omettiamo.

All’inizio di questa sotto-sezione abbiamo osservato che si può regolarizzare StN tramite la funzione StN (x). Cosa si può dire del limite di questa regolarizzata? In e¤etti, è questa che abbiamo ra¢ gurato nella sotto-sezione precedente e di cui ci siamo posti il problema della convergenza per N ! 1. Se lasciamo …ssato, la risposta è una banale conseguenza del teorema appena dimostrato (nell’ipotesi che , oltre ad essere una densità di probabilità, sia anche continua e limitata):

N !1lim StN (x) = ( t) (x)

per ogni x 2 Rd. Non si ottiene quindi t(x), se si mantiene costante.

Più interessante è agganciare ad N , cioè esaminare il limite limN !1 N StN (x) per opportune scelte della successione N. Quando accade che

N !1lim N StN (x) = t(x)?

Ecco un esempio di risultato.

Theorem 2 Supponiamo

N !1lim

d N

N = 0:

Allora, per ogni t > 0 ed x 2 Rd, vale

N !1lim Eh

N SNt (x) t(x) 2i

= 0:

Proof. Intanto abbiamo Eh

N StN (x) t(x) 2i

= E 2 4 1

N XN

i=1

N x Xti t(x)

23 5

2E 2 4 1

N XN

i=1

N x Xti E N x Xti

23 5

+2 1 N

XN i=1

E N x Xti t(x)

2

:

Circa il primo termine, usando l’indipendenza tra le v.a. N x Xti ed il fatto che

(9)

che poi, per l’uguale distribuzione delle v.a. N x Xti , vale

= 1 NE

h

N x Xt1 E N x Xt1 2 i

: Applicando lo stesso fatto al secondo termine, otteniamo

Eh

N StN (x) t(x) 2i 2 1

NEh

N x Xt1 E N x Xt1 2i

+ 2 E N x Xt1 t(x) 2 4

NEh

N x Xt1 2i + 4

NE N x Xt1 2+ 2 E N x Xt1 t(x)2: D’altra parte,

E N x Xt1 = Z

Rd N

(x y) t(y) dy

(abbiamo mostrato nella dimostrazione precedente che Xt1 ha densità t). Vale poi

N !1lim Z

Rd N

(x y) t(y) dy = t(x)

uniformemente in x per t > 0, in L1 per t = 0. Quindi 2 E N x Xt1 t(x)2 tende a zero. La successione

E N x Xt1 2 = Z

Rd N

(x y) t(y) dy

2

è, per la stessa ragione, limitata, quindi il termine N4E N x Xt1 2 tende a zero. Resta da capire il comportamento del termine N4Eh

N x Xt1 2i . Vale Eh

N x Xt1 2i

= Z

Rd 2

N(x y) t(y) dy = Nd Z

Rd d N

2 1

N (x y) t(y) dy

d N k tk1

Z

Rd d N

2 1

N (x y) dy = Ndk tk1 Z

Rd

2(z) dz quindi

4 NEh

N x Xt1 2i d

N

N 4 k tk1 Z

Rd

2(z) dz :

Questo termine tende a zero se

d N

N ! 0.

Exercise 3 Calibrare il parametro di bandwidth dello smoothing e¤ ettuato sopra in modo che, per N ! 1, la densità data dal metodo di smoothing tenda a quella limite.

Riferimenti