Escolar Documentos
Profissional Documentos
Cultura Documentos
Hlio Lopes
I Sistemas no determinsticos.
I Sistemas determinsticos que so muito complicados para se
modelar analiticamente.
I Sistemas determinsticos com alta dimensionalidade que fazem
com que os mtodos de discretizao do espao se tornem
impraticveis computacionalmente (ex., Integrao por Monte
Carlo).
Mtodos de Monte Carlo
xn+1 = (a xn + c)modM,
M = 53 # modulus
a = 20 # multiplier
c = 0 # shift
s = 21 # seed
m = 60 # length of run (counting seed as #1)
r = numeric(m) # initialize vector for random integers
r[1] = s # set seed
for (i in 1:(m-1)) r[i+1] = (a * r[i] + c) %% M
# generates random integers
r # list of random integers generated
## [1] 21 49 26 43 12 28 30 17 22 16 2 40 5 47 39 38 18
## [24] 7 34 44 32 4 27 10 41 25 23 36 31 37 51 13 48 6
## [47] 20 29 50 46 19 9 21 49 26 43 12 28 30 17
Gerao de nmeros pseudo-aleatrios
# Initialize
a = 1093; c = 18257; M = 86436; s = 7
m = 1000; r = numeric(m); r[1] = s
# Generate
for (i in 1:(m-1)) {r[i+1] = (a*r[i] + c) %% M}
u = (r + 1/2)/M # values fit in (0,1)
Gerao de nmeros pseudo-aleatrios
Histogram of u
1.0
100
0.8
80
0.6
Frequency
60
u2
0.4
40
0.2
20
0.0
0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
u u1
Gerao de nmeros pseudo-aleatrios
# Initialize
a = 65539; c = 0; M = 2^31; s = 10
m = 20000; r = numeric(m); r[1] = s
# Generate
for (i in 1:(m-1)) {r[i+1] = (a*r[i] + c) %% M}
u = (r - 1/2)/(M - 1)
u1 = u[1:(m-2)]; u2 = u[2:(m-1)]; u3 = u[3:m]
Gerao de nmeros pseudo-aleatrios
0.10
1.0
0.08
0.8
0.06
0.6
u2
0.04
0.4
0.02
0.2
0.00
0.0
0.00 0.02 0.04 0.06 0.08 0.10 0.0 0.2 0.4 0.6 0.8 1.0
I aM1 1 mltiplo de M;
I aj 1 mltiplo de M para j = 1, 2, . . . , m 2.
Linear Congruential Generator
Ui = (xi 1/2)/(M 1)
Funes de distribuio: Exemplo
M a Referncia
rBernoulli<-function(nc,p)
{
X<-c(1:nc)
p1<-(1-p)
for(i in 1:nc)
{
if (runif(1)<p1)
X[i] <- 0
else
X[i] <- 1
}
X
}
Distribuio de Bernoulli
X <- rBernoulli(1000,0.5)
table(X)
## X
## 0 1
## 500 500
mean(X)
## [1] 0.5
var(X)
## [1] 0.2503
Distribuio Binomial
rBinomial1<-function(nc,n,p)
{
X<-c(1:nc)
for (i in 1:nc)
{
X[i]<-sum(rBernoulli(n,p))
}
X
}
Distribuio Binomial
X <- rBinomial1(1000,4,0.5)
table(X)
## X
## 0 1 2 3 4
## 69 232 394 246 59
mean(X)
## [1] 1.994
var(X)
## [1] 0.991
Distribuio Binomial
A B
n
P(X = k + 1) = p k+1 (1 p)nk1 =
k +1
n! p p k (1 p)(nk)
=
(k + 1)!(n k 1)! (1 p)
(n k) p
P(X = k).
(k + 1) (1 p)
Distribuio Binomial
rBinomial<-function(nc,n,p){
P <- (1-p)^n
F<-c(1:(n+1))
F[1]<-P
for (i in 1:n){
P <- P * (n-i+1) * p /((1-p) * i)
F[i+1] <- F[i] + P
}
X<-c(1:nc)
for (i in 1:nc){
U <- runif(1)
for (j in 1:(n+1))
if (U < F[j]) {
X[i]<-j-1
break
}}
X
}
Distribuio Binomial
X <- rBinomial(1000,4,0.5)
table(X)
## X
## 0 1 2 3 4
## 68 248 405 210 69
mean(X)
## [1] 1.964
var(X)
## [1] 1.006
Distribuio Geomtrica
rGeometric1<-function(nc,p)
{
X<-c(1:nc)
for (i in 1:nc)
{
k <- 0
while(rBernoulli(1,p)!=1)
k <- k+1
X[i]<-k+1
}
X
}
Distribuio Geomtrica
X <- rGeometric1(1000,0.5)
table(X)
## X
## 1 2 3 4 5 6 7 8 9 10 11
## 510 259 125 52 29 14 5 2 1 2 1
mean(X)
## [1] 1.931
var(X)
## [1] 1.78
Distribuio Geomtrica
## X
## 1 2 3 4 5 6 7 8 9 10 12 14
## 498 224 129 66 40 25 11 2 2 1 1 1
mean(X)
## [1] 2.094
var(X)
## [1] 2.398
Distribuio de Poisson
## X
## 2 3 4 5 6 7 8 9 10 11 12 13 14 15
## 2 8 15 40 56 92 121 129 132 122 85 64 56 30
## 20 21
## 2 2
mean(X)
## [1] 9.963
var(X)
## [1] 9.553
Exerccios
f (x ) = e x , com x [0, ).
F (x ) = 1 e x , com x [0, ).
Distribuio Exponencial
X = F 1 (U) = F (X ) = U = 1 e x = U =
1
e x = 1 U = X = log (1 U).
Distribuio Exponencial
rExponential<-function(nc,lambda)
{
X<--log(runif(nc))/lambda
}
X <- rExponential(1000,0.1)
mean(X)
## [1] 10.13
var(X)
## [1] 93.2
Distribuio Exponencial
hist(X)
Histogram of X
400
300
Frequency
200
100
0
0 10 20 30 40 50 60 70
X
Exerccios
p(Y )
p(Y ) P(Y x , U ch(Y ))
P(Y x |U )= =
c h(Y ) p(Y
P(U ch(Y ) )
)
p(y )
sx s
0 1 h(y )dudy
ch(y )
s p(y ) =
ch(y ) h(y )dy
sx p(y )
ch(y ) h(y )dy
1 s =
c p(x )dx
1 sx x
c p(y )dy
1 = p(y )dy = P(X x ).
c
Mtodo da Rejeio
2
p(x ) = exp(x 2 /2)
2
1 1
f (x , y ) = exp(x 2 /2) exp(y 2 /2) =
sqrt2 2
1
f (x , y ) = exp((x 2 + y 2 )/2).
(2
Mtodo Polar
1 1
f (d, ) = exp(d/2), com d > 0 e 0 < < 2.
2 2
Observe que essa densidade o produto de uma densidade
Exponencial(1/2) com uma Uniforme(0,2pi).
Mtodo Polar