72

Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

  • Upload
    ngongoc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Geração de variáveis aleatórias

Danilo Oliveira, Matheus Torquato

Centro de Informática

Universidade Federal de Pernambuco

5 de setembro de 2012

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 1 / 72

Page 2: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Resumo

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 2 / 72

Page 3: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 3 / 72

Page 4: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Introdução

Estatística trabalha com incertezas;É necessário estimar:

Número de pessoas procurando emprego;Índice Bovespa diário;Carga submetida ao sistema em determinados horários.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 4 / 72

Page 5: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Introdução

Obedecendo-se a distribuição de probabilidade é possível obter, porintermédio de transformações, valores para as variáveis aleatórias.

Particularmente útil para simulações em sistemas.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 5 / 72

Page 6: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Introdução

Independentemente da distribuição, o processo de geração é sempredividido em três partes:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 6 / 72

Page 7: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 7 / 72

Page 8: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Geração de números aleatórios

O primeiro passo para gerar uma variável aleatória é gerar númerosaleatórios uniformemente distribuídos entre 0 e 1

A maioria das linguagens de programação possuem uma função rand()que retorna um número aleatório entre 0 e 1

A sequência gerada é caracterizada por um número denominadosemente, que deve ser de�nido à priori

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 8 / 72

Page 9: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Geração de números aleatórios

Gerar valores uniformes entre 0 e 1.Submete-se uma semente a um transformação ciclíca.

Exemplo:

xn = (5xn−1 + 1) mod 16

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 9 / 72

Page 10: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Geração de números aleatórios

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 10 / 72

Page 11: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 11 / 72

Page 12: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Utilizando softwares de estatística

Não reinvente a roda, geradores de números aleatórios são fornecidospelos softwares de estatística mais utilizados

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 12 / 72

Page 13: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Minitab

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 13 / 72

Page 14: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

R

Alguns exemplos:Uniforme: runif(n, min=0, max=1)Normal: rnorm(n, mean=0, sd=1)Exponencial: rexp(n, rate=1)

Lista de distribuições disponíveis:http://stat.ethz.ch/R-manual/R-devel/library/stats/html/

Uniform.html

http://en.wikibooks.org/wiki/R_Programming/Probability_

Distributions

Distribuições Phase-Type -http://www.louisaslett.com/PhaseType/

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 14 / 72

Page 15: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Mercury

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 15 / 72

Page 16: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Mercury

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 16 / 72

Page 17: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Mercury

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 17 / 72

Page 18: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Utilizando softwares de estatística

Ter pacotes de software à disposição é bom, mas...E se quiséssemos gerar uma distribuição que não estivesseimplementada no R ou Minitab?E se quiséssemos gerar uma distribuição em uma linguagem deprogramação como Java ou C?E se estivéssemos utilizando um pacote de simulação (NS-2,Omnet++, TimeNet, etc.), que não implementa a distribuição que agente quer?

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 18 / 72

Page 19: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Utilizando softwares de estatística

É preciso conhecer técnicas de geração de variáveis aleatórias

Conhecer todas as principais técnicas é importante, tendo em vistaque não existe uma técnica que consiga gerar todas as distribuições deforma e�cienteAs técnicas que serão apresentadas aqui são:

Transformação inversaAceitação-RejeiçãoComposiçãoConvoluçãoCaracterização

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 19 / 72

Page 20: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 20 / 72

Page 21: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Seja X uma variável aleatória com função de distribuição acumuladaF. De�nimos F−1 como a função

F−1(y) = inf {x : F (x) ≥ y}, 0 ≤ y ≤ 1.

Seja U ∼ U(0, 1). A cdf da transformada inversa F−1(U) é dada por

P(F−1(U) ≤ x) = P(U ≤ F (X )) = F (x)

Portanto, para gerar a variável X, dado uma variável aleatóriaU ∼ U(0, 1) e sua cdf inversa F−1, aplicamos o seguinte algoritmo:

1 Generate U ∼ U(0, 1)2 Return X = F−1(U)

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 21 / 72

Page 22: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

O método pode ser visualizado através do seguinte grá�co:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 22 / 72

Page 23: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Exemplo: gerando uma variável aleatória exponencialF (x) = 1− eλx , para x ≥ 0 e F (x) = 0, caso contrárioF−1(x) = −1

λ lnU

Usando o R:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 23 / 72

Page 24: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Este método exige que a função de distribuição acumulada (cdf) Fexista numa forma que a função inversa correspondente F−1 possa serencontrada analiticamente ou algoritmicamente

Algumas funções cujo método é aplicável são: exponencial, uniforme,Weibull, logistic, Cauchy

Entretanto, para muitas outras distribuições de probabilidade, é ouimpossível ou difícil encontrar a transformada inversa, ou seja, resolver

F (x) =

∫ x

− inf

f (t)dt = u

com respeito a X.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 24 / 72

Page 25: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 25 / 72

Page 26: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Podemos calcular a função inversa de uma determinada função com aajuda do WolframAlpha (ou Mathematica):

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 26 / 72

Page 27: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Outro exemplo: a distribuição WeibullPropriedades:

pdf - f (x) = k

λ ( x

λ )k−1e−(x/λ)k , para x ≥ 0

cdf - P(X ≥ x) = 1− e−(x/λ)k

função da taxa de falha - h(t) = γθ ( t

θ )γ−1

cdf inversa - F−1(x) = (−ln(x))1

α

λ

O parâmetro k é denominado shape (forma) e o λ é denominado scale

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 27 / 72

Page 28: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Se uma quantidade x é um �Tempo até a falha� de algum dispositivoou componente de um sistema, a distribuição Weibull representa umadistribuição para a qual a taxa de falha é proporcional a uma potênciado tempo.A variação da taxa de falha é determinada pelo parâmetro k, da formadescrita a seguir:

K < 1 indica que a taxa de falha diminui com o passar do tempok = 1 indica que a taxa de falha é constante com o passar do tempo, oque sugere que as falhas são causadas por agentes externos ao sistemak > 1 indica que a taxa de falha aumenta com o passar do tempo,devido a algum processo de envelhencimento do componente

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 28 / 72

Page 29: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Implementação em R:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 29 / 72

Page 30: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Implementação em R:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 30 / 72

Page 31: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Entendendo o método da transformação inversa:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 31 / 72

Page 32: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

O algoritmo em ação:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 32 / 72

Page 33: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

O método também pode ser usado para gerar variáveis aleatóriasdiscretas:

Gere U ∼ U(0, 1)Encontre o menor inteiro positivo k tal que F (xl) ≥ U, e retorneX = xk

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 33 / 72

Page 34: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Exemplo:Considere a seguinte distribuição discreta:

x 1 2 3 4 5f(x) 0.2 0.3 0.1 0.05 0.35

A seguir, o código que implementa o método em R:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 34 / 72

Page 35: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da transformação inversa

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 35 / 72

Page 36: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 36 / 72

Page 37: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da composição

A técnica é utilizada quando a função de distribuição acumulada podeser expressa como soma ponderada de outras.

Comumente utilizada quando a transformação inversa é difícil ou lenta.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 37 / 72

Page 38: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da composição

Suponhamos que é possível encontrar uma função de distribuiçãoacumulada(cdf) F(x) que satisfaça:

F (x) = p1.F1(x) + p2.F2(x) + ...p1, p2, ... são os pesos de cada cdf.F1(x),F2(x), ... são as cdfs componentes de F(x)

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 38 / 72

Page 39: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da composição

Gerar um número aleatório queP(I = i) = pi

Utiliza-se a i-ésima função de densidade de probabilidade para gerar ovalor para a variável aleatória.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 39 / 72

Page 40: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da composição

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 40 / 72

Page 41: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da composição

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 41 / 72

Page 42: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da composição

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 42 / 72

Page 43: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 43 / 72

Page 44: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da convolução

Ideia semelhante à composição.

No caso, é utilizado quando o valor de variável aleatória pode serobtido através da soma de outras variaveis aleatórias.

x = y1 + y2 + ...+ yn

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 44 / 72

Page 45: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da convolução

AlgoritmoGerar n variáveis aleatórias (y1, y2, y3, . . . )Retornar a soma destes valores.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 45 / 72

Page 46: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da convolução

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 46 / 72

Page 47: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da convolução

Exemplo anterior em R:

X = (runif(1000000) - 0.5)Y = (runif(1000000) - 0.5)Z = X + Yd = density(Z)plot(d)

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 47 / 72

Page 48: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da convolução

Distribuições que podem ser geradas através desse método:

Erlang-k =∑k

i=1Exp(λ)

Binomial(n,p) =∑n

i=1Bernoulli(p)

Gere n × U(0, 1) e retorne o número dos qe são menores que p

Chi-square: χ2(v) =∑v

i=1N(0, 1)2

Γ(a, b1) + Γ(a, b2) = Γ(a, b1 + b2)

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 48 / 72

Page 49: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 49 / 72

Page 50: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da aceitação-rejeição

Este método é um dos mais úteis para realizar amostragem dedistribuições genéricas. Ele consiste em encontrar uma função g(x) talque exista cg(x) que domina a função de densidade f (x), isto é,cg(x) ≥ f (x) para todos os valores de xO algoritmo é descrito a seguir:

1 Escolha uma função de densidade g2 Escolha uma constante c tal que f (x)/g(x) ≤ c para todo x3 Gere um número aleatório uniforme u4 Gere um número aleatório v a partir de g5 Se c.u ≥ f (v)/g(v), aceite e retorne v6 Caso contrário, rejeite v e volte ao passo 3

Em outras palavras, gere X ∼ g e aceite isso com probabilidadef (X )/(Cg(X )).

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 50 / 72

Page 51: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da aceitação-rejeição

Descrição visual do método:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 51 / 72

Page 52: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da aceitação-rejeição

Implementação do método em R:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 52 / 72

Page 53: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da aceitação-rejeição

Implementação do método em R (cont.):

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 53 / 72

Page 54: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da aceitação-rejeição

Resultados do script anterior:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 54 / 72

Page 55: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da aceitação-rejeição

Variável aleatória gerada através de g deve ser simples, caso contrárioo método será ine�ciente

A e�ciência do método depende de como a função g(x) �envelopa� afunção f (x). Quanto maior a área entre as funções, maior aquantidade de valores rejeitados

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 55 / 72

Page 56: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 56 / 72

Page 57: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da caracterização

Características especiais de algumas distribuições permitem que suasvariáveis sejam geradas usando algoritmos especialmente adaptadospara elaExemplos de variáveis aleatórias que podem ser geradas com estatécnica:

Se o tempo entre chegadas de um processo é exponencialmentedistribuído com média 1/λ, o número de chegadas sobre um período T

tem uma distribuição de Poisson com parâmetro λT . Portanto, umavariável de Poisson pode ser obtida continuamente gerando variáveisexponenciais até que sua soma exceda o período T, e retornando aquantidade de variáveis geradasO a-ésimo menor número em uma sequência de a + b + 1 variáveisuniformes U(0, 1), possui uma distribuição beta(a,b)A razão entre duas variáveis normal padrão é uma variável Cauchy(0, 1)Uma distribuição qui-quadrada com graus de liberdade par χ2(v) é amesma que uma variável gamma γ(2, v/2)

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 57 / 72

Page 58: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método da caracterização

Exemplos de variáveis aleatórias que podem ser geradas com estatécnica:

Se x1 e x2 são duas variáveis gamma γ(a, b) e γ(a, c),respectivamente, a razão x1/(x1 + x2) tem uma distribuição beta(b,c)Se X tem uma variável normal padrão, eµ+σx é uma variávellognormal(µ, σ)

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 58 / 72

Page 59: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumário das técnicas

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 59 / 72

Page 60: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 60 / 72

Page 61: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método de Monte Carlo

Simulações estáticas ou que não variam o resultados conforme umabase temporal são chamadas simulações de Monte Carlo. Esta técnicaé útil para modelar fenômenos probabilísticos que não variam com oavanço do tempo.

A técnica se baseia na lei dos grandes números para aproximar valoresesperados.

Monte Carlo é uma técnica utilizada para analizar propagação de

incertezas, cujo objetivo é determinar como variação aleatória, falta deconhecimento e erros afetam a sensitividade, desempenho oucon�abilidade do sistema sendo modelado

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 61 / 72

Page 62: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método de Monte Carlo

O método de Monte Carlo pode ser implementado através do seguintealgoritmo:

1 Crie um modelo paramétrico y = f (x1, x2, ...xq)

2 Gere um conjunto de parâmetros aleatórios x1, x2, ..., xq3 Avalie o modelo e armazene o resultado como yi

4 Repita os passos 2 e 3 para i = 1 até n (n consideravelmente grande)5 Analise os resultados utilizando resumos estatísticos, histogramas,

intervalos de con�ança, etc.

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 62 / 72

Page 63: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método de Monte Carlo

Exemplo: Modelo de construção de dobradiças

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 63 / 72

Page 64: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método de Monte Carlo

Queremos, através de um modelo de simulação, detectar a proporçãode dobradiças defeituosas. Uma dobradiça é defeituosa quando o valorda folga: D − (A + B + C ) for menor que zero.

Podemos simular a montagem de uma dobradiça selecionando valorespara A, B, C e D aleatoriamente a partir de uma distribuição deprobabilidade. Suponha que os tamanhos A, B, C e D sigam umadistribuição normal com os seguintes parâmetros:

Variavel Média Desvio padrãoA 2 0.05B 2 0.05C 30 0.5D 34.5 0.5

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 64 / 72

Page 65: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Método de Monte Carlo

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 65 / 72

Page 66: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Sumario

1 Introdução

2 Geração de números aleatórios

3 Utilizando softwares de estatística

4 Método da transformada inversa

5 Método da composição

6 Método da convolução

7 Método da aceitação-rejeição

8 Método da caracterização

9 Método de Monte Carlo

10 Atividade prática

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 66 / 72

Page 67: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Atividade prática

Considere um servidor de arquivos composto por uma CPU e dois discos,representado pelo modelo da �gura abaixo:

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 67 / 72

Page 68: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Atividade prática

Resumo de Análise Operacional:

T - tempo de observação

K - número de recursos

Bi - tempo total ocupado do recurso i durante o tempo de observaçãoT

Ai - número de requisições feitas para o recurso i durante o tempo T

Ci - número de requisições completadas pelo recurso i durante otempo T

A0, C0 - indica número de requisições feitas e completadas pelosistema

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 68 / 72

Page 69: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Atividade prática

Resumo de Análise Operacional:

Si : tempo médio de serviço do recurso i: Si = Bi/Ci

Ui : utilização do recurso i: Ui = Bi/T

Xi : vazão do recurso i: Xi = Ci/T

X0: vazão do sistema: X0 = C0/T

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 69 / 72

Page 70: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Atividade prática

Leis operacionais:

Lei da utilização: Ui = Xi × Si = λi × Si

Lei do �uxo forçado: Xi = Vi × X0

Lei da demanda de serviço: Di = Vi = Si = Ui/X0

Lei de Little: N = X × R

Lei do tempo de resposta interativo = R = MX0− Z

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 70 / 72

Page 71: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Atividade prática

Características do servidor de banco de dados:

S1 = 0.02, S2 = 0.32, S3 = 0.24

V1 = 2, V2 = 4, V3 = 7

T = 1h

λ0 = X0 = 0.5 req/sec

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 71 / 72

Page 72: Danilo Oliveira, Matheus orquatoT - modcs.org · Obedecendo-se a distribuição de probabilidade é possível obter, por ... Lista de distribuições ... (x l) U , e retorne X = x

Atividade prática

Suponha que as condições do workload não mudem com o tempo, mas nãosejam determinísticos. Considere que a partir de logs coletados, através detestes de aderência, conseguimos aproximar os parâmetros anteriores pelasseguintes distribuições:

S1 ∼ Norm(0.02, 0.01)

S2 ∼ Norm(0.32, 0.05)

S3 ∼ Norm(0.24, 0.05)

V2 ∼ Geom(0.4)

V3 ∼ Geom(0.18)

Calcule o valor esperado da utilização de cada recurso, faça um resumoestatístico e gere intervalos de con�ança para α = 0.05

Danilo Oliveira, Matheus Torquato () 5 de setembro de 2012 72 / 72