João Pessoa, Campina Grande e Patos são 3 referências para entender o clima na Paraíba. A primeira cidade está no litoral, a segunda próximo ao topo da Serra da Borborema, e a terceira no Sertão.
library(tidyverse)
library(here)
theme_set(theme_grey())
# SEMPRE read_csv NUNCA read.csv
clima_tudo = read_csv(
here("data/tempo-jp-cg-pt.csv"),
col_types = cols(
.default = col_double(),
cidade = col_character(),
semana = col_date(format = ""),
ano = col_integer(),
mes = col_integer()
)
)
clima = clima_tudo %>% filter(ano > 2009, ano < 2020)
Primeiramente, vamos visualizar como as duas variáveis se comportam. Observamos uma relação linear e positiva entre as varíaveis. Visualmente conseguimos perceber uma correlação forte e sem pontos extremos.
clima = clima %>%
mutate(temp_anterior = lag(temp_media, n = 1)) %>%
mutate(chuva_anterior = lag(chuva, n = 1)) %>%
filter(!is.na(temp_media)) %>%
filter(!is.na(temp_anterior)) %>%
filter(!is.na(chuva)) %>%
filter(!is.na(chuva_anterior))
clima %>%
ggplot(aes(x=temp_anterior,y=temp_media)) +
geom_point(alpha=0.4,color='salmon') +
labs(
y="Temperatura média semanal em (Cº)",
x="Temperatura média da semana anterior em (Cº)"
)
Se visualizarmos as cidades separadamente também percebemos o mesmo comportamento:
clima %>%
ggplot(aes(x=temp_anterior,y=temp_media)) +
facet_wrap(~cidade,ncol = 1) +
geom_point(alpha=0.2,size=0.9,color='salmon') +
labs(
y="Temperatura média semanal em (Cº)",
x="Temperatura média da semana anterior em (Cº)"
)
Podemos quantificar essa correlação utilizando o coeficiente de correlação de Pearson.
*Em estatística descritiva, o coeficiente de correlação de Pearson, também chamado de “coeficiente de correlação produto-momento” ou simplesmente de “ρ de Pearson” mede o grau da correlação (e a direcção dessa correlação - se positiva ou negativa) entre duas variáveis de escala métrica (intervalar ou de rácio/razão).
clima %>%
summarise(corr_pearson=cor(temp_anterior,temp_media,method = "pearson"))
## # A tibble: 1 x 1
## corr_pearson
## <dbl>
## 1 0.941
Como resultado, temos uma correlação positiva e forte como observado nos gráficos anteriores.
Primeiramente, vamos visualizar como as duas variáveis se comportam.
clima %>% filter(chuva > 0) %>%
mutate(log_temp_media=log10(temp_media)) %>%
mutate(log_chuva=log10(chuva)) %>%
ggplot(aes(x=temp_media,y=chuva)) +
geom_point(alpha=0.4,color='sandybrown') +
facet_wrap(~cidade,ncol = 1) +
labs(
y="Chuva em (mm)",
x="Temperatura média semanal em (Cº)"
)
Não conseguimos visualizar uma relação clara entre as variáveis. Ao serem colocadas em escala logarítmica percebemos uma leve tendência de correlação bem fraca e negativa em Campina Grande e João Pessoa.
clima %>% filter(chuva > 0) %>%
mutate(log_temp_media=log10(temp_media)) %>%
mutate(log_chuva=log10(chuva)) %>%
ggplot(aes(x=log_temp_media,y=log_chuva))+
geom_point(alpha=0.4,color='sandybrown') +
facet_wrap(~cidade,ncol = 1) +
labs(
y="",
x=""
)
Podemos quantificar essa relação com os coeficientes de Spearman e Kendall. Vemos que existe uma correlação fraca e negativa com maior força em Campina Grande e João Pessoa. Já em Patos essa correlação é bem inespressiva.
clima %>% filter(cidade=="Campina Grande") %>%
filter(chuva > 0) %>%
summarise(corr_spearman=cor(temp_media,chuva,method = "spearman"),
corr_kendall=cor(temp_media,chuva,method = "kendall")
)
## # A tibble: 1 x 2
## corr_spearman corr_kendall
## <dbl> <dbl>
## 1 -0.423 -0.289
clima %>% filter(cidade=="Patos") %>%
filter(chuva > 0) %>%
summarise(corr_spearman=cor(temp_media,chuva,method = "spearman"),
corr_kendall=cor(temp_media,chuva,method = "kendall")
)
## # A tibble: 1 x 2
## corr_spearman corr_kendall
## <dbl> <dbl>
## 1 -0.0784 -0.0562
clima %>% filter(cidade=="João Pessoa") %>%
filter(chuva > 0) %>%
summarise(corr_spearman=cor(temp_media,chuva,method = "spearman"),
corr_kendall=cor(temp_media,chuva,method = "kendall")
)
## # A tibble: 1 x 2
## corr_spearman corr_kendall
## <dbl> <dbl>
## 1 -0.456 -0.308
Como vemos no gráfico abaixo, utilizando uma escala logarítmica, não conseguimos perceber uma correlação diferentemente da relação entre a temperatura média de uma semana e a temperatura média da semana anterior, que nesse caso era linear, forte e positiva.
clima %>%
ggplot(aes(x=log10(chuva_anterior),y=log10(chuva))) +
facet_wrap(~cidade,ncol = 1) +
geom_point(alpha=0.2,size=0.9,color='blue') +
labs(
y="Chuva em (mm)",
x="Chuva na semana anterior (mm)"
)