Introdu¸c˜ ao a cadeias de Markov e Simula¸c˜ ao
An´alise de dados e Simula¸c˜ao M´arcia D’Elia Branco
Apoio: Andressa Cerqueira (Aluna do Programa PAE)
Processo Estoc´astico
I X1,X2,· · ·,Xnrepresenta a evolu¸c˜ao no tempo de um sistema nos instantes 1,2,· · · ,n;
I A vari´avel aleat´oriaXt representa o estado do sistema no ins- tante t;
I O conjunto de valores que a vari´avelXtpode assumir ´e chamado deespa¸co de estados;
I Um exemplo simples de processo estoc´astico seria considerar que X1,X2,· · · ,Xn s˜ao vari´aveis aleat´orias independentes;
I Por´em, esse processo ´e muito simples para modelar fenˆomenos reais;
Exemplo: Suponha que Xn representa o saldo de uma conta cor- rente no dian;
X0: representa o saldo no instante de abertura da conta;
O espa¸co de estados do processo ´e dado por S =R
Nesse caso, o saldo da conta corrente no dia n dado o saldo da conta nos dias anterioresXn−1,Xn−2,· · · ,X0 depender´a apenas do dia anterior, ou seja,Xn−1.
Cadeias de Markov
Defini¸c˜ao: Um processo estoc´astico {Xn}, com espa¸co de esta- dos discreto (enumer´avel) S e em tempo discreto, ´e uma cadeia de Markov homogˆenea se para todoi0,i1,· · ·,in−1 ∈S
P(
futuro
z }| { Xn+1 =j |
presente
z }| { Xn=i,
passado
z }| {
Xn−1 =in−1,· · ·,X0=i0)
=P(Xn+1 =j
| {z }
futuro
|Xn=i
| {z }
presente
) =pij (1)
As probabilidades de transi¸c˜ao da cadeia podem ser representadas por uma matriz P, cujos elementospij satisfazem
I pij ≥0, para todoi,j ∈S
I P
j∈S
pij = 1, para todo i ∈S.
A distribui¸c˜ao inicial da cadeia ´e dada pelo vetor π0 = (π0(i))i∈S
tal que
π0(i) =P(X0=i) (2)
Exemplo: (Previs˜ao do tempo)
Suponha que a chance de chover amanh˜a depende apenas se choveu ou n˜ao hoje e n˜ao depende das condi¸c˜oes de dias anteriores.
Considere tamb´em que se chover hoje ent˜ao chover´a amanh˜a com probabilidade 0.7; e se n˜ao chover hoje, ent˜ao chover´a amanh˜a com probabilidade 0.4.
Qual ´e o espa¸co de estados?
Associamos a a¸c˜ao “chover” ao estado 1 e “n˜ao chover” ao estado 0, assim o espa¸co de estados da cadeia ´e dado porS ={0,1}.
A matriz de transi¸c˜ao ´e dada por P =
p00 p01 p10 p11
=
0.6 0.4 0.3 0.7
(3)
Simula¸c˜ao de uma cadeia de Markov
Para construir um algoritmo de simula¸c˜ao de uma cadeia de Markov precisamos construir duas fun¸c˜oes:
I Fun¸c˜ao inicial: ψ: [0,1]→S
simula o valor inicial da cadeia com base na distribui¸c˜aoπ0
I Fun¸c˜ao de atualiza¸c˜ao: φ:S×[0,1]→S
atualizar´a o estado da cadeia em cada instante de tempo.
Simulando o valor inicial
Suponha que o espa¸co de estados da cadeia ´e dado porS ={s1,s2,· · ·,sk} eu ∈[0,1].
Simular o valor inicial da cadeia ´e equivalente a simular de uma vari´avel aleat´oria discreta com distribui¸c˜ao de probabilidade dada por
x0 s1 s2 · · · sk
P(X0=x0) π0(s1) π0(s2) · · · π0(sk)
Simulando o valor inicial
Assim, uma poss´ıvel fun¸c˜aoψ´e dada por
ψ(u) =
s1, seu ∈
0, π0(s1) s2, seu ∈
π0(s1), π0(s1) +π0(s2) ...
sj, seu ∈
"
j−1
P
l=1
π0(sl),
j
P
l=1
π0(sl)
!
...
sk, seu ∈ k
P
l=1
π0(sl),1
Simulando o pr´oximo passo
Dado que a cadeia est´a no estado si no passo n, para simular o pr´oximo passo da cadeia basta simular da seguinte distribui¸c˜ao de probabilidade discreta:
xn+1 s1 s2 · · · sk
P(Xn+1 =xn+1|Xn=si) psis1 psis2 · · · psisk
Simulando o pr´oximo passo
Uma poss´ıvel fun¸c˜ao de atualiza¸c˜ao ´e dada por
φ(si,u) =
s1, seu ∈[0,psis1)
s2, seu ∈[psis1,psis1+psis2) ...
sj, seu ∈
"
j−1
P
l=1
psisl,
j
P
l=1
psisl
!
...
sk, seu ∈ k
P
l=1
psisl,1
Algoritmo:
1. Simuleu ∼U[0,1]
2. Fa¸ca x0 =ψ(u) No passo n
3. Simuleu ∼U[0,1]
4. Fa¸ca xn+1=φ(xn,u)
Exemplo: (Previs˜ao do tempo)
Simular da cadeia que descreve o problema da previs˜ao do tempo considerando a distribui¸c˜ao inicialπ0= (0.3,0.7).
Fun¸c˜ao inicial:
ψ(u) =
0, seu ∈[0,0.3) 1, seu ∈[0.3,1) Lembrando que:
P =
0.6 0.4 0.3 0.7
(4) Fun¸c˜ao de atualiza¸c˜ao:
φ(0,u) =
0, seu ∈[0,0.6)
1, seu ∈[0.6,1) φ(1,u) =
0, seu∈[0,0.3) 1, seu∈[0.3,1)
2 4 6 8 10 0.0
0.2 0.4 0.6 0.8 1.0
Passos
estado da cadeia
Dado que choveu hoje, qual a probabilidade de chover daqui 2 dias?
P(Xn+1= 1|Xn= 1) =p(2)11 (5) p11(2)representa a trasi¸c˜ao do estadoipara o estadoj em dois passos.
A matriz de transi¸c˜ao emn passos ´e dada por
P(n) =Pn (6)
P2=
0.480 0.520 0.390 0.610
P5=
0.429 0.571 0.428 0.572
P10=
0.429 0.571 0.429 0.571
P20=
0.429 0.571 0.429 0.571
Ent˜ao,
n→∞lim Pn=
0.429 0.571 0.429 0.571
e
n→∞lim Pi0(n) = 0.429 lim
n→∞Pi1(n)= 0.571 para i ∈ {0,1}
I O estudo do comportamento da cadeia de Markov quando o n´umero de passosn → ∞´e um dos problemas importantes no contexto de simula¸c˜ao
I Nesse caso, um dos conceitos importantes de cadeias de Markov
´
e a distribui¸c˜ao estacion´aria da cadeia.
Considere uma cadeia de Markov com espa¸co de estadosS ={1,· · · ,k}.
O vetor π = (π1· · ·πk) ´e chamado de distribui¸c˜ao estacion´aria da cadeia se
1. πj ≥0,∀j ∈S 2.
k
P
j=1
πj = 1 3. πP =π
Resultado:Considere uma cadeia de Markov com espa¸co de estados S ={1,· · ·,k}. Se lim
n→∞Pn existe e
n→∞lim Pij(n)=πj, ∀i ∈S e∀j ∈S Ent˜ao, (π1· · ·πk) ´e a distribui¸c˜ao estacion´aria da cadeia.
Observa¸c˜ao: A existˆencia de lim
n→∞Pn ´e garantida atrav´es de pro- priedades da cadeia. Essas propriedades e resultados s˜ao abordados no curso de processos estoc´asticos.
Exemplo: Considere a cadeia de Markov com espa¸co de estados S ={1,2,3} e matriz de transi¸c˜ao
P =
0.50 0.25 0.25 0.20 0.10 0.70 0.25 0.25 0.50
Vamos estudar o comportamento da cadeia quandon→ ∞
0 2 4 6 8 10
0.00.20.40.60.81.0
x0=1
Passos p1jn
0 2 4 6 8 10
0.00.20.40.60.81.0
x0=2
Passos p2jn
estado 1 estado 2 estado 3
0 2 4 6 8 10
0.00.20.40.60.81.0
x0=3
Passos p3jn
estado 1 estado 2 estado 3
P2 =
0.363 0.213 0.425 0.295 0.235 0.470 0.300 0.212 0.488
P5 =
0.319 0.217 0.463 0.318 0.217 0.464 0.318 0.217 0.464
P10=
0.319 0.217 0.464 0.319 0.217 0.464 0.319 0.217 0.464