Gerando e Visualizando Distribuições Contínuas

Disciplina: 2STA031 - Processos Estocásticos

Laryssa Ribeiro Calcagnoto

Data: 20/08/2025

Logo

Introdução

Nesta aula, exploraremos o conceito de distribuições contínuas por meio da análise de suas funções densidade de probabilidade (f.d.p.) e funções de distribuição acumulada (f.d.a.), sem ainda termos apresentado formalmente as distribuições clássicas.

Exemplo 1 – Função \(f(x) = 2e^{-2x}\) para \(x \geq 0\)

Função Densidade de Probabilidade (f.d.p.)

\[ f(x) = \begin{cases} 2e^{-2x}, & x \geq 0 \\ 0, & x < 0 \end{cases} \]

Função de Distribuição Acumulada (f.d.a.)

\[ F(x) = \begin{cases} 0, & x < 0 \\ 1 - e^{-2x}, & x \geq 0 \end{cases} \]

x <- seq(0, 5, length.out = 500)
fx <- 2 * exp(-2 * x)
Fx <- 1 - exp(-2 * x)

par(mfrow = c(1, 2))  # 1 linha, 2 colunas

# Gráfico da f.d.p.
plot(x, fx, type = "l", col = "darkblue", lwd = 2,
     main = expression("f.d.p. – f(x) = 2e"^{-2*x}),
     xlab = "x", ylab = "f(x)")
abline(h = 0, col = "gray")

# Gráfico da f.d.a.
plot(x, Fx, type = "l", col = "blue", lwd = 2,
     main = expression("f.d.a. – F(x) = 1 - e"^{-2*x}),
     xlab = "x", ylab = "F(x)")
abline(h = 0, col = "gray")
abline(h = 1, col = "gray", lty = 2)

par(mfrow = c(1, 1))  # volta ao padrão
# Gerando valores aleatórios seguindo f(x) = 2*exp(-2*x) (Exponencial com rate=2)
set.seed(123)
valores <- rexp(1000, rate = 2)

# Histograma aproximando a densidade
hist(valores, breaks = 30, probability = TRUE,
     main = "Histograma e densidade empírica",
     xlab = "x", col = "lightblue")
lines(density(valores), col = "red", lwd = 2)

# Adicionar curva teórica
curve(2*exp(-2*x), from = 0, to = 5, add = TRUE, col = "darkblue", lwd = 2)
legend("topright", legend=c("Densidade empírica","Densidade teórica"),
       col=c("red","darkblue"), lwd=2)

Exemplo 2 – Função \(f(x) = \frac{10}{x^2}\) para \(x \geq 10\)

Função Densidade de Probabilidade (f.d.p.)

\[ f(x) = \begin{cases} \frac{10}{x^2}, & x \geq 10 \\ 0, & x < 10 \end{cases} \]

Função de Distribuição Acumulada (f.d.a.)

\[ F(x) = \begin{cases} 0, & x < 10 \\ 1 - \frac{10}{x}, & x \geq 10 \end{cases} \]

x2 <- seq(10, 50, length.out = 500)
f2 <- 10 / (x2^2)
F2 <- 1 - (10 / x2)

par(mfrow = c(1, 2))  # 1 linha, 2 colunas

plot(x2, f2, type = "l", col = "darkred", lwd = 2,
     main = expression("f.d.p. – f(x) = 10 / x"^2),
     xlab = "x", ylab = "f(x)",
     ylim = c(0, max(f2)*1.1))
abline(h = 0, col = "gray")

plot(x2, F2, type = "l", col = "darkred", lwd = 2,
     main = expression("f.d.a. – F(x) = 1 - 10 / x"),
     xlab = "x", ylab = "F(x)",
     ylim = c(0, 1.05))
abline(h = 0, col = "gray")
abline(h = 1, col = "gray", lty = 2)

par(mfrow = c(1, 1))  # volta ao padrão

set.seed(123)
n <- 100

# Gerar valores aleatórios via inversão
u <- runif(n)
valores2 <- 10 / (1 - u)

# Limite superior para a região mais densa (99% das amostras)
x_max <- quantile(valores2, 0.99)

# Histograma como densidade
hist(valores2, breaks = n, probability = TRUE,
     main = "Histograma e densidade empírica – Exemplo 2",
     xlab = "x", col = "lightcoral", xlim = c(10, x_max))

# Densidade empírica
lines(density(valores2), col = "red", lwd = 2)

# Curva teórica sobre o mesmo intervalo
curve(10 / x^2, from = 10, to = x_max, add = TRUE, col = "blue", lwd = 2)

legend("topright", legend=c("Densidade empírica","Densidade teórica"),
       col=c("red","blue"), lwd=2)

Discussão

Essas ferramentas visuais ajudam a compreender o comportamento de variáveis contínuas mesmo antes de formalizarmos as distribuições conhecidas.