Introdução à Ciência de Dados

Mestrado Profissional em Administração

Prof. Washington Santos da Silva

IFMG - Campus Formiga

5 de junho de 2025

Diário de Bordo

O que vimos até aqui?

  • Aula 1 ✅

    • Apresentação da Disciplina ✅
    • Introdução e Contextualização ✅
    • O que é Ciência de Dados? ✅
    • Pesquisa Reproduzível e Ciência de Dados ✅
    • Papéis Profissionais ✅
    • Aplicações ✅
    • Habilidades Interpessoais e Analíticas ✅
    • Apresentação da Disciplina ✅
    • Configurações: Git/GitHub ✅
  • Aula 2 ✅

    • Metodologia CRISP-DM ✅
    • Tipos de Análise de Dados ✅
    • Introdução ao RStudio e criação do seu Projeto da Disciplina ✅
    • Introdução ao Sistema de Publicação Quarto ✅
    • Introdução ao Git e GitHub: controle de versão e criação do seu repositório no GitHub ✅
  • Aula 3 ✅

    • Breve Revisão sobre o RStudio ✅
    • Sistema de Publicação Quarto: (Cont.) ✅
    • Introdução ao Git e GitHub: (Cont.) ✅
    • Sessão Prática: Fluxo de trabalho integrando RStudio/Quarto/R/Git/GitHub ✅
  • Aula 4 ✅

    • Conceitos de Variáveis e Observações em Estatística ✅

    • Conceito de Dados Organizados (Tidy Data) ✅

    • Tipos atômicos e classes principais de dados da linguagem R ✅

    • Tipos de Dados Tradicionais em Finanças: ✅

      • Dados em Secção-Cruzada (ou Transversal) (Cross-Section Data) ✅
      • Dados em Secções-Cruzadas Combinadas (Pooled Cross-Section Data) ✅
      • Dados em Séries Temporais (Time Series Data) ✅
      • Dados em Painel (ou Longitudinais) (Panel Data) ✅
    • Importação e Preparação de Dados Típicos de Finanças com exemplos práticos ✅

  • Aula 5 ✅

    • Metodologia CRISP-DM: Fases 2 e 3 ✅
    • Revisão sobre Dados Organizados (Tidy Data) ✅
    • Introdução ao Pacote tidyr: função pivot_longer() ✅
    • Introdução ao Pacote dplyr: funções select() e filter() ✅
    • Exercícios ✅
  • Aula 6 ✅

    • Função mutate ✅
    • Funções group_by e summarize ✅
    • Exercícios ✅
  • Aula 7 ✅

    • Introdução ao Pacote dplyr: Tipos Básicos de joins
    • Exercícios ✅

Nesta Aula

Tópicos - Fundamentos de Probabilidade e Simulação

  • Modelos

  • Conceitos Fundamentais de Probabilidade

    • O que é Probabilidade?
    • Probabilidade Condicional e Independência
    • Amostra Aleatória
    • Variáveis Aleatórias e Funções de Probabilidade
    • Função de Distribuição Acumulada
    • Lei dos Grandes Números
  • Distribuições de Probabilidade de VA Discretas

    • Distribuição de Bernoulli

    • Características de uma Distribuição de Probabilidade

      • Valor Esperado
      • Variância e Desvio-Padrão
      • Assimetria e Curtose
    • Distribuição Binomial

  • Distribuições de Probabilidade de VA Contínuas

    • Teorema Central do Limite
    • Distribuição Normal
  • Aplicação

    • Valor-em-Risco (VaR)

Diretrizes para Aulas Mais Produtivas

⌨️ Código com método:

95% dos erros são evitáveis com:

  • Atenção na digitação
  • Respeitar a sequência lógica de etapas
  • Revisão antes de pedir ajuda

🤝 Inteligência colaborativa:

  • Compartilhe conhecimento
  • Resolva questões técnicas simples com colegas próximos
  • Reserve ao professor as dúvidas conceituais complexas

💪 Capacidade de Resolver Problemas

Cada erro resolvido é uma evolução da sua habilidade analítica

Distribuições de Probabilidade de VA Contínuas

Distribuição Uniforme Contínua

O que é a Distribuição Uniforme Contínua?

A distribuição uniforme contínua no intervalo [0, 1], denotada \(Y \sim U(0,1)\), descreve um fenômeno onde todos os valores do intervalo são igualmente prováveis.

🔹 Propriedades Fundamentais

  • O suporte é o intervalo unitário:

\[ Y \in [0, 1] \]

  • A fdp é constante:

\[ f(y) = \begin{cases} 1, & \text{se } 0 \leq y \leq 1 \\ 0, & \text{caso contrário} \end{cases} \]

  • A área sob a curva é 1 (como toda função densidade de probabilidade):

    \[ \int_0^1 f(y) \, dy = 1 \]

  • Probabilidades são proporcionais ao comprimento do intervalo:

    \[ P(Y \in [a, b]) = b - a, \quad \text{para } 0 \leq a < b \leq 1 \]

📌 Por que ela é importante?

A distribuição \(U(0,1)\) é a base de quase todos os algoritmos de geração de números pseudoaleatórios.

💡 Ideia central: geradores de números aleatórios (como runif() em R) produzem amostras de \(U(0,1)\), e a partir delas é possível gerar amostras de outras distribuições (normal, exponencial, binomial…) por transformações adequadas.

💻 Exemplo em R

➤ Gerando 10 números uniformes no intervalo [0,1]:

set.seed(42)  # para reprodutibilidade
runif(10)
 [1] 0.9148060 0.9370754 0.2861395 0.8304476 0.6417455 0.5190959 0.7365883
 [8] 0.1346666 0.6569923 0.7050648

➤ Visualizando a distribuição com um histograma:

amostra <- runif(10000)
hist(amostra, breaks = 20, col = "steelblue", main = "Distribuição Uniforme U(0,1)",
     xlab = "Amostra gerada", probability = TRUE)

➤ Aproximando \(P(0.2 < Y < 0.5)\):

mean(amostra > 0.2 & amostra < 0.5)  # Aproximação empírica de P(0.2 < Y < 0.5)
[1] 0.2901

📐 Valor exato: \(P(0.2 < Y < 0.5) = 0.5 - 0.2 = 0.3\)

Aplicações

  • Base para simulações de Monte Carlo
  • Construção de variáveis aleatórias de qualquer outra distribuição
  • Geração de amostras aleatórias na prática

Transformações da Uniforme

De \(U(0,1)\) para qualquer distribuição

Se \(U \sim U(0,1)\), podemos gerar uma variável aleatória \(X\) com distribuição desejada \(F_X\) (distribuição acumulada) usando:

\[ X = F_X^{-1}(U) \]

Esse método é chamado de Transformação Inversa da CDF (ou “inverse transform sampling”).

🔹 Exemplo 1: Gerando variável Exponencial a partir de \(U(0,1)\)

Queremos gerar uma variável \(X \sim \text{Exponencial}(\lambda)\), cuja função de distribuição acumulada (CDF) é:

\[ F_X(x) = 1 - e^{-\lambda x}, \quad x \geq 0 \]

O método da inversa da CDF nos diz que podemos gerar amostras de \(X\) se:

\[ X = F_X^{-1}(U), \quad \text{com } U \sim \mathcal{U}(0,1) \]

📐 Invertendo a CDF:

Começamos com:

\[ u = F_X(x) = 1 - e^{-\lambda x} \]

Resolvendo para \(x\):

\[ e^{-\lambda x} = 1 - u \Rightarrow -\lambda x = \ln(1 - u) \Rightarrow x = -\frac{1}{\lambda} \ln(1 - u) \]

🧠 Mas por que usamos \(\ln(U)\) em vez de \(\ln(1 - U)\)?

Como \(U \sim U(0,1)\), então também \(1 - U \sim U(0,1)\). A distribuição é simétrica em torno de 0.5, então qualquer transformação baseada em uma variável uniforme tem a mesma distribuição se feita sobre \(U\) ou \(1 - U\).

💡 Portanto, por conveniência computacional, usamos:

\[ X = -\frac{1}{\lambda} \ln(U) \]

Esse valor segue a mesma distribuição exponencial.

💻 Em R:

# Gerando 10.000 valores da Exponencial(λ) com λ = 2
set.seed(42)
u <- runif(10000)      # Uniforme(0,1)
lambda <- 2
x <- -log(u) / lambda  # Exponencial(λ)

# Visualizando a distribuição
hist(x, breaks = 30, col = "orange", probability = TRUE,
     main = "Exponencial(λ = 2) gerada a partir de U(0,1)",
     xlab = "x")

# Comparando com densidade teórica
curve(dexp(x, rate = lambda), add = TRUE, col = "blue", lwd = 2)
legend("topright", legend = c("Histograma simulado", "Densidade teórica"),
       fill = c("orange", NA), border = NA, lty = c(NA, 1), col = c(NA, "blue"))

✅ Conclusão

  • Gerar variáveis exponenciais a partir da uniforme é um exemplo clássico da transformação pela inversa da CDF

  • Esse método é uma pedra fundamental dos geradores de variáveis aleatórias na prática

  • Essa abordagem é generalizável para outras distribuições, como log-normal, Weibull e até normal (com outras técnicas)

🔹 Exemplo 2: Geração de Normal Padrão

Não existe inversa analítica simples para a CDF da dist. normal padronizada \(\Phi(x)\), mas:

  • Pode-se usar aproximações numéricas (função qnorm() em R):
z <- qnorm(runif(10000))  # Z ~ N(0,1)
hist(z, breaks = 30, col = "skyblue", probability = TRUE,
     main = "Normal padrão gerada com qnorm(runif())")
curve(dnorm(x), add = TRUE, col = "darkblue", lwd = 2)

🔹 Conclusão

✅ A distribuição \(U(0,1)\) serve como matéria-prima universal para gerar variáveis aleatórias com qualquer distribuição, via:

  • Transformação Inversa (quando possível)
  • Métodos numéricos (como qnorm())
  • Métodos alternativos: rejeição, Box-Muller, Metropolis-Hastings

Distribuição Normal - Origem

Origem da Distribuição Normal

  • A distribuição normal é frequentemente associada ao matemático alemão Carl Friedrich Gauss (1777-1855), que fez contribuições significativas ao estudo da distribuição dos erros de medição em astronomia. Por essa razão, a distribuição normal também é conhecida como “distribuição gaussiana”.

  • Gauss utilizou essa distribuição para descrever os erros de medições astronômicas, baseando-se no princípio de que a maioria dos erros seria pequena, enquanto erros grandes seriam raros.

  • O termo “normal” foi popularizado posteriormente pelo estatístico britânico Francis Galton (1822-1911). Galton utilizou o termo “normal” para descrever a distribuição de características humanas, como altura e peso, que frequentemente seguem uma forma simétrica em torno de uma média. Ele usou o termo “normal” no sentido de “norma” ou “padrão”, sugerindo que essa distribuição era comum ou típica em muitos fenômenos naturais.

  • Embora Gauss tenha trabalhado com a distribuição no contexto de erros de medição, foi o trabalho de Galton e outros que consolidou a ideia de que essa distribuição é “normal” ou típica em muitos contextos, incluindo características biológicas e fenômenos sociais, e assim o termo “distribuição normal” tornou-se amplamente aceito.

Distribuição Normal

Importância em Estatística

  • Modelagem Direta: Embora muitos processos aleatórios em Administração envolvam variáveis discretas ou condições que não atendem perfeitamente aos requisitos da normalidade (como a simetria da distribuição), a distribuição normal ainda pode servir como uma aproximação útil em diversos contextos.

  • Teorema Central do Limite (TCL): A importância principal da distribuição normal é teórica. O TCL afirma que a soma ou média de um grande número de variáveis aleatórias independentes tende a seguir uma distribuição normal, independentemente da distribuição original, o que fundamenta sua ampla aplicação.

  • Aplicação Prática: O TCL permite a construção e uso de métodos estatísticos baseados na normalidade, mesmo quando os dados originais não seguem uma distribuição normal.

Teorema Central do Limite

Princípios Fundamentais

  • O Teorema Central do Limite é uma forte justificativa para sua popularidade:

Seja \(X_1,\ldots,X_n\) uma sequência de variáveis aleatórias independentes com distribuição de probabilidade arbitrária com média \(\mu_i\) e variância finita \(\sigma_{i}^2\). Então:

\[ \frac{\bar{X} - \mu}{\sigma/\sqrt{n}} \overset{d}{\to} N(0,1) \,\,(n \rightarrow \infty) \]

Teorema Central do Limite (TCL)

Independente da forma da distribuição da populaçào, na medida que \(n\) aumenta, a Distribuição Amostral de \(\bar{Y}\) converge para uma distribuição normal

LGN vs. Teorema Central do Limite

Qual a diferença entre LGN e TCL?

Embora ambos envolvam médias amostrais de variáveis aleatórias, eles respondem a perguntas diferentes.

🔹 Lei dos Grandes Números (LGN)

📌 Foco: Convergência da média amostral para o valor esperado.

“Se repetirmos um experimento muitas vezes, a média observada se aproxima da média verdadeira.”

✏️ Matematicamente:

Se \(X_1, \dots, X_n \sim \text{i.i.d.}\) com \(\mu = \mathbb{E}[X_i]\), então:

\[ \bar{X}_n = \frac{1}{n} \sum_{i=1}^n X_i \xrightarrow[]{n \to \infty} \mu \]

Resultado determinístico assintótico: aproximação da média.

🔹 Teorema Central do Limite (TCL)

📌 Foco: Forma da distribuição da média amostral quando \(n\) cresce.

“Mesmo que os dados não sejam normais, a distribuição da média amostral se aproxima da normal.”

✏️ Matematicamente:

Se \(X_1, \dots, X_n \sim \text{i.i.d.}\) com \(\mu\) e \(\sigma^2 < \infty\), então:

\[ \frac{\bar{X}_n - \mu}{\sigma/\sqrt{n}} \xrightarrow[]{d} \mathcal{N}(0,1) \]

Resultado probabilístico: aproximação da forma da distribuição.

🧠 Analogia

  • LGN: Diz que a média amostral converge para o valor esperado (média populacional) quando repetimos o processo aleatório muitas vezes.

  • TCL: Diz como se comporta a **distribuição* das médias ao longo dessas repetições

💻 Exemplo em R

set.seed(42)
media <- numeric(1000)

for (i in 1:1000) {
  amostra <- rexp(30, rate = 1)  # amostras da exponencial (não normal)
  media[i] <- mean(amostra)
}

hist(media, breaks = 30, probability = TRUE,
     main = "Distribuição da média amostral (~Normal, pelo TCL)",
     col = "lightblue", xlab = "Média das amostras")

curve(dnorm(x, mean = 1, sd = 1/sqrt(30)), col = "darkblue", lwd = 2, add = TRUE)
legend("topright", legend = c("Simulação", "Normal teórica"),
       fill = c("lightblue", NA), border = NA, lty = c(NA, 1), col = c(NA, "darkblue"))

✅ Resumo

Conceito LGN TCL
Objetivo Média converge para valor esperado Distribuição da média tende à normal
Tipo de convergência Quase certa / em probabilidade Em distribuição
Importância Estabilidade da média Inferência e testes estatísticos

Distribuição Normal - Função de Probabilidade

A Distribuição Normal

Definição: Uma variável aleatória (VA) \(X\) que segue uma distribuição normal tem sua função de densidade de probabilidade dada por:

\[ f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

Características principais:

  • A função é simétrica em torno da média \(\mu\)
  • O valor máximo ocorre em \(x = \mu\)
  • A área total sob a curva é igual a 1 (100% de probabilidade)

Parâmetros (Momentos):

  • Valor Esperado (Média): \(E[X] = \mu\)
  • Variância: \(V[X] = \sigma^2\)
  • Desvio-padrão: \(\sigma\)

Notação: \(X \sim N(\mu, \sigma^2)\)

Função de Densidade Normal

Distribuição Normal Padronizada

Padronização: Simplificando os Cálculos

Transformação: Para qualquer \(X \sim N(\mu, \sigma^2)\), podemos criar:

\[Z = \frac{X - \mu}{\sigma} \sim N(0, 1)\]

Função de densidade da Normal Padronizada: \[ \phi(z) = \frac{1}{\sqrt{2\pi}} e^{-\frac{1}{2}z^2} \]

Parâmetros:

  • Média: \(E[Z] = 0\)
  • Variância: \(V[Z] = 1\)
  • Desvio-padrão: \(\sigma = 1\)

Por que padronizar?

  • Facilita cálculos e comparações
  • Permite usar tabelas estatísticas padrão
  • Base para o conceito de z-score

Distribuição Normal Padronizada

Distribuição Normal: Efeito da Média

Efeito de Alterar \(E[X] = \mu\) (média)

Observação

Alterar a média desloca a distribuição horizontalmente sem mudar sua forma

Distribuição Normal: Efeito da Variância

Efeito de alterar \(\sigma^2\) (variância)

Observação

Maior variância = distribuição mais “dispersa” (maior incerteza)

Funções R para Distribuição Normal

Funções para a Distribuição Normal

Função Resultado
rnorm(n, mean=0, sd=1) Simula n valores
dnorm(x, mean = 0, sd = 1) Densidade f(x) no ponto x
pnorm(q, mean = 0, sd = 1, lower.tail = TRUE) \(P(X \leq q)\)
qnorm(p, mean = 0, sd = 1, lower.tail = TRUE) Quantil: \(\Phi^{-1}(p)\)

Exemplos:

# Simular 5 valores de uma distr. normal padrão
set.seed(123)
rnorm(5)
[1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774
# f(0) - densidade no ponto 0
dnorm(0)
[1] 0.3989423
# P(Z ≤ 1.96)
pnorm(1.96)
[1] 0.9750021
# Encontra z tal que P(Z ≤ z) = 0.975
qnorm(0.975)
[1] 1.959964

Função rnorm() - Simulação de uma VA com Distribuição Normal

Simulando \(X \sim N(\mu = 3, \sigma = 1)\)

Objetivo: Verificar empiricamente as propriedades da distribuição normal

Procedimento:

  1. Gerar 1000 observações de \(X \sim N(3, 1)\)
  2. Calcular média e desvio-padrão amostrais
  3. Visualizar com histograma e densidade empírica
set.seed(123)
x_simulada <- rnorm(1000, mean = 3, sd = 1)
head(x_simulada)
[1] 2.439524 2.769823 4.558708 3.070508 3.129288 4.715065
# Média e desvio padrão amostrais
mean(x_simulada)
[1] 3.016128
sd(x_simulada)
[1] 0.991695

Visualização dos Dados Simulados

Lei dos Grandes Números em Ação

Com 1000 observações, a média amostral (≈3.02) está muito próxima da média teórica (3.0)

Simulação de uma VA com Distribuição Normal Padronizada

Simulando \(Z \sim N(0, 1)\)

Agora vamos simular a distribuição normal padronizada:

set.seed(123)
z_simulada <- rnorm(1000, mean = 0, sd = 1)
head(z_simulada)
[1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71506499
# Média e desvio padrão amostrais
mean(z_simulada)
[1] 0.01612787
sd(z_simulada)
[1] 0.991695

Visualização da Normal Padronizada

Função dnorm(0) = \(f(0) = 0.4\)

Interpretação

dnorm(0) retorna o valor de \(f(x)\) no ponto \(x = 0\), não uma probabilidade!

Função pnorm(0) = \(P(Z \leq 0) = 0.5\)

Interpretação

pnorm(0) calcula: “Qual a probabilidade de Z ser menor ou igual a 0?”

pnorm(1) = \(P(Z \leq 1) = 0.84\)

Interpretação

pnorm(1) responde: “Qual a probabilidade de Z ser menor ou igual a 1?”

1 - pnorm(0) = \(P(Z > 0) = 0.5\)

Interpretação

1 - pnorm(0) responde: “Qual a probabilidade de Z ser maior que 0?”

Caso Comum: Probabilidade entre Dois Valores

\[ \begin{align} P(-0.98 \leq Z \leq 0.14) &= P(Z \leq 0.14) - P(Z \leq -0.98) \\ &= F(0.14) - F(-0.98) \\ & = \text{pnorm}(0.14) - \text{pnorm}(-0.98) \\ & = 0.5557 - 0.1635 \\ & = 0.3922 \end{align} \]

Explicação

A probabilidade de Z estar entre -0.98 e 0.14 é a diferença entre as probabilidades acumuladas até esses pontos.

Função qnorm(0.5) = \(\Phi^{-1}(0.5) = 0\)

Interpretação

qnorm(0.5) calcula: “Qual quantil \(Z\) deixa 50% da distribuição à sua esquerda?” Ou seja, \(P(Z \leq q) = 0.5\).

qnorm(0.9) = \(\Phi^{-1}(0.9) = 1.28\)

Interpretação

qnorm(0.9) calcula: “Qual valor \(Z\) deixa 90% da probabilidade à sua esquerda?”

Exercício 1

Calcule as seguintes probabilidades associadas a uma distribuição normal padronizada.

  1. \(P(Z <= 1.25)\)

  2. \(P(Z > 1.25)\)

  3. \(P(Z <= - .25)\)

  4. \(P(-0.8 <= Z <= 1..25)\)

Exercício 2

Distribuicao Normal: Calcule os quantis associados às seguintes probabilidades

  1. \(P(Z < q)\) = 0.9798

  2. \(P(Z < q)\) = 0.2546

  3. \(P(Z > q)\) = 0.1075

  4. \(P(Z > q)\) = 0.9418

Simulação de Monte Carlo

Métodos de Monte Carlo

O que são Métodos de Monte Carlo?

  • Em termos gerais, métodos de Monte Carlo consistem em resolver problemas numéricos usando simulações baseadas em amostragem aleatória — isto é, com auxílio de números (pseudo-)aleatórios.

  • São úteis especialmente quando o problema é de alta complexidade ou dimensionalidade, tornando inviável uma solução analítica ou mesmo métodos numéricos determinísticos convencionais.

  • Eles permitem estudar o comportamento médio de sistemas aleatórios ou aproximar integrais, probabilidades e soluções de equações diferenciais, por meio de repetições estocásticas.

  • O nome foi cunhado na década de 1940 por Stanislaw Ulam e John von Neumann, inspirado nos jogos de azar do Cassino de Monte Carlo, enquanto trabalhavam no Projeto Manhattan.

  • Por que o Método de Monte Carlo funciona?

  • A ideia fundamental por trás do método é a Lei dos Grandes Números (LGN): dada uma sequência de variáveis aleatórias independentes e identicamente distribuídas, a média amostral converge (quase certamente) para o valor esperado da distribuição.

  • Suponha que estamos interessados em estimar a probabilidade de um evento \(A\). Podemos definir uma variável aleatória indicadora para cada repetição:

\[ X_k = \begin{cases} 1, & \text{se o evento } A \text{ ocorre na } k\text{-ésima simulação} \\ 0, & \text{caso contrário} \end{cases} \]

  • A média das \(n\) simulações:

\[ \hat{P}_n = \frac{1}{n} \sum_{k=1}^{n} X_k \]

é um estimador não-viesado de \(P(A)\), pois \(\mathbb{E}[X_k] = P(A)\) para cada \(k\). Pela Lei dos Grandes Números, temos:

\[ \hat{P}_n \xrightarrow[]{n \to \infty} P(A) \]

com alta probabilidade (ou quase certamente, dependendo da versão da LGN usada).

Etapas de uma Simulação de Monte Carlo

  1. Modelagem: Modelar o “experimento” aleatório no computador com o uso de variáveis pseudo-aleatórias.

  2. Critério de Sucesso: Determinar se o evento de interesse \(A\) ocorreu em cada simulação.

  3. Repetição: Repetir esse processo \(n\) vezes e calcular a proporção (média) dos “sucessos” e assim estimar a probabilidade.

Exemplo 1: Probabilidade de obter “cara” em lançamentos de uma moeda honesta

Vamos simular \(n\) lançamentos e estimar \(P(\text{cara})\):

mean(sample(0:1, 10, replace = TRUE)) # 10 lançamentos
[1] 0.3
mean(sample(0:1, 100, replace = TRUE)) # 100 lançamentos
[1] 0.51
mean(sample(0:1, 1000, replace = TRUE)) # 1000 lançamentos 
[1] 0.476
mean(sample(0:1, 10000, replace = TRUE)) # 10000 lançamentos 
[1] 0.4975
  • 0 representa “coroa” e 1 representa “cara”.

  • A função mean() fornece a proporção de caras, que é uma estimativa de \(P(\text{cara}) = 0.5\).

Exemplo 2 Probabilidade de obter três “caras” em três lançamentos

n <- 10000
vetor_simulacoes <- numeric(n)

for (i in 1:n) {
  teste <- sample(0:1, 3, replace = TRUE)
  vetor_simulacoes[i] <- as.numeric(sum(teste) == 3)
}

mean(vetor_simulacoes)
[1] 0.1272
  • Cada iteração simula 3 lançamentos.
  • Se todos os 3 forem “cara”, soma será 3, registrando um “sucesso”.
  • A média final é a estimativa de \(P(\text{3 caras}) = \frac{1}{8} = 0,125\).

Conclusão

Métodos de Monte Carlo baseiam-se na ideia de que, ao repetir um experimento aleatório muitas vezes, a média dos resultados converge para o valor esperado do fenômeno modelado — uma consequência direta da Lei dos Grandes Números. Isso os torna ferramentas poderosas para resolver problemas onde abordagens determinísticas são impraticáveis.

Integração de Monte Carlo

O que é Integração de Monte Carlo?

Considere a integral definida de uma função real e limitada \(f\):

\[ I = \int_{a}^{b} f(x) \, dx \]

Essa integral pode ser interpretada como o valor esperado de \(f\) sob uma variável aleatória \(U \sim U(a, b)\), isto é, uma distribuição uniforme no intervalo \([a, b]\).

Sabemos que:

\[ E[f(U)] = \int_{a}^{b} f(x) \cdot \frac{1}{b - a} \, dx \]

Multiplicando ambos os lados por \((b - a)\), obtemos:

\[ \int_{a}^{b} f(x) \, dx = (b - a) \cdot E[f(U)] \]

Essa igualdade fornece a base teórica para a integração via Monte Carlo.

Como funciona?

Se \(U_1, \dots, U_N \sim U(a, b)\) forem amostras independentes e identicamente distribuídas (i.i.d), então:

\[ \hat{I}_N = \frac{b - a}{N} \sum_{i=1}^{N} f(U_i) \]

é um estimador não-viesado da integral ( I ), e pela Lei dos Grandes Números:

\[ \hat{I}_N \xrightarrow[]{n \to \infty} \int_a^b f(x) dx \]

Caso particular: Intervalo \([0, 1]\)

Quando \(a = 0\) e \(b = 1\), o fator \((b - a) = 1\), e temos:

\[ \int_{0}^{1} f(x) dx = E[f(U)], \quad \text{com } U \sim U(0,1) \]

Estimamos a integral com:

\[ \hat{I}_N = \frac{1}{N} \sum_{i=1}^{N} f(U_i) \]

Exemplo 1

Para resolver a seguinte integral definida via simulação de Monte Carlo:

\[ \int_{2}^{5} \sin(x)dx \]

basta fazermos:

# fixando a semente do algoritmo
set.seed(2023)

# integracao via SMC

## Gerando amostras uniformes no intervalo [2, 5]
u <- runif(100000, min = 2, max = 5)

## Calculando a média/valor esperado da função seno
(5 - 2)*mean(sin(u))
[1] -0.6999126

Resolvendo analiticamente a integral, verifica-se que o valor exato é -0,7.

# resolvendo numericamente a integral
integrate(sin, 2, 5)
-0.699809 with absolute error < 2.1e-14

Exemplo 2:

Considere a integral:

\[ \int_{0}^{1} \frac{\sin(x(1 - x))}{1 + x + \sqrt{x}} \, dx \]

Esta integral pode ser estimada por Monte Carlo amostrando \(U_i \sim \mathcal{U}(0,1)\) e calculando a média:

# Semente para reprodutibilidade
set.seed(2023)

# Função de interesse
f <- function(x) sin(x*(1 - x)) / (1 + x + sqrt(x))

# Integração via Monte Carlo
u <- runif(100000)
mean(f(u))  # Estimativa da integral
[1] 0.07867095

Podemos comparar com o valor exato (numérico) da integral usando o método adaptativo de quadratura:

integrate(f, 0, 1)
0.07852747 with absolute error < 9.2e-06

Conclusão

  • A integração de Monte Carlo transforma um problema determinístico (uma integral) em um problema probabilístico (cálculo de um valor esperado).

  • Os limites de integração determinam o intervalo da distribuição uniforme usada para gerar amostras.

  • A precisão aumenta com o número de amostras, graças à Lei dos Grandes Números.

Exercício 3

Simulação versus Cálculo Exato

Simule 1.000 realizações de uma variável aleatória (\(Z\)) que segue uma distribuição normal padronizada (\(Z \sim N(\mu = 0, \sigma = 1)\)) e use sua amostra simulada para estimar as seguintes probabilidades:

  1. \(P(Z > 2.5)\)
  2. \(P(-1.2 < Z < 1.3)\)

Compare os dois resultados com o valor exato que pode ser obtido com a função pnorm().

Exercício 4

Resolvendo Integrais por Simulação de Monte Carlo

Use Simulação de Monte Carlo para estimar as seguintes integrais utilizando 1000 repetições. Compare com a resposta exata, a qual pode ser obtida com a função integrate() da linguagem R.

  1. \(\int_{1}^{3} x^2dx\).

  2. \(\int_{0}^{\pi} sin(x)dx\)

Distribuição Conjunta de Variáveis Aleatórias

Distribuição Conjunta de Variáveis Aleatórias

O que é uma Distribuição Conjunta?

Uma distribuição conjunta descreve a probabilidade de diferentes combinações de valores para duas variáveis aleatórias \(X\) e \(Y\):

  • Discreta: \(f(x, y) = P(X = x \cap Y = y)\)
  • Contínua: \(f(x, y)\) é uma densidade tal que \[ \iint f(x, y)\,dx\,dy = 1 \]

Propriedades:

  • \(f(x, y) \geq 0\) para todo \((x, y)\)

  • \(\sum_x \sum_y f(x, y) = 1\) (no caso discreto)

  • Distribuições Marginais

As distribuições marginais mostram o comportamento de uma única variável.

São obtidas a partir da distribuição conjunta somando (ou integrando) sobre a outra variável:

  • Para \(X\):

    \[ f_1(x) = \sum_y f(x, y) \quad \text{ou} \quad f_1(x) = \int f(x, y)\,dy \]

  • Para \(Y\):

    \[ f_2(y) = \sum_x f(x, y) \quad \text{ou} \quad f_2(y) = \int f(x, y)\,dx \]

Analogia

Pense em uma planilha eletrônica com:

  • Linhas = valores de \(X\) (ex: renda)
  • Colunas = valores de \(Y\) (ex: felicidade)
  • Cada célula = probabilidade \(P(X = x, Y = y)\)

👉 A distribuição marginal de \(X\) é obtida somando as células linha por linha.

👉 A marginal de \(Y\), somando coluna por coluna.

Assim como na planilha, você pode ver o total de uma linha sem olhar os detalhes da coluna — isso é uma marginal.

Distribuição Condicional

Descrição

A distribuição condicional de \(Y\) dado \(X = x\) é:

\[ f(y \mid x) = \frac{f(x, y)}{f_1(x)} \quad \text{(se } f_1(x) > 0\text{)} \]

Ela representa a probabilidade de \(Y = y\) dado que (ou condicional a) \(X = x\).

Exemplo: Tabela de Distribuição Conjunta

Renda vs. Felicidade

Tabela de contingência (distribuição conjunta empírica) entre faixa de renda e felicidade:

Felicidade \ Renda Baixa Média Alta Total
Pouca 20 10 5 35
Moderada 30 40 25 95
Muita 10 30 30 70
Total 60 80 60 200

Podemos obter:

  • Distribuição conjunta: \(P(X = \text{Média} \cap Y = \text{Muita}) = \frac{30}{200} = 0.15\)

  • Marginais: \(P(X = \text{Alta}) = \frac{60}{200} = 0.30\)

  • Condicional: \(P(Y = \text{Muita} \mid X = \text{Alta}) = \frac{30}{60} = 0.50\)

  • Analogia Intuitiva

Esta tabela é como uma planilha populacional:

  • Cada célula mostra quantas pessoas estão em uma combinação de renda e felicidade.

  • A soma das células mostra o todo (200 pessoas).

Se fixarmos uma coluna (ex: “Alta Renda”), estamos condicionando.

Se as proporções da felicidade forem semelhantes em todas as rendas, podemos suspeitar de independência.

Independência

Independência de Variáveis Aleatórias

\(X\) e \(Y\) são independentes se:

\[ f(x, y) = f_1(x) \cdot f_2(y) \]

ou seja:

\[ f(y \mid x) = f_2(y), \quad \text{e} \quad f(x \mid y) = f_1(x) \]

Nesse caso, saber o valor de uma variável não altera a distribuição da outra.

  • Analogia

Se \(X\) = “renda” e \(Y\) = “felicidade”, independência significa que conhecer a renda de alguém não diz nada sobre sua felicidade, e vice-versa.

Correlação entre Variáveis Aleatórias

Correlação

  • Quando as variáveis aleatórias \(X\) e \(Y\) não são independentes, certos valores de \(X\) tendem a estar associados a certos valores de \(Y\). Ou seja, existe uma relação ou associação entre elas.

  • Ao amostrarmos aleatoriamente pares \((X, Y)\) de sua distribuição conjunta de probabilidade, com médias marginais \(\mu_X\) e \(\mu_Y\), dizemos que há uma associação positiva se, em média, o valor de \((X - \mu_X)(Y - \mu_Y)\) é positivo.

Em outras palavras:

  • Quando \(X > \mu_X\), geralmente também temos \(Y > \mu_Y\);
  • Quando \(X < \mu_X\), geralmente também temos \(Y < \mu_Y\).

Já uma associação negativa ocorre se, em média, o produto \((X - \mu_X)(Y - \mu_Y)\) assume valores negativos — isto é, quando \(X\) está acima da média (\(X > \mu_X\)), tende-se a observar \(Y < \mu_Y\), e vice-versa.

Covariância e Correlação

Covariância

A covariância entre duas variáveis aleatórias \(X\) e \(Y\) tendo \(E(X) = \mu_X\) e \(E(Y) = \mu_Y\) é definida como:

\[ \text{Cov}(X, Y) = E[(X - \mu_X)(Y - \mu_Y)] = E(XY) - E(X)E(Y) \]

Propriedades:

  • Simétrica: \(\text{Cov}(X, Y) = \text{Cov}(Y, X)\)
  • \(\text{Cov}(X, Y) > 0\): variáveis tendem a cresce/decrescer juntas
  • \(\text{Cov}(X, Y) < 0\): uma cresce, a outra decresce, e vice-versa.
  • Tem unidade: \(\text{unid}(X) \cdot \text{unid}(Y)\)

A covariância é como a média dos produtos de desvios conjuntos.

Correlação entre Variáveis Aleatórias

Definição Correlação

A correlação entre uma variável aleatória \(X\), tendo \(E(X) = \mu_X\) e desvio padrão \(\sigma_X\), e uma variável aleatória \(Y\), tendo \(E(Y) = \mu_Y\) e desvio padrão \(\sigma_Y\), é definida como:

\[ \text{Cor}(X, Y) = E\left[ \left( \frac{X - \mu_X}{\sigma_X} \right)\left( \frac{Y - \mu_Y}{\sigma_Y} \right) \right] = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y} \]

A correlação padroniza a covariância, removendo as unidades e está confinada ao intervalo \([-1, 1]\), podendo fornecer uma medida da força da relação linear entre \(X\) e \(Y\).

Propriedades:

  • \(\text{Cor}(X, Y) \in [-1, 1]\)

  • \(\pm1\) indica relação linear perfeita

  • \(0\) indica ausência de relação linear (mas pode haver relação não linear)

  • Adimensional e invariante a transformações lineares de escala

  • Covariância fornece a direção da relação linear entre \(X\) e \(Y\), enq

  • Correlação mede quão fortemente seus desempenhos se alinham em termos relativos.

É como comparar os desvios padronizados: ambos estão acima da média? quanto?

Correlação entre Variáveis Aleatórias

Padrões Identificáveis em Gráficos de Dispersão

Correlação entre Variáveis Aleatórias

Variabilidade, Força da Correlação, Relação Não-Linear:

Variância da Soma de Variáveis Aleatórias

Fórmula da Variância da Soma

Sejam \(X\) e \(Y\) variáveis aleatórias com variâncias finitas:

\[ Var(X + Y) = Var(X) + Var(Y) + 2Cov(X, Y) \]

Demonstração

Por definição \(V(X) = E(X - E(X))^2\), portanto:

\[ Var(X + Y) = E\left[(X + Y) - E(X + Y))^2 \right] \]

Sabemos que:

\[ E(X + Y) = E(X) + E(Y) \]

Logo:

\[ \begin{aligned} ((X + Y) - E(X + Y))^2 &= (X - E(X) + Y - E(Y))^2 \\ &= (X - E(X))^2 + (Y - E(Y))^2 + 2(X - E(X))(Y - E(Y)) \end{aligned} \]

Tomando o valor esperado:

\[ \begin{aligned} Var(X + Y) &= E[(X - E(X))^2] + E[(Y - E(Y))^2] + 2E[(X - E(X))(Y - E(Y))] \\ &= Var(X) + Var(Y) + 2Cov(X, Y) \end{aligned} \]

  • Versão com Correlação

Se \(X\) e \(Y\) têm desvios padrão \(\sigma_X\) e \(\sigma_Y\), e correlação \(\rho_{XY}\):

\[ Var(X + Y) = \sigma_X^2 + \sigma_Y^2 + 2\,\rho_{XY} \sigma_X \sigma_Y \]

Independência Implica Correlação Zero

Demonstração

Se \(X\) e \(Y\) são independentes, então sua densidade conjunta fatoriza:

\[ f(x, y) = f_1(x) f_2(y) \]

Então:

\[ E(XY) = \iint xy f(x, y) \, dx \, dy = \left( \int x f_1(x)\, dx \right) \left( \int y f_2(y)\, dy \right) = E(X) E(Y) \]

Portanto:

\[ \text{cov}(X, Y) = E(XY) - E(X)E(Y) = 0 \]

Logo:

\[ \text{corr}(X, Y) = \frac{\text{cov}(X, Y)}{\sigma_X \sigma_Y} = 0 \]

  • Mas o Inverso Não é Verdadeiro

Correlação Zero Não Implica Independência

Por que Correlação Zero Não Garante Independência?

A correlação entre \(X\) e \(Y\) mede a associação linear entre elas:

\[ \rho_{XY} = \frac{E[(X - \mu_X)(Y - \mu_Y)]}{\sigma_X \sigma_Y} \]

Se \(\rho_{XY} = 0\), então não há relação linear entre \(X\) e \(Y\).
Mas isso não exclui a possibilidade de dependência não linear.

  • Independência é Mais Forte

\(X\) e \(Y\) são independentes quando:

\[ f(x, y) = f_1(x) \cdot f_2(y) \quad \text{para todo } x, y \]

Ou seja, qualquer conhecimento sobre \(X\) não altera a distribuição de \(Y\) e vice-versa:

\[ P(Y \mid X) = P(Y) \]

Essa condição elimina toda forma de dependência, linear ou não.

  • Exemplo Clássico

Seja \(X \sim U(-1, 1)\) e \(Y = X^2\)

  • \(\rho_{XY} = 0\)
  • Mas \(Y\) é função determinística de \(X\) Dependência total, correlação nula**

Esse é um caso de dependência não linear invisível à correlação.

Atualizando os Repositórios

Instruções

  1. No terminal do RStudio, verifique quais arquivos/pastas foram modificados ou criados com:
git status
  1. Você pode adicionar todos os arquivos de uma vez com:
git add .
  1. Execute git status novamente para confirmar que todos os arquivos foram adicionados (aparecerão em verde sob “Changes to be committed”):
git status
  1. Se tudo estiver em verde, faça um commit com uma mensagem descritiva:
git commit -m "atualizacoes aula 9"
  1. Se algum arquivo ou pasta ainda aparecer em vermelho após o segundo git status, adicione as pastas/arquivos um por um:
git add relatorios/07-relatorio/07-relatorio.qmd
  1. Execute git status novamente e faça o commit quando todos os arquivos estiverem em verde:
git commit -m "atualizacoes aula 9"
  1. Envie o repositório local atualizado para o GitHub:
git push origin main