Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a.a. 2011/12
Questi appunti non hanno alcuna pretesa di completezza. Sono solo alcu-
ne note ed esercizi che affiancano il corso di Sistemi Stocastici. Sono inoltre
da considerarsi in perenne “under revision” e pertanto possono contenere di-
screpanze, inesattezze o errori. Gli esempi ed gli esercizi proposti sono stati
implementati e risolti in GNU Octave 3.2.x. Matlab° R
potrebbe dare risultati
diversi.
Indice
0 Algebra lineare 5
0.1 Matrici a banda . . . . . . . . . . . . . . . . . . . . . . . . . . 5
0.2 Matrici di Toeplitz . . . . . . . . . . . . . . . . . . . . . . . . 6
0.3 Sistemi lineari e autovettori . . . . . . . . . . . . . . . . . . . 6
0.4 Altri comandi utili . . . . . . . . . . . . . . . . . . . . . . . . 8
0.5 Risoluzione di un sistema lineare sottodeterminato . . . . . . . 9
0.6 Esponenziale di matrice . . . . . . . . . . . . . . . . . . . . . 9
0.7 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1 Algoritmo di Metropolis 14
1.1 Generazione di matrici stocastiche simmetriche irriducibili . . 14
1.2 Algoritmo di Metropolis . . . . . . . . . . . . . . . . . . . . . 14
1.2.1 Simulated annealing . . . . . . . . . . . . . . . . . . . 17
1.3 Il problema del commesso viaggiatore . . . . . . . . . . . . . . 18
1.4 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3
4 INDICE
Algebra lineare
diag([1,2,3,4])
il cui risultato è
ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
> diag([1,2,3,4])+diag([5,6,7],1)+diag([8,9,10],-1)
ans =
1 5 0 0
8 2 6 0
0 9 3 7
0 0 10 4
5
6 CAPITOLO 0. ALGEBRA LINEARE
c1 r2 r3 . . . rn
c2 c1 r2 . . . rn−1
.. ... ... ... ..
. .
cn−1 cn−2 ... ...
r2
cn cn−1 . . . c2 c1
> toeplitz([0,1/5,0,0],[0,4/5,0,0])
ans =
x = A\b
y = b’/A
[V,D] = eig(P’)
0.3. SISTEMI LINEARI E AUTOVETTORI 7
vP T = v ⇒ P v T = v T
P T wT = wT ⇒ wP = w
ove
X X
Ri = z ∈ C : |z − aii | ≤ |aij | , Ci = z ∈ C : |z − aii | ≤ |aji |
j=1,...,n
j=1,...,n
j6=i j6=i
repmat([1,2,3],3,1)
produce
ans =
1 2 3
1 2 3
1 2 3
Valgono le seguenti
exp(0) = I
exp(diag(d1 , d2 , . . . , dn )) = diag(ed1 , ed2 , . . . , edn )
exp(2A) = exp(A) exp(A)
10 CAPITOLO 0. ALGEBRA LINEARE
ma, in generale,
exp(A + B) 6= exp(A) exp(B)
Per l’approssimazione di exp(A), non si usa una troncata della serie, in quan-
to la convergenza è lenta e prona ad errori di cancellazione. Il comando di
GNU Octave che approssima exp(A) è expm(A).
0.7. ESERCIZI 11
0.7 Esercizi
1. Implementare una function che determini se una matrice è stocastica,
a meno dell’errore di macchina. isstoc
2. Si implementino due functions che costruiscono le matrici
1 0 ... ... ... 0 r1 p 1 0 . . . . . . 0
q 0 p 0 . . . 0 q 1 r2 p 2 0 ... 0
... ... ... ... .
.
... ..
0 . 0 q 2 r3 p 3 .
. .
.. . . . . . . . . . . . 0 ... . . . . . . . . . ...
0
0 . . . 0 q 0 p 0 . . . 0 qn−2 rn−1 pn−1
0 ... ... ... 0 1 0 . . . . . . 0 qn−1 rn
di ordine n (n ≥ 3). catenanm
3. Data la matrice
0 1 0 0
0.5 0 0.5 0
P =
0 0.5 0 0.5
0 0 1 0
si calcoli, se esiste, l’autovettore sinistro normalizzato relativo all’auto-
valore 1.
4. Si ripeta l’esercizio precedente con la matrice
0.5 0.5 0 0
0.5 0 0.5 0
P = 0 0.5 0 0.5
0 0 0.5 0.5
0 0 0 1
4 1
3 2
r1 p 1 0 . . . . . . 0
q 1 r2 p 2 0 ... 0
... ..
0 q 2 r3 p 3 .
P =. .
.. .. ... ... ...
0
0 . . . 0 qn−2 rn−1 pn−1
0 . . . . . . 0 qn−1 rn
13. Dimostrare che se esiste una probabilità limite per una catena, essa è
anche invariante.
Capitolo 1
Algoritmo di Metropolis
14
1.2. ALGORITMO DI METROPOLIS 15
function Q = randstocsym(n)
%
% Q = randstocsym(n)
%
% Genera una matrice stocastica simmetrica random di ordine n
Q = zeros(n);
v = rand(1,n);
v = v / sum(v);
for i = 1:n-1
Q(i,i:n) = v;
Q(i:n,i) = v’;
v = rand(1,n-i);
v = v * ((1 - sum(Q(i + 1,1:i))) / sum(v));
end
Q(n,n) = v;
Q = Q - 2 * min([min(min(Q)),0]);
Q = Q / (sum(sum(Q))/n);
function P = metropolis(v,Q)
%
% P = metropolis(v)
% P = metropolis(v,Q)
%
n = length(v);
if (nargin == 1)
Q = randstocsym(n);
end
V = repmat(v,n,1);
W = repmat(v’,1,n);
P = zeros(n);
index = find(V >= W);
P(index) = Q(index);
index = find(V < W);
P(index) = Q(index) .* (V(index) ./ W(index));
P = P - diag(diag(P));
d = 1 - sum(P,2);
P = P + diag(d);
P k = P P k−1 , k = 1, 2, . . . , m
Calcolo di v̂ ε
Si ha
à Pn !−1 à n !−1
−H(j)/ε
e−H(i)/ε j=1 e
X
−(H(j)−H(i))/ε
v̂iε = Pn −H(j)/ε = = e
j=1 e e−H(i)/ε j=1
1.4 Esercizi
1. Data una distribuzione di probabilità v si costruisca una matrice ir-
riducibile P che ammetta v come probabilità invariante. Si calcoli
poi
wP n
per n = 1, 2, . . . , 100, w distribuzione di probabilità. Si produca un
grafico semilogaritmico nelle ordinate dell’errore kv − wP n k1 .
2. Si implementi un algoritmo deterministico che calcola il minimo tra gli
elementi di un vettore dato.
3.? Si consideri la funzione H(i) = x2i sen(3xi ) sull’insieme {xi }i dei 100
punti equispaziati tra π/2 e 2π. Si costruisca la matrice di transizione
Pε della catena che, ad un tempo n grande, ha una distribuzione che si
concentra su quegli stati in cui H è più piccola. Si verifichi che per ε
sufficientemente piccolo e n sufficientemente grande, (wPεn )ī ≈ 1, dove
w è una distribuzione di probabilità e ī è tale per cui mini H(i) = H(ī).
Simulazione di catene di
Markov
20
2.2. SIMULAZIONE DI CATENE DI MARKOV 21
function j = simula(P,N,i)
%
% j = simula(P,N)
% j = simula(P,N,i)
%
% Simula la catena di Markov di matrice di transizione P,
% per N transizioni
n = length(P);
if (nargin == 2)
i = randdisc(ones(1,n)/n);
end
for k = 1:N
j = randdisc(P(i,:));
i = j;
end
Dunque,
2. se vj < vi e j 6= i,
3. se j = i,
Coda M/G/1
a1 a2 a3 . . . ...
a1 a2 a3 . . . . . .
P = 0 a1 a2 a3 . . .
.. ... ... ... . . .
.
.. ... ... ... ...
.
Coda G/M/1
Si noti che, pur essendo P una matrice di “ordine” infinito, ogni sua riga
rigacodagm1 è composta da un numero finito di elementi diversi da 0. Inoltre, il primo
elemento di ogni riga si ottiene con una somma finita.
ove ones è una matrice di ordine n con tutti gli elementi pari ad 1.
v = ones(1,n)/(eye(n)-P+ones(n))
2.5. LEGGE DEI GRANDI NUMERI PER C.D.M. 25
E(IAj ) = P(Aj )
(i)
Consideriamo adesso un campione statistico {IAj }mi=1 i.i.d. (simulazioni ripe-
tute in maniera indipendente della catena, dallo stato i per n transizioni).
Uno stimatore (corretto e consistente) della media di IAj è
m
1 X (i)
I Aj = I
m i=1 Aj
26 CAPITOLO 2. SIMULAZIONE DI CATENE DI MARKOV
2.7 Esercizi
1. Si considerino le variabili aleatorie {Xn } i.i.d., distribuite come la
variabile aleatoria di Bernoulli
(
1 0
X=
p q
1
Pn
con p = 1/3. Le si simuli, verificando che n i=1 Xn ≈ E(X) = p.
e−λ λk
P(P(λ) = k) = sk+1 = , k≥0
k!
28 CAPITOLO 2. SIMULAZIONE DI CATENE DI MARKOV
29
30 CAPITOLO 3. CATENE DI MARKOV IN TEMPO CONTINUO
Digressione su erf
Dimostriamo che
t
t−µ
µ µ ¶¶
1 1
Z
(x−µ)2
−
√ e 2σ 2 dx = 1 + erf √
2πσ 2 −∞ 2 2σ
Da ∞ √
Z
2
e−x dx = π
−∞
si ha, per simmetria, √
0
π
Z
−x2
e dx =
−∞ 2
Dunque,
t µ t
1 1 1
Z Z Z
(x−µ)2 (x−µ)2 (x−µ)2
− −
√ e 2σ 2 dx = √ e 2σ 2 dx + √ e− 2σ 2 dx =
2πσ 2 −∞ 2πσ 2 −∞ 2πσ 2 µ
√ 0
√ Z √t−µ
2σ 2 2σ 2
Z
2σ
−s2 2
=√ e ds + √ e−s ds =
2
2πσ −∞ 2πσ 02
t−µ
µ ¶
1 1
= + erf √
2 2 2σ
3.2. PROCESSO DI POISSON OMOGENEO 31
A = diag(lambda)*(Q-eye(size(Q)))
3.6 Esercizi
1. Verificare la correttezza della simulazione di variabili aleatorie continue.
2. Verificare che il numero di cambiamenti di stato N (0, t] nell’intervallo poisson
di tempo (0, t] di un processo di Poisson è distribuito come una variabile
aleatoria di Poisson P(λt).
3. Approssimare la probabilità invariante di una coda M/M/1 di parame- codamm1
tri a = 1 e b = 2.
4.? Quando Happy Harry gioca a basket, è soggetto ad infortuni: essi
variano dallo stato 1 (nessun infortunio), allo stato 2 (infortuni minori),
allo stato 3 (infortuni seri che impediscono di giocare). La transizione
tra gli stati avviene secondo la matrice di transizione
1 2
0 3 3
Q = 13 0 32
1 0 0
I tempi di permanenza negli stati sono distribuiti rispettivamente come
E(1/3), E(1/3) e E(1/6). Consideriamo il processo di Markov {X(t)}
che descrive lo stato di salute di Harry al tempo t. Qual è il genera-
tore? Qual è, sul lungo periodo, la frazione di tempo in cui non può harry
giocare? Harry è pagato 40 dollari quando è in buona forma, 30 dollari
quando può comunque giocare e 20 dollari se non può giocare. Qual è
il guadagno medio per partita sul lungo periodo? Si determini infine
la probabilità di passare dallo stato di forma allo stato di infortunio
serio in un arco di tempo ∆t = 10. La si verifichi simulando più volte
il processo.
5. Implementare una function x = fgammainv(alpha,gamma,y) che cal- fgammainv
cola l’inversa della funzione di ripartizione FΓ(α,λ) (t) della variabile
aleatoria Γ(α, λ), α > 0, λ > 0, di densità
( α
λ
xα−1 e−λx x > 0
f (x) = Γ(α)
0 x≤0
(Sugg.: occorre scegliere con cura il punto di partenza per il metodo di
Newton. In particolare, se α ≥ 1, osservare che FΓ(α,λ) (t) è convessa
per 0 < t < (α − 1)/λ e dunque conviene prendere come Rpunto di par-
t λα α−1
tenza (α − 1)/λ. Altrimenti, osservare che FΓ(α,λ) (t) < 0 Γ(α) x dx
−1
e prendere come punto di partenza per il calcolo di FΓ(α,λ) (y) lo zero
λα xα
dell’equazione Γ(α) α
− y = 0.)
Capitolo 4
n
X
Sn = Yi
i=1
(S1 = 0), e con N (t) il numero di rinnovi nell’intervallo [0, t], se E(Y1 ) < ∞,
allora
N (t) q.c. 1
• → per t → ∞
t E(Y1 )
E(N (t)) 1
• → per t → ∞
t E(Y1 )
às !
d t tVar(Y1 )
• se Var(Y1 ) < ∞, allora N (t) → N , per t → ∞
E(Y1 ) E(Y1 )3
34
4.2. CODA G/G/1 35
4.3 Esercizi
rinnovi 1. Verificare il secondo e il terzo teorema limite per i processi di rinnovo.
\, 6
bar, 16
cumsum, 16
diag, 5
eig, 6
erfinv, 24
expm, 9
find, 13
magic, 11
norm, 8
qr, 8
rand, 16
randg, 27
randn, 27
repmat, 8
/, 6
sum, 8
toeplitz, 6
37