introdução a cadeias de markov e simulaçãombranco/aulacadeiamarko_mae03992017.… ·...
TRANSCRIPT
Introducao a cadeias de Markov e Simulacao
Analise de dados e Simulacao
Marcia D’Elia Branco
Apoio: Andressa Cerqueira (Aluna do Programa PAE)
Processo Estocastico
I X1,X2, · · · ,Xn representa a evolucao no tempo de um sistemanos instantes 1, 2, · · · , n;
I A variavel aleatoria Xt representa o estado do sistema no ins-tante t;
I O conjunto de valores que a variavel Xt pode assumir e chamadode espaco de estados;
I Um exemplo simples de processo estocastico seria considerarque X1,X2, · · · ,Xn sao variaveis aleatorias independentes;
I Porem, esse processo e muito simples para modelar fenomenosreais;
Exemplo: Suponha que Xn representa o saldo de uma conta cor-rente no dia n;
X0: representa o saldo no instante de abertura da conta;O espaco de estados do processo e dado por S = R
Nesse caso, o saldo da conta corrente no dia n dado o saldo daconta nos dias anteriores Xn−1,Xn−2, · · · ,X0 dependera apenas dodia anterior, ou seja, Xn−1.
Cadeias de Markov
Definicao: Um processo estocastico {Xn}, com espaco de esta-dos discreto (enumeravel) S e em tempo discreto, e uma cadeia deMarkov homogenea se para todo i0, i1, · · · , in−1 ∈ S
P(
futuro︷ ︸︸ ︷Xn+1 = j |
presente︷ ︸︸ ︷Xn = i ,
passado︷ ︸︸ ︷Xn−1 = in−1, · · · ,X0 = i0)
= P(Xn+1 = j︸ ︷︷ ︸futuro
| Xn = i︸ ︷︷ ︸presente
) = pij(1)
As probabilidades de transicao da cadeia podem ser representadaspor uma matriz P, cujos elementos pij satisfazem
I pij ≥ 0, para todo i , j ∈ S
I∑j∈S
pij = 1, para todo i ∈ S .
A distribuicao inicial da cadeia e dada pelo vetor π0 = (π0(i))i∈Stal que
π0(i) = P(X0 = i) (2)
Exemplo: (Previsao do tempo)
Suponha que a chance de chover amanha depende apenas se choveuou nao hoje e nao depende das condicoes de dias anteriores.Considere tambem que se chover hoje entao chovera amanha comprobabilidade 0.7; e se nao chover hoje, entao chovera amanha comprobabilidade 0.4.
Qual e o espaco de estados?
Associamos a acao “chover” ao estado 1 e “nao chover” ao estado0, assim o espaco de estados da cadeia e dado por S = {0, 1}.A matriz de transicao e dada por
P =
(p00 p01p10 p11
)=
(0.6 0.40.3 0.7
)(3)
Simulacao de uma cadeia de Markov
Para construir um algoritmo de simulacao de uma cadeia de Markovprecisamos construir duas funcoes:
I Funcao inicial: ψ : [0, 1]→ Ssimula o valor inicial da cadeia com base na distribuicao π0
I Funcao de atualizacao: φ : S × [0, 1]→ Satualizara o estado da cadeia em cada instante de tempo.
Simulando o valor inicial
Suponha que o espaco de estados da cadeia e dado por S = {s1, s2, · · · , sk}e u ∈ [0, 1].Simular o valor inicial da cadeia e equivalente a simular de umavariavel aleatoria discreta com distribuicao de probabilidade dadapor
x0 s1 s2 · · · sk
P(X0 = x0) π0(s1) π0(s2) · · · π0(sk)
Simulando o valor inicial
Assim, uma possıvel funcao ψ e dada por
ψ(u) =
s1, se u ∈[0, π0(s1)
)s2, se u ∈
[π0(s1), π0(s1) + π0(s2)
)...
sj , se u ∈
[j−1∑l=1
π0(sl),j∑
l=1
π0(sl)
)...
sk , se u ∈[
k∑l=1
π0(sl), 1
]
Simulando o proximo passo
Dado que a cadeia esta no estado si no passo n, para simular oproximo passo da cadeia basta simular da seguinte distribuicao deprobabilidade discreta:
xn+1 s1 s2 · · · sk
P(Xn+1 = xn+1|Xn = si ) psi s1 psi s2 · · · psi sk
Simulando o proximo passo
Uma possıvel funcao de atualizacao e dada por
φ(si , u) =
s1, se u ∈ [0, psi s1)s2, se u ∈ [psi s1 , psi s1 + psi s2)...
sj , se u ∈
[j−1∑l=1
psi sl ,j∑
l=1
psi sl
)...
sk , se u ∈[
k∑l=1
psi sl , 1
]
Algoritmo:
1. Simule u ∼ U[0, 1]
2. Faca x0 = ψ(u)No passo n
3. Simule u ∼ U[0, 1]
4. Faca xn+1 = φ(xn, u)
Exemplo: (Previsao do tempo)Simular da cadeia que descreve o problema da previsao do tempoconsiderando a distribuicao inicial π0 = (0.3, 0.7).
Funcao inicial:
ψ(u) =
{0, se u ∈ [0, 0.3)1, se u ∈ [0.3, 1)
Lembrando que:
P =
(0.6 0.40.3 0.7
)(4)
Funcao de atualizacao:
φ(0, u) =
{0, se u ∈ [0, 0.6)1, se u ∈ [0.6, 1)
φ(1, u) =
{0, se u ∈ [0, 0.3)1, se u ∈ [0.3, 1)
2 4 6 8 10
0.0
0.2
0.4
0.6
0.8
1.0
Passos
esta
do d
a ca
deia
Dado que choveu hoje, qual a probabilidade de chover daqui 2 dias?
P(Xn+1 = 1|Xn = 1) = p(2)11 (5)
p(2)11 representa a trasicao do estado i para o estado j em dois passos.
A matriz de transicao em n passos e dada por
P(n) = Pn (6)
P2 =
(0.480 0.5200.390 0.610
)
P5 =
(0.429 0.5710.428 0.572
)
P10 =
(0.429 0.5710.429 0.571
)
P20 =
(0.429 0.5710.429 0.571
)Entao,
limn→∞
Pn =
(0.429 0.5710.429 0.571
)e
limn→∞
P(n)i0 = 0.429 lim
n→∞P(n)i1 = 0.571 para i ∈ {0, 1}
I O estudo do comportamento da cadeia de Markov quando onumero de passos n→∞ e um dos problemas importantes nocontexto de simulacao
I Nesse caso, um dos conceitos importantes de cadeias de Markove a distribuicao estacionaria da cadeia.
Considere uma cadeia de Markov com espaco de estados S = {1, · · · , k}.O vetor π = (π1 · · ·πk) e chamado de distribuicao estacionaria dacadeia se
1. πj ≥ 0,∀j ∈ S
2.k∑
j=1πj = 1
3. πP = π
Resultado: Considere uma cadeia de Markov com espaco de estadosS = {1, · · · , k}. Se lim
n→∞Pn existe e
limn→∞
P(n)ij = πj , ∀i ∈ S e ∀j ∈ S
Entao, (π1 · · ·πk) e a distribuicao estacionaria da cadeia.
Observacao: A existencia de limn→∞
Pn e garantida atraves de pro-
priedades da cadeia. Essas propriedades e resultados sao abordadosno curso de processos estocasticos.
Exemplo: Considere a cadeia de Markov com espaco de estadosS = {1, 2, 3} e matriz de transicao
P =
0.50 0.25 0.250.20 0.10 0.700.25 0.25 0.50
Vamos estudar o comportamento da cadeia quando n→∞
0 2 4 6 8 10
0.0
0.2
0.4
0.6
0.8
1.0
x0 = 1
Passos
p 1jn
0 2 4 6 8 100.0
0.2
0.4
0.6
0.8
1.0
x0 = 2
Passos
p 2jn
estado 1estado 2estado 3
0 2 4 6 8 10
0.0
0.2
0.4
0.6
0.8
1.0
x0 = 3
Passos
p 3jn
estado 1estado 2estado 3
P2 =
0.363 0.213 0.4250.295 0.235 0.4700.300 0.212 0.488
P5 =
0.319 0.217 0.4630.318 0.217 0.4640.318 0.217 0.464
P10 =
0.319 0.217 0.4640.319 0.217 0.4640.319 0.217 0.464