# bibliotecas necessárias
library(rlang)
library(here)
library(magrittr)
library(readr)
library(ggplot2)
library(dplyr)
library(janitor)
library(skimr)
library(grid)
theme_set(theme_bw())
A partir de um conjunto de dados do BDMEP (https://tempo.inmet.gov.br/) filtrados e disponibilizados na disciplina FPCC2, foi possível fazer uma análise exploratória de alguns fatores que influenciam a sensação térmica em João Pessoa, Campina Grande e Patos - PB. Essas cidades, estão entre as quatro cidades mais populosas do estado, além de estarem em partes diferentes da Paraíba; João Pessoa fica no litoral, Campina Grande fica no PLanalto da Borborema e Patos, no sertão.
Uma pequena parte dos dados é mostrada na tabela abaixo. Os dados contam com 52 linhas nessa tabela para cada cidade aqui tratada.
clima_tudo = read_csv(
here("data/tempo-jp-cg-pt.csv"),
col_types = cols(
cidade = col_character(),
semana = col_date(format = ""),
temp_max = col_double(),
temp_media = col_double(),
temp_min = col_double(),
vento_medio = col_double(),
vento_max = col_double(),
umidade = col_double(),
chuva = col_double(),
ano = col_integer(),
mes = col_integer()
)
)
clima_tudo %>%
head() %>%
knitr::kable()
cidade | semana | temp_max | temp_media | temp_min | vento_medio | vento_max | umidade | chuva | ano | mes |
---|---|---|---|---|---|---|---|---|---|---|
Campina Grande | 2009-12-27 | 29.9 | 25.90000 | 21.9 | 3.960000 | 5.0 | 76.00000 | 0.0 | 2009 | 12 |
Campina Grande | 2010-01-03 | 31.4 | 25.53333 | 21.2 | 4.080952 | 5.3 | 76.23810 | 4.7 | 2010 | 1 |
Campina Grande | 2010-01-10 | 32.1 | 25.60952 | 21.3 | 3.952381 | 6.6 | 75.95238 | 0.2 | 2010 | 1 |
Campina Grande | 2010-01-17 | 31.0 | 24.20952 | 20.5 | 2.860000 | 5.0 | 85.33333 | 69.3 | 2010 | 1 |
Campina Grande | 2010-01-24 | 31.2 | 26.06190 | 21.2 | 3.690476 | 5.5 | 77.80952 | 3.8 | 2010 | 1 |
Campina Grande | 2010-01-31 | 32.1 | 26.02381 | 21.4 | 3.971429 | 6.5 | 76.04762 | 1.2 | 2010 | 1 |
Os dados são de dezembro de 2019 a março de 2021. Observa-se valores faltantes em umidade, vento e nas temperaturas.
Nessa seção, será visto como as características de chuva, temperatura e umidade se relacionam duas a duas. Os dados faltantes foram removidos.
Intuitivamente, sabendo que úmidade tem a ver com a disperssão de gotículas de água no ar, acreditamos que umidade e chuva serão grandezas com alguma correlação positiva. Tanto os gráficos abaixo quanto a correlação de Pearson mostram que essa intuição é verdadeira. Em todas as cidades há um aumento de chuva com o aumento da úmidade, caracterizando uma relação positiva. Mas esses valores de chuva, principalmente para Patos e Campina Grande, acima de 100 mm tem baixa concentração. Em geral, dias não chuvosos parecem comum.
Com o índice r de 0.75, João Pessoal apresenta relação mais forte entre chuva e umidade, mostrando que, as vezes, quando a umidade varia em 10 unidades, a chuva pode variar 100 mm. Patos e Campina Grande não atinge chuvas tão fortes quando a capital. Houve uma semana, na capital, que choveu 400 mm. João Pessoa tem uma taxa de variação de umidade cerca de 25% menor que as outras cidades.
Campina Grande apresenta a segunda maior relação, com r = 0.61. A umidade dela tem valores semelhantes a João Pessoa, no entanto, atinge valores um pouco menores, onde quase não chove. Em Patos, o r é 0.51, mostrando uma relação mais dispersa entre valores de umidade e chuva. Pato é a única cidade que tem chuvas com umidades menores que 50%, também é a única cidade que registra umidades abaixo de 60%, dificilmente chega a 80%.
clima_tudo %>%
filter(!is.na(chuva), !is.na(umidade)) %>%
group_by(cidade) %>%
summarise(pearson = cor(y = chuva, x = umidade, method = "pearson"),
spearman = cor(y = chuva, x = umidade, method = "spearman"),
kendall = cor(y = chuva, x = umidade, method = "kendall"))
clima_tudo %>%
filter(!is.na(chuva), !is.na(umidade)) %>%
ggplot(aes(y = chuva, x = umidade)) +
geom_point(colour = "black", alpha = 0.2) +
#annotate(geom = "text", x = 0.1, y = 1000, label = paste("r = ", round(correlacoes, 2)))
facet_wrap(~ cidade)
Temperatura e umidade também parecem grandezas correlacionadas. No entanto, não se esperaria que essas grandezas se relacionem positivamente afinal, em temperaturas altas, temos alta evaparoção das partículas no ar. Isso é verifico pois, olhando o gráfico, a relação entre temperatura média e umidade, para as três cidades, é linear, negativa e, em geral, está entre média e forte. As maiores correlações acontecem em Campina Grande (r = -0.71) e Patos (r = -0.68). Em João Pessoa (r = - 0.54), a relação é menos forte tendo menor variação de umidade com a temperatura. A maiores umidades são encontradas em temperaturas mais baixas atingidas em cada cidade.
Em João Pessoa, os dados de temperatura tem variação de 5 graus, de 25 a 30. A maior concentração de dados está entre 27.5 e 30 graus, onde estão as menores umidades. Campina Grande tem dados concentrados entre 25 e 27.5; e apresenta dados mais dispersos que João Pessoa.
clima_tudo %>%
filter(!is.na(temp_media), !is.na(umidade)) %>%
group_by(cidade) %>%
summarise(pearson = cor(x = temp_media, y = umidade, method = "pearson"))
clima_tudo %>%
filter(!is.na(temp_media), !is.na(umidade)) %>%
ggplot(aes(x = temp_media, y = umidade)) +
geom_point(colour = "black", alpha = 0.2) +
facet_wrap(~ cidade)
A relação entre temperatura e chuvas é menos intuitiva. Plotando os gráfico percebe-se uma relação não linear principalmente para João Pessoa e Patos. Em Campina Grande, ainda consegue-se visulizar um relação negativa. Para tentar verificar se existe alguma relação, foi calculado os coeficientes de Spearman e Kendall. O cálculo mostrou o maior coeficiente de Spearman está em Campina Grande, com 0.5. A menor relação estã em Patos com 0.25.
Pela indicação negativa das relações, tem se a ideia que as semanas com maiores chuvas acontecerão em temperatura mais baixas. Pela gráficos, nas semanas mais frias, provavelmente teremos chuvas pois vemos valores diferente de zero para os mm de chuva; isso se repete em todas as cidades. Em João Pessoa e Campina Grande, tal comportamento é mais frequente. Tanto que, nessas cidades, o maiores mm de chuva são encontrados em temperaturas mais baixas.
clima_tudo %>%
filter(!is.na(temp_media), !is.na(chuva)) %>%
group_by(cidade) %>%
summarise(spearman = cor(x = temp_media, y = chuva, method = "spearman"),
kendall = cor(x = temp_media, y = chuva, method = "kendall"))
clima_tudo %>%
filter(!is.na(chuva), !is.na(temp_media)) %>%
ggplot(aes(x = temp_media, y = chuva)) +
geom_point(colour = "black", alpha = 0.2) +
geom_text(x=3, y=30, label="Scatter plot") +
facet_wrap(~ cidade)
Foi escolhido Campina Grande e João Pessoa (Patos tem dados faltantes nesse período) para analisar chuvas e temperatura durante de março de 2020 a março de 2021, os útimos 12 meses mais atuais dos dados. Para análise foi plotado a grandezas chuva e temperatura em cada mês para as duas cidades. Facilmente se nota a constância de maiores médias de temperatura em João Pessoa, geralmente entre 26 e 30 graus em meses ante de junho. Nos meses após o meio do ano, as temperaturas abaixam entre 2 e 1 grau. Em Campina Grande, as temperaturas antes junho estao entre 25 e 27 graus. Após, as temperaturas dão um abaixada entre 0 e 4 graus.
As chuvas nessas cidades parecem semelhantes - os gráficos 1, 8, 9, 10, 11, 12 - no meses de outubro a março. Nos demas meses também há semelhança mas João Pessoa chove mais.
clima_tudo %>%
filter(!is.na(chuva), !is.na(temp_media), semana > '2020-03-21', cidade != 'Patos') %>%
ggplot(aes(x = chuva, y = temp_media, color = cidade)) +
facet_wrap(~mes) +
geom_point() +
labs(
y = "Temperaturas médias semanais, em Celsius",
x = "Chuvas"
)
sumarios = clima_tudo %>%
filter(!is.na(temp_media), mes >= 1, mes <= 3, cidade == 'Campina Grande', ano >=2011) %>%
mutate(anos = if_else(ano == 2021, "2021", "outros")) %>%
filter(anos =="outros") %>%
summarise(temp_med_max = max(temp_media),
temp_med_min = min(temp_media),
temp_metade = median(temp_media),
chuva_max = max(chuva),
chuva_mediana = median(chuva),
chuva_min = min(chuva),
.groups = "drop")
sumarios
A temperatura ficou dentro da faixa de valores dos outros anos. Percebe-se no mês de fevereiro uma variação de temperatura maior que os outros meses.
clima_tudo %>%
filter(!is.na(temp_media), mes >= 1, mes <= 3, cidade == 'Campina Grande', ano >=2011) %>%
mutate(anos = if_else(ano == 2021, "2021", "outros")) %>%
ggplot(aes(x = mes, y = temp_media, color = anos)) +
geom_point(alpha = 0.6) +
scale_color_manual(values = c("black", "gray")) +
scale_x_continuous(breaks = 1:3) +
labs(
y = "Temperaturas médias, em Celsius",
x = "Mês"
)