Baixe o app para aproveitar ainda mais
Prévia do material em texto
INF1036 - Probabilidade Computacional – 2ª. Lista – 2022.1 Professora: Ana Carolina Letichevsky 1) A variável aleatória 𝑋 tem função densidade dada por: 𝑓(𝑥) = { −𝑥 −1 ≤ 𝑥 < 0 𝑥 0 ≤ 𝑥 ≤ 1 0 𝑥 < −1 𝑜𝑢 𝑥 > 1 a) Esboce o gráfico de 𝑓(𝑥) e verifique se 𝑓(𝑥) define uma função densidade de probabilidade. A área de cada triângulo é 0,5 e, portanto, a área total é 1 e além disso a função é não negativa, logo 𝑓(𝑥) define uma função densidade de probabilidade. b) Calcule 𝑃(|𝑋 − 0,5| > 0,25). 𝑃(|𝑋 − 0,5| > 0,25) = 𝑃[((𝑋 − 0,5) > 0,25) ∪ ((𝑋 − 0,5) < −0,25)] = 𝑃(𝑋 > 0,75) + 𝑃(𝑋 < 0,25) = ∫ 𝑥𝑑𝑥 1 0,75 + 0,5 + ∫ 𝑥𝑑𝑥 0,25 0 = 0,75 c) Calcule a variância de 𝑋. 𝑉𝑎𝑟(𝑋) = 𝐸(𝑋2) − [𝐸(𝑋)]2 Como a função de densidade é simétrica em torno de 0, temos que a esperança 𝐸(𝑋) é 0 e, neste caso, temos: 𝑉𝑎𝑟(𝑋) = 𝐸(𝑋2) = ∫ 𝑥2(−𝑥)𝑑𝑥 + 0 −1 ∫ 𝑥2(𝑥)𝑑𝑥 = 1 0 −∫ 𝑥3𝑑𝑥 + 0 −1 ∫ 𝑥3𝑑𝑥 = 1 0 0,5 d) Obtenha a função distribuição acumulada de 𝑋. Sabemos que 𝐹(𝑥) = 0 se 𝑥 < −1 e 𝐹(𝑥) = 1 para x > 1, observando o gráfico e 𝑓(𝑥) podemos escrever: Para −1 < 𝑥 < 0 𝐹(𝑥) = ∫ −𝑡𝑑𝑡 𝑥 −1 = 1 − 𝑥2 2 Para 0 ≤ 𝑥 < 1 𝐹(𝑥) = ∫ −𝑡𝑑𝑡 0 −1 +∫ 𝑡𝑑𝑡 𝑥 0 = 1 + 𝑥2 2 Logo: 𝐹(𝑥) = { 0 𝑠𝑒 𝑥 ≤ −1 1 − 𝑥2 2 𝑠𝑒 − 1 < 𝑥 < 0 1 + 𝑥2 2 𝑠𝑒 0 ≤ 𝑥 < 1 1 𝑠𝑒 𝑥 ≥ 1 2) Uma variável aleatória 𝑋 tem distribuição uniforme no intervalo [𝑎, 𝑏] com média 7 e variância 3. Determine os valores de 𝑎 e 𝑏, sabendo que 𝑏 > 𝑎 > 0. Da definição de uma distribuição uniforme temos que: { 𝑎 + 𝑏 2 = 7 (𝑏 − 𝑎)2 12 = 3 Da segunda equação temos que (𝑏 − 𝑎)2 = 36 e como 𝑏 > 𝑎, temos que 𝑏 − 𝑎 = 6. Rearrumando as equações temos: { 𝑎 + 𝑏 = 14 𝑏 − 𝑎 = 6 Cuja solução é 𝑏 = 10 e 𝑎 = 4, ou seja, 𝑋~𝑈𝑛𝑖𝑓(4, 10). 3) Se 𝑋 é uma variável aleatória contínua exponencial de parâmetro 𝜆, mostre que: a) 𝐸[𝑋] = 1 𝜆 Temos que 𝑓(𝑥) é dado por: 𝑓(𝑥) = {𝜆𝑒 −𝜆𝑥 𝑠𝑒 𝑥 > 0 0 𝑠𝑒 𝑥 ≤ 0 Logo: 𝐸(𝑋) = ∫ 𝑥𝑓(𝑥)𝑑𝑥 = ∞ 0 ∫ 𝑥𝜆𝑒−𝜆𝑥𝑑𝑥 ∞ 0 Fazendo integração por partes e adotando 𝑢 = 𝑥, que implica 𝑑𝑢 = 𝑑𝑥, e 𝑑𝑣 = 𝜆𝑒−𝜆𝑥𝑑𝑥, que implica 𝑣 = −𝑒−𝜆𝑥, temos: 𝐸(𝑋) = ∫ 𝑥𝑓(𝑥)𝑑𝑥 = ∞ 0 ∫ 𝑥𝜆𝑒−𝜆𝑥𝑑𝑥 ∞ 0 = −𝑥𝑒−𝜆𝑥] 0 ∞ −∫ −𝑒−𝜆𝑥 ∞ 0 𝑑𝑥 = −𝑥𝑒−𝜆𝑥] 0 ∞ +∫ 𝑒−𝜆𝑥 ∞ 0 𝑑𝑥 Sabendo que log𝑥→∞ 𝑥 𝑘𝑒−𝜆𝑥 = 0 ∀𝑘 > 0 e 𝜆 > 0, segue: 𝐸(𝑋) = 0 + 0 + 1 𝜆 𝑒−𝜆𝑥] 0 ∞ = 1 𝜆 b) 𝑉𝑎𝑟(𝑋) = 1 𝜆2 𝐸(𝑋2) = ∫ 𝑥2𝑓(𝑥)𝑑𝑥 = ∞ 0 ∫ 𝑥2𝜆𝑒−𝜆𝑥𝑑𝑥 ∞ 0 Fazendo integração por partes e adotando 𝑢 = 𝑥2 , que implica 𝑑𝑢 = 2𝑥𝑑𝑥 , e 𝑑𝑣 = 𝜆𝑒−𝜆𝑥𝑑𝑥, que implica 𝑣 = −𝑒−𝜆𝑥, temos: 𝐸(𝑋2) = −𝑥2𝑒−𝜆𝑥] 0 ∞ −∫ −2𝑥𝑒−𝜆𝑥 ∞ 0 𝑑𝑥 = −𝑥2𝑒−𝜆𝑥] 0 ∞ +∫ 2𝑥𝑒−𝜆𝑥 ∞ 0 𝑑𝑥 Sabendo que log𝑥→∞ 𝑥 𝑘𝑒−𝜆𝑥 = 0 ∀𝑘 > 0 e 𝜆 > 0, segue: 𝐸(𝑋2) = 0 + 0 + 2 𝜆 ∫ 𝑥𝜆𝑒−𝜆𝑥 ∞ 0 𝑑𝑥 = 2 𝜆 𝐸(𝑋) = 2 𝜆 . 1 𝜆 = 2 𝜆2 Podemos concluir então: 𝑉𝑎𝑟(𝑋) = 𝐸(𝑋2) − [𝐸(𝑋)]2 = 2 𝜆2 − ( 1 𝜆 ) 2 = 1 𝜆2 4) A função de distribuição acumulada de uma variável aleatória 𝑋 é dada por: 𝐹(𝑥) = { 0 𝑥 < 0 3𝑥2 − 𝑥3 2 0 ≤ 𝑥 < 1 1 𝑥 ≥ 1 a) Calcule 𝐸(𝑋) e 𝑉𝑎𝑟(𝑋). Derivando 𝐹(𝑋) encontramos 𝑓(𝑥), função densidade, logo: 𝑓(𝑥) = { 6𝑥 − 3𝑥2 2 𝑠𝑒 0 ≤ 𝑥 ≤ 1 0 𝑝𝑎𝑟𝑎 𝑜𝑠 𝑑𝑒𝑚𝑎𝑖𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑑𝑒 𝑥 Assim: 𝐸(𝑋) = ∫ 𝑥𝑓(𝑥)𝑑𝑥 = 1 0 ∫ 𝑥( 6𝑥 − 3𝑥2 2 )𝑑𝑥 = ∫ (3𝑥2 − 3𝑥3 2 )𝑑𝑥 = 5 8 1 0 1 0 𝐸(𝑋2) = ∫ 𝑥2𝑓(𝑥)𝑑𝑥 = 1 0 ∫ 𝑥2 ( 6𝑥 − 3𝑥2 2 )𝑑𝑥 = ∫ (3𝑥3 − 3𝑥4 2 )𝑑𝑥 = 9 20 1 0 1 0 𝑉𝑎𝑟(𝑋) = 𝐸(𝑋2) − [𝐸(𝑋)]2 = 9 20 − ( 5 8 ) 2 = 19 320 b) Calcule 𝑃(0,25 ≤ 𝑋 ≤ 0,5). 𝑃(0,25 ≤ 𝑋 ≤ 0,5) = 𝐹(0,5) − 𝐹(0,25) ≅ 0,23 5) Considerando 𝑔(𝑥) = 𝑥2 + 3𝑥 uma função, calcule o valor aproximado de 𝜑, onde: 𝜑 = ∫ 𝑔(𝑥)𝑑𝑥 1 0 Observação: Considerando 𝑈 uma variável aleatória uniformemente distribuída no intervalo [0, 1] , então: 𝜑 = ∫ 𝑔(𝑥)𝑑𝑥 = 𝐸[𝑔(𝑈)] 1 0 Se 𝑈1, 𝑈2, … , 𝑈𝑛 são variáveis aleatórias independentes e uniformemente distribuídas em [0, 1], tem-se que as variáveis aleatórias 𝑔(𝑈1), 𝑔(𝑈2), … , 𝑔(𝑈𝑛) são variáveis aleatórias independentes com média 𝜑. Portanto, pela Lei Forte dos Grandes Números (Lei Forte de Kolmogorov), segue que, com probabilidade 1, ∑ 𝑔(𝑈𝑖) 𝑛 𝑛 𝑖=1 → 𝐸[𝑔(𝑈)] = 𝜑 onde 𝑛 → ∞. Para realizar o cálculo, deve ser criada uma função chamada aproximador que deverá retornar o valor aproximado de 𝜑. Implemente a função aproximador, em R e em Python, usando como gerador de números pseudo-aleatórios o algoritmo: a) LGC. b) Mersenne Twister. #R #a) LCG <- function (seed, a, c, M, nsamples) { x <- seed u <- NULL for (i in 1:nsamples) { nx <- (a * x + c) %% M u <- c(u, as.double(nx) / as.double(M)) x <- nx } return (u) } http://www.portalaction.com.br/probabilidades/722-lei-forte-dos-grandes-numeros#teo7124 aproximador <- function(U) { retorno <- NULL n <- length(U) vetor = NULL for (i in 1:n) { gx <- U[i]^2 + 3*U[i] #cálculo da g(x) vetor <- c(vetor, gx) } retorno <- mean(vetor) return (retorno) } a <- 39373 c <- 0 M <- 2147483647 nsamples <- 1000 U = LCG(3, a, c, M, nsamples) valor.aproximado <- aproximador(U) print(valor.aproximado) #b) aproximador <- function(U) { retorno <- NULL n <- length(U) vetor <- NULL for (i in 1:n) { gx <- U[i]^2 + 3*U[i] #cálculo da g(x) vetor <- c(vetor, gx) } retorno <- mean(vetor) return (retorno) } nsamples <- 1000 U <- runif(nsamples) valor.aproximado <- aproximador(U) print(valor.aproximado) #Python #a) import numpy as np def LCG(seed, a, c, M, nsamples): x = seed u = [] u.append(x) for i in range(nsamples - 1): nx = (a * x + c) % M u.append(float(nx) / float(M)) x = nx return (u) def aproximador (U): retorno = 0 n = len(U) vetor = [] for i in range(0, n): gx = U[i]**2 + 3*U[i] #cálculo da g(x) vetor.append(gx) retorno = np.mean(vetor) return (retorno) a = 39373 c = 0 M = 2147483647 nsamples = 1000 U = LCG(3, a, c, M, nsamples) print(len(U)) print(U) valoraproximado = aproximador(U) print(valoraproximado) #b) import numpy as np def aproximador (U): retorno = 0 n = len(U) vetor = [] for i in range(0, n): gx = U[i]**2 + 3*U[i] #cálculo da g(x) vetor.append(gx) retorno = np.mean(vetor) return (retorno) nsamples = 1000 U = np.random.sample(nsamples) valoraproximado = aproximador(U) print(valoraproximado)
Compartilhar