Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Questão 13, Capítulo 5 - "Mathematical Statistics and Data Analysis" de John A. Rice (3a Edição)

0 votos
26 visitas
perguntada Abr 5 em Matemática por Thiago Lappicy (6 pontos)  

Um bêbado faz um "passeio aleatório" da seguinte maneira: A cada minuto ele toma um passo para o sentido Norte ou Sul, com probabilidade de 1/2 cada, e as direções das suas passadas seguintes são independentes. Cada passo dele mede 50cm. Use o teorema do limite central para aproximar a distribuição de probabilidade da localização dele depois de 1h. Onde é mais provável que ele esteja?

Compartilhe

2 Respostas

0 votos
respondida Abr 5 por Thiago Lappicy (6 pontos)  
editado Abr 7 por Thiago Lappicy

Pelos dados informados no problema, podemos utilizar a variável aleatória X como sendo o passo do bêbado, e a cada minuto X pode valer +0.5 (50 cm ou 0.5 metros) ou -0.5. Iremos também variar os minutos de 1 até 60 (1 hora). Logo,

\[ X_i = \left\{ \ \begin{array}{*{2}{rC}l} + \ 0.50 \ ; \ com \ \ probabilidade \ \ de \ \ \frac{1}{2} \ \ sentido \ \ N \\ - \ 0.50 \ ; \ com \ \ probabilidade \ \ de \ \ \frac{1}{2} \ \ sentido \ \ S \\ \end{array} \right. \]

Assumindo, pelo teorema do limite central, de que as variáveis aleatórias Xi com i variando de 1 até 60 (minutos) são independentes, então a variável aleatória Y60, que é a posição final do bêbado representado pelo somatório dos Xi's, é assintoticamente normal com:

\[ M\acute{e}dia = \mu = 60 * E[X_i] \\ Vari\hat{a}ncia = \sigma^2 = 60 * Var[X_i] \\ Y_{60} = X_1 + ... + X_{60}\]

Para definirmos a distribuição então, primeiramente precisamos saber a variância e o valor esperado de Xi. Esse valor Esperado de Xi pode ser calculado por:

\[ E[X_i] = \sum\limits_{j=1}^2 X_i * P(X = x_j) \\ E[X_i] = (+0.5)*\frac{1}{2}+ (-0.5) * \frac{1}{2} = 0 \]

Podemos calcular também o valor de E[x^2]:

\[ E[X_i^2] = \sum\limits_{j=1}^2 X_i^2 *P(X = x_j) \\ E[X_i^2] = (+0.5^2)*\frac{1}{2} + (-0.5^2) * \frac{1}{2} = 0.25 \]

Por último calculamos a variância pela definição de que:

\[ Var[X_i] = E[X_i^2] - (E[X_i])^2 = 0.25 - (0)^2 = 0.25\]

Retomando o problema original, do passo do bêbado após 60minutos (1h) representado por Y60. Temos então que,

\[ M\acute{e}dia = \mu = 60 * E[X_i] = 60 * 0 = 0\\ Vari\hat{a}ncia = \sigma^2 = 60 * Var[X_i] = 60 * 0.25 = 15\]

Portanto, temos que após 1 hora, esperamos que o bêbado esteja no mesmo lugar (média = 0), com uma variância de 15 metros (o desvio padrão é a raiz disso).

\[ Localizac\tilde{a}o \ do \ b\hat{e}bado \ = \ 0 \ \pm \ 3.87 \ [metros] \]

0 votos
respondida Abr 14 por Rodrigo Fernandes (16 pontos)  

Ótima resposta, Thiago. Os cálculos me parecem corretos. Para complementar, eu fiz um pequeno código no Python sobre a questão, que segue em anexo. As explicações estão espalhadas pelo código.

# 1D N ou S -> 0.5m com probabilidade 1/2 cada
# a cada minuto anda. onde estará daqui 1h? ou seja, são 60 steps cada simulação
import numpy as np
import matplotlib.pyplot as plt

def Randomwalk(n): # numero de passos que daremos
   x = 0
   y = 0
   xposition = [0] #  começo na origem
   yposition = [0] 
   for i in range(1,n+1):
       step = np.random.uniform(0,1) # pego numero aleatorio entre 0 e 1. com isso, consigo simular 50% de probabilidade para cada
       if step < 0.5: # se menor que 0.5, ando pra cima   
           x += 1 # x é o tempo
           y += 0.5  # indo para "Norte" 0.5 metros
       if step > 0.5: # se maior que 0.5, ando pra baixo 
           x += 1 
           y += -0.5 # indo para "Sul" 0.5 metros

       xposition.append(x)
       yposition.append(y)
   return [xposition,yposition]

Randwalk = Randomwalk(60)  # dando 60 passos

plt.plot(Randwalk[0],Randwalk[1], label = "Randwalk1D", color = "black")
plt.title("Random Walk Norte/Sul")
plt.savefig('random.png')
plt.show()

A imagem será apresentada aqui.

Vimos para um caso isolado. E se fizermos 50.000 simulações?

n = 50000 # número de simulações
 a = np.asmatrix(np.zeros((n,61))) #61 pois conta o período inicial 0

    for i in range(n): #criando uma matriz com 50.000 casos de random walks 
        a[i] = Randomwalk(60)[1]
        i += 1
    #tirando media  dessas 50.000 simulações
    media = a.mean(1)
    plt.hist(media, bins = 200, color = "red")
    plt.axvline(x=0, color = "black")
    plt.suptitle("Histograma da media dos Random Walk")
    plt.savefig('hismedia.png')
    plt.show()

A imagem será apresentada aqui.

Por fim, conseguimos ver que média fica muito perto de 0:

print(media.mean(0))

Na minha simulação, o valor ficou 0.00106787.

comentou Abr 14 por Thiago Lappicy (6 pontos)  
Esse código foi um ótimo complemento para a resposta Rodrigo!

Sempre é mais didático mostrar o que estamos fazendo quando plotamos em um gráfico e podemos ver também visualmente o problema e as soluções.

Uma coisa muito interessante que você mesmo mostrou foi que mesmo fazendo apenas uma simulação aleatória, apesar da posição final não ser pontualmente o que esperávamos (o valor esperado de 0), ela está dentro do desvio padrão teórico (de +- 3,87 metros).
Podemos ver ainda que quase todas as simulações (das 50.000) caem dentro da faixa se utilizarmos 2 desvios padrões (aproximadamente 7,75).
...