Este relatório demonstra: carregamento e manipulação do dataset
AirPassengers, criação de uma tabela interativa com
DT, apresentação de cinco equações em LaTeX com
explicações, inclusão de duas figuras e bibliografia gerenciada via
BibTeX.
Nesta aba apresento o código R que carrega
AirPassengers, converte para data.frame com
uma coluna de datas, e cria um filter para um período de 2 anos
escolhido. Também comento os resultados gerados.
# pacotes necessários
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.1 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.0 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(lubridate)
library(knitr)
# dataset base (sistema R já inclui AirPassengers)
data("AirPassengers")
# parâmetros: altere aqui para escolher o período de 2 anos
start_year <- 1955 # ano de início do filtro (ex: 1955)
start_month <- 1 # mês de início (1 = jan)
# calcula intervalo de 2 anos
start_date <- as.Date(sprintf("%04d-%02d-01", start_year, start_month))
end_date <- start_date %m+% years(2) %m-% days(1) # dois anos - 1 dia
# transformar série temporal em data.frame mensal
ap_ts <- AirPassengers
ap_df <- tibble(
date = seq(from = as.Date("1949-01-01"), by = "month", length.out = length(ap_ts)),
passengers = as.numeric(ap_ts)
)
# criar variável de ano e mês
ap_df <- ap_df %>%
mutate(year = year(date), month = month(date, label = TRUE, abbr = TRUE))
# filtragem de 2 anos (variável que será usada no relatório)
ap_2yrs <- ap_df %>%
filter(date >= start_date & date <= end_date)
# exibir resumo
kable(head(ap_df, 8), caption = "Primeiras 8 linhas do dataset transformado")
| date | passengers | year | month |
|---|---|---|---|
| 1949-01-01 | 112 | 1949 | jan |
| 1949-02-01 | 118 | 1949 | fev |
| 1949-03-01 | 132 | 1949 | mar |
| 1949-04-01 | 129 | 1949 | abr |
| 1949-05-01 | 121 | 1949 | mai |
| 1949-06-01 | 135 | 1949 | jun |
| 1949-07-01 | 148 | 1949 | jul |
| 1949-08-01 | 148 | 1949 | ago |
# mostrar período escolhido
cat(sprintf("Período filtrado: %s até %s (total de %d meses)\n",
format(start_date, "%Y-%m-%d"), format(end_date, "%Y-%m-%d"), nrow(ap_2yrs)))
## Período filtrado: 1955-01-01 até 1956-12-31 (total de 24 meses)
# estatísticas simples para o período filtrado
ap_2yrs_summary <- ap_2yrs %>%
summarise(
n = n(),
mean_pass = mean(passengers),
sd_pass = sd(passengers),
min_pass = min(passengers),
max_pass = max(passengers)
)
ap_2yrs_summary
## # A tibble: 1 × 5
## n mean_pass sd_pass min_pass max_pass
## <int> <dbl> <dbl> <dbl> <dbl>
## 1 24 306. 49.6 233 413
data("AirPassengers"): carrega a série temporal
mensal de passageiros aéreos (1949–1960) que vem com R.
Conversão para data.frame: séries temporais
(ts) não possuem coluna explícita de datas. A transformação
cria uma coluna date com sequência mensal iniciando em
1949-01-01 e uma coluna passengers com os
valores numéricos.
start_year e start_month: parâmetros
onde você escolhe o início do período de 2 anos. No exemplo usei
1955-01.
end_date é calculado adicionando 2 anos e subtraindo
1 dia para incluir exatamente 24 meses.
ap_2yrs é o tibble filtrado com exatamente
o intervalo de 24 meses.
library(DT)
## Warning: pacote 'DT' foi compilado no R versão 4.5.2
# vamos usar o ap_2yrs (conjunto filtrado) se existir, senão usa ap_df
tbl_source <- if (exists("ap_2yrs")) ap_2yrs else ap_df
# tabela interativa
datatable(tbl_source,
options = list(pageLength = 10, autoWidth = TRUE),
rownames = FALSE,
caption = htmltools::tags$caption(style = 'caption-side: top; text-align: left;',
'Tabela interativa — subconjunto de AirPassengers'))
Nesta aba apresento cinco equações escritas em LaTeX. Cada equação tem uma explicação abaixo.
\[ Y_t = \beta_0 + \beta_1 X_t + \varepsilon_t \]
Significado: relação linear entre variável dependente \(Y_t\) e variável explanatória \(X_t\). \(\beta_0\) é intercepto, \(\beta_1\) coeficiente de inclinação, \(\varepsilon_t\) termo de erro.
\[ X_t = \phi_0 + \phi_1 X_{t-1} + u_t \]
Significado: processo autoregressivo de ordem 1 (AR(1)). O valor atual depende do valor imediatamente anterior mais ruído \(u_t\).
\[ \Phi(L)(1 - L)^d X_t = \Theta(L) \varepsilon_t \]
onde \(\Phi(L) = 1 - \Phi_1 L - \dots - \Phi_p L^p\) e \(\Theta(L) = 1 + \theta_1 L + \dots + \theta_q L^q\).
Significado: modelos ARIMA combinam diferença integrada (d), parte autoregressiva (p) e média móvel (q) — amplamente usados para séries temporais.
\[ X_t = T_t + S_t + R_t \]
Significado: uma série \(X_t\) pode ser decomposta em tendência \(T_t\), sazonalidade \(S_t\) e componente residual \(R_t\).
\[ L(\mu,\sigma^2; x) = \prod_{i=1}^n \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right) \]
Significado: verossimilhança de uma amostra \(x_1,\dots,x_n\) assumindo distribuição Normal com média \(\mu\) e variância \(\sigma^2\). Usada para inferência paramétrica (MLE).