Top Banner
1 Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Algoritmos para Geração de Variáveis Aleatórias Distribuições Teóricas de Probabilidade
22

Algoritmos para Geração de Variáveis Aleatórias

Jan 06, 2016

Download

Documents

wynona

Algoritmos para Geração de Variáveis Aleatórias. Distribuições Teóricas de Probabilidade. Geração de Variáveis Aleatórias. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algoritmos para Geração de Variáveis Aleatórias

1Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Algoritmos para Geração de Variáveis Aleatórias

Distribuições Teóricas de Probabilidade

Page 2: Algoritmos para Geração de Variáveis Aleatórias

2Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Geração de Variáveis Aleatórias

Métodos e procedimentos computacionais para a geração de variáveis aleatórias com características específicas de alguma das diversas distribuições teóricas de probabilidades.

A necessidade de tais variáveis: tempos entre chegadas;

tempos de serviço;

demandas por produtos, etc.

Page 3: Algoritmos para Geração de Variáveis Aleatórias

3Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Métodos de Geração

Os métodos baseiam-se na prévia geração de um número aleatório R, uniformemente distribuído sobre o intervalo (0, 1).

x expresso como uma função explícita de R..

Métodos básicos: Transformação Inversa;

Transformação Direta;

Convolução;

Aceitação/Rejeição;

Propriedades Especiais

Page 4: Algoritmos para Geração de Variáveis Aleatórias

4Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Geométrica

Uma variável com distribuição geométrica representa o número de falhas observadas em uma seqüência de provas do tipo Bernoulli, sua função densidade é:

p(x) = p(1 - p)x , x = 1, 2, ...

Pelo método da transformação inversa, obtém-se a seguinte relação:

ln( )

ln( )

ln( )

ln( )

1

1

1

1

R

px

R

p

Page 5: Algoritmos para Geração de Variáveis Aleatórias

5Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Geométrica

Para a obtenção de uma variável com distribuição geométrica, necessitamos do parâmetro (probabilidade de um sucesso) p.

Obtido tal elemento, os seguintes passos devem ser considerados:

Gerar R;

Calcular x =

A função (arredondamento para o maior inteiro) atribui a x o maior inteiro que satisfaz a relação anterior.

ln( )

ln( )

1

1

R

p .

.

Page 6: Algoritmos para Geração de Variáveis Aleatórias

6Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Gerar três valores de uma distribuição geométrica com p = 1/2. Usando uma tabela de valores aleatórios, obtemos R1 = 0,932; R2 = 0,105 e R3 = 0,687.

Primeiramente calculamos o valor da constante 1/ln (1-p) = 1/ln (1-0,5) = -1,443. Na seqüência, obtemos os valores dos xi’s a partir dos Ri’s .

Page 7: Algoritmos para Geração de Variáveis Aleatórias

7Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

P a s s o V a l o r d e R i e d e x i 1 R 1 = 0 , 9 3 2 2 x 1 = - 1 , 4 4 3 l n ( 1 - 0 , 9 3 2 ) 3 8 7 8, = 4 1 R 2 = 0 , 1 0 5 2 x 2 = - 1 , 4 4 3 l n ( 1 - 0 , 1 0 5 ) = 1 1 R 3 = 0 , 6 8 7 2 x 3 = - 1 , 4 4 3 l n ( 1 - 0 , 6 8 7 ) = 2

Page 8: Algoritmos para Geração de Variáveis Aleatórias

8Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição de Poisson

A distribuição de Poisson se caracteriza pela seguinte função densidade de probabilidade:

a qual representa a probabilidade de ocorrência de x sucessos, num dado intervalo de tempo. Onde , é o valor esperado do número de ocorrências por unidade de tempo.

p x P X x ex

xx

( ) ( )!

0,1,2, ..., 0

Page 9: Algoritmos para Geração de Variáveis Aleatórias

9Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição de Poisson

Geração de uma variável aleatória Poisson, considerando o método da Aceitação/Rejeição:

Fazer n = 0, e P =1;

Gerar um número aleatório Rn+1 e substituir P por P.Rn+1;

Se, , aceitar X = n, caso contrário, rejeitar n atual, fazer n = n +1, e retornar aos procedimentos no passo 2.

A idéia básica por traz do método da Aceitação/Rejeição, é gerar um número aleatório e testar uma determinada condição de “aceitação”. Caso esta condição seja satisfeita, o valor gerado é aceito, caso contrário os passos são repetidos.

P e

Page 10: Algoritmos para Geração de Variáveis Aleatórias

10Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Gerar três números, segundo uma distribuição de Poisson, com = 0,2.

Primeiramente, computamos o valor de .

Na seqüência, obtemos um conjunto de números aleatórios e iniciamos os procedimentos estabelecidos nos passos de 1 a 3 anteriormente firmados

e e 0 2 0 8187, ,

Page 11: Algoritmos para Geração de Variáveis Aleatórias

11Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Passo Geração de P, n e X1 n = 0, P = 12 R1 = 0,4357; P = 1.R1 = 0,43573 como P = 0,4357 < e-0,2 < 0,8187; aceitamos X = 01 - 3 R1 = 0,4146 nos leva a X = 01 n = 0, P = 12 R1 = 0,8353; P = 1.R1 = 0,83533 como P e ; rejeitamos n = 0 e retornamos ao

passo 2 com n = 12 R2 = 0,9952; P = P.R2 = 0,8353.0,9952 = 0,83133 como P e ; rejeitamos n = 1 e retornamos ao

passo 2 com n = 22 R3 = 0,8004; P = P.R3 = 0,8313. 0,8004 = 0,66543 como P = 0,6654< e-0,2 < 0,8187; aceitamos X = 2

Page 12: Algoritmos para Geração de Variáveis Aleatórias

12Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Empírica Discreta

Para gerar uma variável aleatória que tenha um comportamento semelhante ao determinado por distribuição empírica discreta conhecida, é necessário, inicialmente, determinarmos as freqüências relativas acumuladas da distribuição. Por exemplo:

Uma vez que tais informações estejam disponíveis, aplicamos o método da transformação inversa que, neste caso, torna-se um processo de pesquisa em uma tabela de valores, num procedimento muito semelhante ao que realizamos no capítulo 1, quando tratamos do método de Monte Carlo.

x p(x) F(x)0 0,50 0,501 0,30 0,802 0,20 1,00

Page 13: Algoritmos para Geração de Variáveis Aleatórias

13Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Procedimentos

Os procedimentos de busca são facilitados pela construção de uma tabela para a geração dos valores de x:

Esquematizando os procedimentos:

1. Gerar R;

2. Descobrir i, tal que ri-1 < R ri;

3 Fazer X = xi.

i Entrada ri Saída xi

1 0,50 02 0,80 13 1,00 2

Page 14: Algoritmos para Geração de Variáveis Aleatórias

14Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Suponha uma variável aleatória com a seguinte distribuição de probabilidades:

x p(x) F(x)2 0,45 0,453 0,35 0,805 0,20 1,00

Dados R1= 0,43; R2=0,61 e R3=0,83; gerar três valores para a variável X, que pertençam a esta distribuição.

R1= 0,43 < F(x=2) = 0,45; logo X=2;

F(x=2) = 0,45 < R2= 0,61 F(x=3) = 0,80 ; logo X=3;

F(x=3) = 0,80 < R3= 0,83 F(x=5) = 1,00 ; logo X=5;

Page 15: Algoritmos para Geração de Variáveis Aleatórias

15Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Uniforme

Uma variável aleatória x tem distribuição uniforme sobre um intervalo [a, b], se sua função densidade de probabilidade (fdp) é dada por:

A técnica mais utilizada para a obtenção de uma variável aleatória uniformemente distribuída é a da transformação inversa. A fórmula é a seguinte:

Os parâmetros necessários para a obtenção de uma variável com distribuição uniforme são apenas os valores extremos do intervalo [a, b]. Uma vez definidos, os seguintes passos devem ser considerados: Gerar R; Calcular

f xb a

a x b( )

1

x a b a R ( )

x a b a R ( )

Page 16: Algoritmos para Geração de Variáveis Aleatórias

16Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Gerar três valores de uma distribuição uniforme no intervalo [10, 50]. Usando os seguintes valores aleatórios R1 = 0,932; R2 = 0,105 e R3 = 0,687. Aplicando o método proposto teremos:

Passo Valor de Ri e de xi

1 R1 = 0,9322 x1 = 10 + (40)0,932 = 47,281 R2 = 0,1052 x2 =10 + (40)0,105= 14,21 R3 = 0,6872 x3 = 10 + (40)0,687= 37,48

Page 17: Algoritmos para Geração de Variáveis Aleatórias

17Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Triangular

Uma variável aleatória x tem uma distribuição triangular se sua fdp é dada por:

f x

x a

b a c ac x

c b c ab x c

( )

( )

( )( ),

( )

( )( ),

2

2

a x b

onde a b c . A moda b = 3 E (x) - (a + c).

Pelo método da transformação inversa obtém-se a fórmula para gerar amostras com distribuição triangular. A variável x com esta distribuição é obtida por:

xa R b a c a R

b a

c a

c R c b c ab a

c aR

( )( ) ,

( )( )( )

se

, se

0

1 1

Page 18: Algoritmos para Geração de Variáveis Aleatórias

18Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo Gerar três valores de uma distribuição triangular com parâmetros (0, 1,

2). Obtidos R1 = 0,544; R2 = 0,747 e R3 = 0,449.

xR R

R R

2 01

2

2 2 11

21( )

P asso V alo r de R i e de x i

1 R 1 = 0 ,5442

x 1 = 2 - 2 1 0 5 44( , ) = 1 ,0451 R 2 = 0 ,7472

x 2 = 2 - 2 1 0 74 7( , ) = 1 ,2881 R 3 = 0 ,4492

x 3 = 2 0 449( , ) = 0 ,947

Page 19: Algoritmos para Geração de Variáveis Aleatórias

19Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Exponencial

Uma variável aleatória x tem uma distribuição exponencial se sua fdp é dada por:

O parâmetro é interpretado como sendo o número médio de ocorrências por unidade de tempo, enquanto a razão representa o tempo médio entre as ocorrências.

Aplicando-se o método da transformação inversa para a obtenção de uma variável aleatória x com distribuição exponencial resulta na seguinte relação:

Uma vez que (1-Ri), da mesma forma que Ri, possui distribuição uniforme no intervalo [0, 1], podemos substituir (1-Ri) por Ri na expressão acima.

f x e xx( ) , 0

xR

ii

ln( )1

Page 20: Algoritmos para Geração de Variáveis Aleatórias

20Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Gerar valores de uma distribuição exponencial com parâmetro =1.

i 1 2 3 4 5Ri 0,1306 0,0422 0,6597 0,7965 0,7696xi 2,0356 3,1653 0,4159 0,2275 0,2618

Page 21: Algoritmos para Geração de Variáveis Aleatórias

21Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Distribuição Normal

Uma variável aleatória x tem uma distribuição normal se sua fdp é dada por:

f x e xx

( ) ,( )

1

2

2

22

Método de Box-MullerZ1=B cos Z2=B sen

Z R R

Z R R

1 1 2

2 1 2

2 2

2 2

ln cos( )

ln sen( )

Page 22: Algoritmos para Geração de Variáveis Aleatórias

22Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Exemplo

Considerando as equações anteriores, gerar dois valores com distribuição normal padronizada a partir de R1 = 0,1758 e R2 = 0,1489.

Z1 = [-2 ln (0,1758)]½ cos ( 0,1489) = 1,11

Z2 = [-2 ln (0,1758)]½ sen ( 0,1489) = 1,50

x1 = 10 + 2.(1,11) = 12,22

x2 = 10 + 2.(1,50) = 13,00

Para a obtenção de uma variável aleatória normal com média e desvio padrão , deve-se aplicar a transformação xi = + .Zi aos valores da normal padronizada. Por exemplo, para transformar os valores obtidos de Z1 e Z2 em uma Normal (10; 2), calcula-se: