0% acharam este documento útil (0 voto)
13 visualizações34 páginas

Aula3 2024 1

Principios de simulação 3

Enviado por

lzu.estudos.01
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações34 páginas

Aula3 2024 1

Principios de simulação 3

Enviado por

lzu.estudos.01
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 34

TP 547- Princı́pios de Simulação de Sistemas de

Comunicação

Prof. Samuel Baraldi Mafra

Prof. Samuel Baraldi Mafra www.inatel.br


Statistics (scipy.stats):
https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html
numpy: https://numpy.org/doc/stable/
matplotlib: https://matplotlib.org/stable/tutorials/index.html
Comparação numpy Matlab:
http://mathesaurus.sourceforge.net/matlab-numpy.html

Prof. Samuel Baraldi Mafra www.inatel.br


Geração de variáveis aleatórias contı́nuas

Prof. Samuel Baraldi Mafra www.inatel.br


Método da transformada inversa

Seja X uma variável aleatória com função de distribuição


acumulada F ;
Definindo FX−1 (z) como a função X = FX−1 (z) com
0 ≤ z ≤ 1;
Seja U ∼ U (0,1), a cdf da transformada inversa F −1 (U ) é

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

Este método pode ser utilizado em distribuições que sejam


inversı́veis.
Algoritmo de geração
Gerar um vetor U de valores com distribuição uniforme entre 0 e 1;
Calcular X = F −1 (U );

Prof. Samuel Baraldi Mafra www.inatel.br


Método da transformada inversa

Prof. Samuel Baraldi Mafra www.inatel.br


Geradores de Variáveis Aleatórias
com Distribuição Uniforme em um intervalo [a,b]

Considerando uma variável aleatória com distribuição uniforme no


intervalo [a,b], a sua função densidade de probabilidade será:
1
f (x) = , a≤x≤b
b−a
x−a
F (x) = P (X ≤ x) =
b−a

Algoritmo de geração
Gerar um vetor U de valores com distribuição uniforme entre 0 e 1;
Calcular x=a+(b-a)*U;

Prof. Samuel Baraldi Mafra www.inatel.br


i m p o r t numpy a s np
import m a t p l o t l i b . pyplot as p l t

A=0
B=40
N=100000
x=np . random . u n i f o r m ( 0 , 1 ,N)

Xab=A+(B=A) * x
p r i n t ( Xab )

X=np . a r a n g e (A , B , 0 . 1 )
f x =(1/(B=A) ) * np . o n e s ( np . s i z e (X ) )
p l t . p l o t (X , f x )
p l t . h i s t ( Xab , b i n s =100 , d e n s i t y=True )
p l t . show ( )

u n i a b g e n . py
Prof. Samuel Baraldi Mafra www.inatel.br
Geradores de Variáveis Aleatórias
com Distribuição Uniforme em um intervalo [a,b]:Exemplo

Uma pessoa chega a um prédio e vai até o elevador. Depois de


acionado, o elevador demora entre 0 e 40 segundos para chegar.
Considerando que o intervalo entre 0 e 40 segundos é
uniformemente distribuı́do. Qual é a probabilidade de o elevador
demorar menos de 15 segundos?
código: uniabgenex.py

Prof. Samuel Baraldi Mafra www.inatel.br


Geradores de Variáveis Aleatórias
com Distribuição Exponencial

Considerando uma variável aleatória com distribuição exponencial,


a sua função densidade de probabilidade será:

f (x) = λe−λx , a≤x≤b


F (x) = P (X ≤ x) = 1 − e−λx

Algoritmo de geração
Gerar um vetor U de valores com distribuição uniforme entre 0 e 1;
Calcular x = − ln(U )/λ;

No python: random.exponential(β, N). β representa a média da


distribuição (β = 1/λ)

Prof. Samuel Baraldi Mafra www.inatel.br


i m p o r t numpy a s np
import m a t p l o t l i b . pyplot as p l t

N=10000
lambda1=1
x=np . random . u n i f o r m ( 0 , 1 ,N)

Xexp==np . l o g ( x ) / lambda1

p r i n t ( Xexp )
X=np . a r a n g e ( 0 , 1 0 , 0 . 1 )
f x=lambda1 * np . exp (= lambda1 *X)
p l t . p l o t (X , f x )
p l t . h i s t ( Xexp , b i n s =100 , d e n s i t y=True )
p l t . show ( )

e x p g e n . py
Prof. Samuel Baraldi Mafra www.inatel.br
Geradores de Variáveis Aleatórias
com Distribuição Exponencial:Exemplo

Um componente eletrônico, de marca ”A”, tem duração de vida


que segue uma distribuição exponencial com vida média de 100
horas. Qual é a probabilidade do componente parar de funcionar
em menos de 40 horas de uso?
Código: expgenex.py

Prof. Samuel Baraldi Mafra www.inatel.br


Método da Aceitação-Rejeição

O método de aceitação rejeição (ou método de rejeição) é


usado para simular valores de uma variável aleatória,
geralmente quando o método da inversa não pode ser
aplicado;
Considere uma v.a. com densidade f (x) da qual é necessário
gerar valores e g(x) a densidade de outra v.a., da qual é
possı́vel gerar valores;
No método, é gerado um valor y da v.a. com densidade g(x)
dado que f (y)/g(y) ≤ c para todo y.
O valor c é dado por:

f (x)
c = max .
g(x)

Baseado na geração de uma variável com distribuição


uniforme, a amostra é aceita ou rejeitada.
Prof. Samuel Baraldi Mafra www.inatel.br
Método da Aceitação-Rejeição

Algoritmo de Geração
1 Gerar uma variável aleatória Y de uma distribuição conhecida
g(x);
2 Gerar U independente de Y ;
f (Y )
3 Se U ≤ cg(Y ) . Então aceita-se a amostra (X = Y ), senão
rejeita e volta ao passo 1;

Prof. Samuel Baraldi Mafra www.inatel.br


Prof. Samuel Baraldi Mafra www.inatel.br
Método da Aceitação-Rejeição:Exemplo

Aplicar o método da aceitação-rejeição para gerar valores de uma


v.a. com densidade:

f (x) = 20x(1 − x)3 , 0<x<1

Prof. Samuel Baraldi Mafra www.inatel.br


Método da Aceitação-Rejeição:Exemplo

Usa-se como função conhecida g(x) = 1 0 < x < 1,


portanto:
f (x)
= 20x(1 − x)3 .
g(x)

Prof. Samuel Baraldi Mafra www.inatel.br


Método da Aceitação-Rejeição:Exemplo

f (x)
O valor de c é calculado pelo máximo valor de g(x) , que
acontece em x = 14 :

f (x) 135
c = max = max 20x(1−x)3 = 20∗0.25(1−0.25)3 =
g(x) 64

Então:
f (x) 256
= x(1 − x)3
cg(x) 27

Prof. Samuel Baraldi Mafra www.inatel.br


Método da Aceitação-Rejeição

Algoritmo de Geração
1 Gerar uma variável aleatória Y de uma distribuição uniforme
U1 ;
2 Gerar U2 independente de U1 ;
3 Se U2 ≤ 256 3
27 Y (1 − Y ) . Então aceita-se a amostra (X = Y ),
senão rejeita e volta ao passo 1;

Prof. Samuel Baraldi Mafra www.inatel.br


i m p o r t numpy a s np
import m a t p l o t l i b . pyplot as p l t
n=100000
x f u n c t i o n=np . a r r a y ( [ ] )
f o r i in range (n ) :
x1=np . random . u n i f o r m ( 0 , 1 )
x2=np . random . u n i f o r m ( 0 , 1 )
w h i l e ( x2 >=(256/27) * x1 * pow((1 = x1 ) , 3 ) ) :
x1=np . random . u n i f o r m ( 0 , 1 )
x2=np . random . u n i f o r m ( 0 , 1 )
x f u n c t i o n = np . append ( x f u n c t i o n , x1 )
print ( xfunction )
X=np . a r a n g e ( 0 , 1 , 0 . 1 )
f x =20*X* pow((1 =X ) , 3 )
p l t . p l o t (X , f x )
p l t . h i s t ( x f u n c t i o n , b i n s =100 , d e n s i t y=True )
p l t . show ( )
c ó d i g o : a c c e p t 1 . py
Prof. Samuel Baraldi Mafra www.inatel.br
Método da Aceitação-Rejeição

Aplicar o método da aceitação-rejeição para gerar valores de uma


v.a. com densidade:

f (x) = (1 + sin(x))/2π, 0 < x < 2π

Prof. Samuel Baraldi Mafra www.inatel.br


Método da Aceitação-Rejeição:Exemplo

Usa-se como função conhecida g(x) = 1/2π 0 < x < 2π,


portanto:
f (x)
= (1 + sin(x)).
g(x)

Prof. Samuel Baraldi Mafra www.inatel.br


Método da Aceitação-Rejeição:Exemplo

f (x)
O valor de c é calculado pelo máximo valor de g(x) , que
acontece em x = π2 :

f (x)
c = max = (1 + sin(π/2)) = 2
g(x)

Então:
f (x)
= (1 + sin(x))/2
cg(x)

Prof. Samuel Baraldi Mafra www.inatel.br


i m p o r t numpy a s np
import m a t p l o t l i b . pyplot as p l t
n=100000
x f u n c t i o n=np . a r r a y ( [ ] )
f o r i in range (n ) :
x1=np . random . u n i f o r m ( 0 , 2 * np . p i )
x2=np . random . u n i f o r m ( 0 , 1 )
w h i l e ( x2 >=(1+np . s i n ( x1 ) ) / 2 ) :
x1=np . random . u n i f o r m ( 0 , 2 * np . p i )
x2=np . random . u n i f o r m ( 0 , 1 )
x f u n c t i o n = np . append ( x f u n c t i o n , x1 )
print ( xfunction )
X=np . a r a n g e ( 0 , 2 * np . p i , 0 . 1 )
f x =(1+np . s i n (X ) ) / ( 2 * np . p i )
p l t . p l o t (X , f x )
p l t . h i s t ( x f u n c t i o n , b i n s =100 , d e n s i t y=True )
p l t . show ( )
c ó d i g o : a c c e p t 2 . py
Prof. Samuel Baraldi Mafra www.inatel.br
Distribuição Normal: N (µ,σ 2 )

A distribuição Normal é uma das mais importantes


distribuições contı́nuas de probabilidade pois descreve muitos
fenômenos aleatórios nas áreas da economia, biologia,
telecomunicações, etc.

Prof. Samuel Baraldi Mafra www.inatel.br


Distribuições Normal: N (µ,σ 2 )

Parâmetros
µ,σ 2 .
1 x−µ 2
f (x) = √1 e− 2 ( σ ) − ∞ ≤ x ≤ ∞;
σ 2π
Média: µ;
Variância: σ 2 .

Prof. Samuel Baraldi Mafra www.inatel.br


Distribuições Normal N (µ,σ 2 ): Propriedades

x = µ é o ponto máximo de f (x);


µ − σ e µ + σ são os pontos de inflexão da curva;
A curva normal é simétrica em torno da média µ.

Prof. Samuel Baraldi Mafra www.inatel.br


Distribuições Normal N (µ,σ 2 ): Propriedades

A área para certos desvios de σ apresenta alguns valores


importantes:

Prof. Samuel Baraldi Mafra www.inatel.br


Distribuições Normal N (µ,σ 2 ): Propriedades

Se X apresenta uma distribuição normal com média µ e


variância σ 2 , então para qualquer constantes a e b, aX + b é
normalmente distribuı́do com média aµ + b e variância a2 σ 2 ;
Portanto uma uma variável Z = X−µ σ apresenta uma
distribuição normal com média zero e variância unitária.
Esta distribuição é conhecida como normal padrão. A CDF é
dada por: Z x
1 x2
Φ(x) = √ e− 2 dx.
2π −∞

Prof. Samuel Baraldi Mafra www.inatel.br


Distribuições Normal N (µ,σ 2 ): Propriedades

A distribuição normal padrão é importante pois através dela


pode-se calcular as probabilidades em função de X em termos
de Φ.

F (x) = Pr{X ≤ x}
X −µ x−µ
= Pr{ ≤ }
σ σ
x−µ
= Pr{Z ≤ }
 σ
x−µ

σ

O valor de Φ(x) pode ser determinado através de tabelas ou


pelo uso de integração numérica. Em python usar norm.cdf da
biblioteca scipy.stats.

Prof. Samuel Baraldi Mafra www.inatel.br


Distribuições Normal N (0,1): Geração
Método da aceitação-rejeição;
O módulo da pdf da distribuição normal padrão é dado por:
2 x2
f (x) = √ e− 2 x ≥ 0.

Usa-se como função conhecida g(x) = e−x , portanto:

f (x) p 2
= 2/(π)ex−x /2 .
g(x)
f (x)
O valor de c é calculado pelo máximo valor de g(x) :
s 
f (x) p 2 2e
c = max = max 2/(π)ex−x /2 =
g(x) π
Então:
f (x) (x−1)2
= e− 2 .
cg(x)
Prof. Samuel Baraldi Mafra www.inatel.br
Geradores de Variáveis Aleatórias
com Distribuições Normal N (0,1)

Algoritmo de Geração
1 Gerar uma variável aleatória,Y com uma distribuição
exponencial de média λ = 1, isto é gera se U1 e calcula
Y = −ln(U1 );
2 Gerar U2 ;
(Y −1)2
3 Se U2 ≤ e− 2 . Faz |Z| = Y , senão volta ao passo 1;
4 Gerar U3 . Faz Z = |Z| se U3 ≤ 0.5, senão faz Z = −|Z| se
U3 > 0.5.
Para gerar uma distribuição N (µ,σ 2 ), basta fazer
N (µ,σ 2 ) = Z ∗ σ + µ.

Prof. Samuel Baraldi Mafra www.inatel.br


i m p o r t numpy a s np
import m a t p l o t l i b . pyplot as p l t
n=100000
x f u n c t i o n=np . a r r a y ( [ ] )
mu=8;
s i g m a=np . s q r t ( 4 ) ;
f o r i in range (n ) :
x1=np . random . u n i f o r m ( 0 , 1 )
x e x p==np . l o g ( x1 ) ;
x2=np . random . u n i f o r m ( 0 , 1 )
w h i l e ( x2 >=(np . exp (= pow ( ( xexp = 1 ) , 2 ) / 2 ) ) ) :
x1=np . random . u n i f o r m ( 0 , 1 )
x e x p==np . l o g ( x1 ) ;
x2=np . random . u n i f o r m ( 0 , 1 )
x3=np . random . u n i f o r m ( 0 , 1 )
i f x3 <=0.5:
x f u n c t i o n = np . append ( x f u n c t i o n , x e x p )
else :
x f u n c t i o n = np . append ( x f u n c t i o n , = x e x p )
n o r m v a l u e=s i g m a * x f u n c t i o n+mu ;
c ó d i g o : a c c e p t n o r m . py

Prof. Samuel Baraldi Mafra www.inatel.br


Geradores de Variáveis Aleatórias
com Distribuições Normal N (µ,σ 2 ):Exemplo

As notas de bioestatı́stica em um determinado curso ocorrem


segundo uma distribuição N (8,22 ). Calcule a probabilidade de um
aluno:
a) Tirar menos que 6;
b) Tirar acima de 8.
código: acceptnormex1.py

Prof. Samuel Baraldi Mafra www.inatel.br


Geradores de Variáveis Aleatórias
com Distribuições Normal N (µ,σ 2 ):Exemplo

Suponha que a espessura média de arruelas produzidas em uma


fábrica tenha distribuição normal com média 11,15mm e desvio
padrão 2,238mm. Qual a porcentagem de arruelas que tem
espessura entre 8,70mm e 14,70mm?
código: acceptnormex2.py

Prof. Samuel Baraldi Mafra www.inatel.br

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy