Prof. Dr. Francisco de Souza Oliveira e
Prof. Dr. Rafael da Silva Palácios
Discentes: Elivaldo Rocha, Edson Fernandes
Junior
Este relatório tem como objetivo aplicar técnicas de análise
estatística a dados meteorológicos, a fim de explorar relações entre as
variáveis atmosféricas, como temperatura, umidade relativa e
precipitação. As análises envolvem a visualização das séries temporais
diárias e mensais, bem como a avaliação das correlações entre as
variáveis.
Por favor, para acessar os dados e scripts, copie e
cole em seu navegador o link abaixo:
https://drive.google.com/drive/folders/1Dhc-RuXHl5cRnnEUWPcN2WN4Pye0M0Sk?usp=sharing.
A correlação é uma medida estatística que expressa o grau de associação entre duas variáveis. No contexto deste estudo, a correlação é usada para investigar como variáveis atmosféricas, como a temperatura, a umidade relativa e a precipitação, estão relacionadas. A correlação pode variar de -1 a 1, onde:
No estudo, utilizamos o coeficiente de correlação de Pearson, que mede a força da relação linear entre duas variáveis numéricas.
Embora uma correlação entre duas variáveis possa ser observada, é necessário verificar se essa correlação é estatisticamente significativa ou se pode ter ocorrido por acaso. Para isso, aplicamos o teste de significância, que é baseado no cálculo do valor p (p-value). Esse valor nos ajuda a determinar a probabilidade de que a correlação observada tenha ocorrido ao acaso. O teste de significância segue os seguintes critérios:
Neste relatório, as correlações estatisticamente significativas são destacadas visualmente nos gráficos de correlação, facilitando a interpretação dos resultados. Para isso, utilizamos a função cor_pmat() para calcular os valores p associados a cada par de variáveis, permitindo identificar relações que merecem maior atenção em análises posteriores.
Com essa abordagem, conseguimos avaliar as relações entre as variáveis atmosféricas e suas possíveis implicações no contexto de análise de risco e gestão de desastres.
Para maiores detalhes e explicação, executar o comando: ?cor_pmat
# Carregando as bibliotecas necessárias
library(ggplot2)
library(ggcorrplot)
library(lubridate)
library(dplyr)
library(cowplot)
Os dados foram lidos a partir de um arquivo CSV, e a coluna data foi convertida para o formato de data Date para facilitar as manipulações temporais.
# Definindo o diretório de trabalho
setwd("C:/Users/HP/Dropbox/PC/Downloads/Correl_Fran")
# Lendo os dados
dados <- read.csv("estacao_sp.csv", header = TRUE)
# Convertendo a coluna 'data' para o formato de data
dados$data <- as.Date(dados$data, format = "%Y-%m-%d")
# Verificando a estrutura dos dados
head(dados)
## data temp um.rel prec
## 1 1936-01-01 18.6 94.4 29.9
## 2 1936-01-02 18.6 92.1 2.5
## 3 1936-01-03 20.3 89.2 13.9
## 4 1936-01-04 22.4 77.9 0.0
## 5 1936-01-05 21.0 84.1 13.8
## 6 1936-01-06 20.7 87.6 3.9
summary(dados)
## data temp um.rel prec
## Min. :1936-01-01 Min. : 4.50 Min. :34.60 Min. : 0.000
## 1st Qu.:1953-10-17 1st Qu.:16.20 1st Qu.:78.10 1st Qu.: 0.000
## Median :1971-08-04 Median :18.70 Median :84.00 Median : 0.100
## Mean :1971-08-04 Mean :18.57 Mean :82.68 Mean : 3.812
## 3rd Qu.:1989-05-21 3rd Qu.:21.10 3rd Qu.:88.80 3rd Qu.: 2.200
## Max. :2007-03-08 Max. :28.30 Max. :99.90 Max. :145.900
A seguir são apresentados gráficos de séries temporais das variáveis diárias: temperatura, umidade relativa e precipitação.
# Gráficos de séries temporais diárias
temp <- ggplot(dados) +
aes(x = data, y = temp) +
geom_line(lwd = 1.3, color = "#fc4e08", lty = 5) +
labs(x = 'Data', y = 'Temperatura [°C]') +
theme_bw()
um.rel <- ggplot(dados) +
aes(x = data, y = um.rel) +
geom_line(lwd = 1.3, color = "cyan", lty = 5) +
labs(x = 'Data', y = 'Umidade Relativa [%]') +
theme_bw()
prec <- ggplot(dados) +
aes(x = data, y = prec) +
geom_line(lwd = 1.3, color = "blue", lty = 5) +
labs(x = 'Data', y = 'Precipitação [mm]') +
theme_bw()
# Layout com título (Gráficos Diários)
plot_com_titulo <- plot_grid(temp, um.rel, prec, ncol = 1)
titulo_final <- ggdraw() +
draw_label("Diário", fontface = 'bold', x = 0.5, hjust = 0.5, size = 14)
plot_final <- plot_grid(titulo_final, plot_com_titulo, ncol = 1, rel_heights = c(0.1, 1))
# Exibir os gráficos
plot_final
Os dados diários foram agregados por mês para calcular as médias de temperatura e umidade relativa, além da precipitação acumulada mensal.
# Agrupando os dados por mês e ano
dados_mensal <- dados %>%
mutate(mes_ano = floor_date(data, "month")) %>%
group_by(mes_ano) %>%
summarise(
temp_media = mean(temp, na.rm = TRUE),
umidade_media = mean(um.rel, na.rm = TRUE),
precipitacao_total = sum(prec, na.rm = TRUE)
)
# Visualização do resumo dos dados mensais
head(dados_mensal)
## # A tibble: 6 × 4
## mes_ano temp_media umidade_media precipitacao_total
## <date> <dbl> <dbl> <dbl>
## 1 1936-01-01 21.3 82.0 120.
## 2 1936-02-01 19.7 86.4 145.
## 3 1936-03-01 19.5 88.7 183.
## 4 1936-04-01 18.6 85.9 43.4
## 5 1936-05-01 18.8 85.2 27.8
## 6 1936-06-01 17.0 83.1 2.7
summary(dados_mensal)
## mes_ano temp_media umidade_media precipitacao_total
## Min. :1936-01-01 Min. :11.58 Min. :68.77 Min. : 0.5
## 1st Qu.:1953-10-16 1st Qu.:16.54 1st Qu.:80.46 1st Qu.: 44.1
## Median :1971-08-01 Median :18.54 Median :82.88 Median : 97.3
## Mean :1971-08-01 Mean :18.59 Mean :82.68 Mean :115.9
## 3rd Qu.:1989-05-16 3rd Qu.:20.71 3rd Qu.:85.30 3rd Qu.:174.2
## Max. :2007-03-01 Max. :24.22 Max. :91.23 Max. :470.7
Aqui são apresentados os gráficos de séries temporais das variáveis agregadas por mês: temperatura média, umidade relativa média e precipitação acumulada mensal.
# Gráficos de séries temporais mensais
temp_mensal <- ggplot(dados_mensal) +
aes(x = mes_ano, y = temp_media) +
geom_line(lwd = 1.3, color = "#fc4e08", lty = 5) +
labs(x = 'Data', y = 'Temperatura [°C]') +
theme_bw()
um_rel_mensal <- ggplot(dados_mensal) +
aes(x = mes_ano, y = umidade_media) +
geom_line(lwd = 1.3, color = "cyan", lty = 5) +
labs(x = 'Data', y = 'Umidade Relativa [%]') +
theme_bw()
prec_mensal <- ggplot(dados_mensal) +
aes(x = mes_ano, y = precipitacao_total) +
geom_line(lwd = 1.3, color = "blue", lty = 5) +
labs(x = 'Data', y = 'Precipitação [mm]') +
theme_bw()
# Layout com título (Gráficos Mensais)
plot_com_titulo_mensal <- plot_grid(temp_mensal, um_rel_mensal, prec_mensal, ncol = 1)
titulo_final_mensal <- ggdraw() +
draw_label("Mensal", fontface = 'bold', x = 0.5, hjust = 0.5, size = 14)
plot_final_mensal <- plot_grid(titulo_final_mensal, plot_com_titulo_mensal, ncol = 1, rel_heights = c(0.1, 1))
# Exibir os gráficos
plot_final_mensal
Foi realizada a análise de correlação entre as variáveis atmosféricas diárias. A seguir, está o gráfico de correlação com a matriz de significância.
# Correlação para os dados diários
cor.data <- round(cor(dados[2:4]), 1)
cor.data
## temp um.rel prec
## temp 1.0 -0.4 0.1
## um.rel -0.4 1.0 0.3
## prec 0.1 0.3 1.0
p.mat <- cor_pmat(dados[2:4])
p.mat
## temp um.rel prec
## temp 0.000000e+00 0 3.420661e-78
## um.rel 0.000000e+00 0 0.000000e+00
## prec 3.420661e-78 0 0.000000e+00
# Gráfico de correlação diário
meu.plot_diario <- ggcorrplot(cor.data,
hc.order = TRUE,
type = "lower",
p.mat = p.mat,
sig.level = 0.05,
insig = "blank",
legend.title = "Coeficiente de \n Correlação",
lab = TRUE,
lab_size = 3,
method = "circle",
colors = c("firebrick", "white", "dodgerblue4"),
title = "Correlação significativa entre Variáveis Atmosféricas (Diário)",
ggtheme = theme_bw())
# Exibir o gráfico
meu.plot_diario
Foi realizada a análise de correlação entre as variáveis atmosféricas mensais. A seguir, está o gráfico de correlação com a matriz de significância.
# Correlação para os dados mensais
cor.data_mensal <- round(cor(dados_mensal[2:4]), 1)
cor.data_mensal
## temp_media umidade_media precipitacao_total
## temp_media 1.0 0.0 0.6
## umidade_media 0.0 1.0 0.3
## precipitacao_total 0.6 0.3 1.0
p.mat_mensal <- cor_pmat(dados_mensal[2:4])
p.mat_mensal
## temp_media umidade_media precipitacao_total
## temp_media 0.000000e+00 9.800710e-01 3.340015e-88
## umidade_media 9.800710e-01 0.000000e+00 2.058872e-23
## precipitacao_total 3.340015e-88 2.058872e-23 0.000000e+00
# Gráfico de correlação mensal
meu.plot_mensal <- ggcorrplot(cor.data_mensal,
hc.order = TRUE,
type = "lower",
p.mat = p.mat_mensal,
sig.level = 0.05,
insig = "blank",
legend.title = "Coeficiente de \n Correlação",
lab = TRUE,
lab_size = 3,
method = "circle",
colors = c("firebrick", "white", "dodgerblue4"),
title = "Correlação significativa entre Variáveis Atmosféricas (Mensal)",
ggtheme = theme_bw())
# Exibir o gráfico
meu.plot_mensal
Este relatório apresentou uma análise estatística exploratória das variáveis atmosféricas diárias e mensais. Através da visualização das séries temporais e da análise de correlação, foi possível observar padrões e relações significativas entre as variáveis, o que pode ser útil para estudos de gestão de risco em eventos meteorológicos.